Un desarrollador ha demostrado que es posible ejecutar algoritmos de grafos a escala de mil millones de aristas en un portátil, apoyándose en Apache DataFusion para delegar en disco la mayor parte del trabajo y basar los algoritmos en lecturas masivas en lugar de accesos aleatorios. DataFusion se encarga del spillover a disco, las uniones sort-merge, las agregaciones y la planificación, lo que permite mantener un código muy ligero.
En las pruebas, realizadas con systemd-run y un límite estricto de memoria, se ejecutaron dos tareas sobre el conjunto Graphalytics. Para PageRank se empleó el grafo graph500-26, con 32,8 millones de nodos y 1.051 millones de aristas, bajo un tope de 5 GB de RAM y un pool de DataFusion de 4 GB. El cálculo se formuló como un Pregel clásico, expresado mediante joins y agregaciones, y los resultados coincidieron al 100 % con la referencia, con una tolerancia de 0,0001, tras unas 15 iteraciones de alrededor de 30 minutos.
Para componentes débilmente conexos se utilizó el grafo dirigido twitter_mpi, con 52,5 millones de nodos y 1.963 millones de aristas, bajo un límite de 10 GB de RAM y un pool de 8 GB. Tras la preparación, el grafo alcanza unos 3.228 millones de aristas; la contracción reduce esa cifra de forma drástica y el algoritmo converge en torno a 10 minutos. La implementación aplica el método de Bögeholz et al. (arXiv 1802.09478). El autor señala problemas pendientes, como interbloqueos en FairSpillPool en escenarios extremos, y posibles optimizaciones futuras, entre ellas fusionar join y agregación.
