Really cool visualization, amazing how it resembles a neural network.
Algorithms on billion-scale graph using 10GB RAM: I love DataFusion
11–20 of 42 posts
Re: Algorithms on billion-scale graph using 10GB RAM: I love DataFusion
#12> "I can compute PageRank on a directed graph with one billion edges (graph500-26 from the Graphalytics dataset) using 5 GB of memory. Alternatively, I can identify all the weakly connected components in a graph with two billion edges (twitter_mpi from the same dataset collection) using 10 GB of memory. Neither NetworkX nor Igraph can do this; most existing graph algorithms require the graph to fit into memory. Previ…
Re: Algorithms on billion-scale graph using 10GB RAM: I love DataFusion
#13The cool in the original post was directly inspired by our work here, with our advocacy to the author of keeping their previous Spark work for initial data lake data extraction, and the actual graph work to be redone in our columnar in-memory optimized style for magnitudes of speedup , cost savings
Pip install, benchmarks : https://pygraphistry.readthedocs.io/en/latest/gfql/benchmark...
Re: Algorithms on billion-scale graph using 10GB RAM: I love DataFusion
#14Re: Algorithms on billion-scale graph using 10GB RAM: I love DataFusion
#15https://github.com/Ladybug-Memory/icebug
Out of core with datafusion is the main innovation here in graphframes-rs. But it has only 2 algorithms so far.
Icebug and LadybugDB can be tightly integrated to efficiently move tables encoded as compressed sparse row (CSR) into arrow memory.
Jupyter notebooks available.
Re: Algorithms on billion-scale graph using 10GB RAM: I love DataFusion
#16Who cares how big the graph is in CSV? That's not the representation you operate over in big data.
All of this would have easily fit in memory on any reasonable modern system.
Re: Algorithms on billion-scale graph using 10GB RAM: I love DataFusion
#17The idea of graph algorithms on Apache arrow at scale originated here. 100+ graph algorithms running on columnar memory. https://github.com/Ladybug-Memory/icebug Out of core with datafusion is the main innovation here in graphframes-rs. But it has only 2 algorithms so far. Icebug and LadybugDB can be tightly integrated to efficiently move tables encoded as compressed sparse row (CSR) into arrow memory. Jupyter notebo…
Trade-off: datafusion allows you to do fine grained storage integration (spill to disk as a part of the algorithm).
The icebug/ladybug way is coarse grained. But it allows you to run cypher instead of writing datafusion operators.
Re: Algorithms on billion-scale graph using 10GB RAM: I love DataFusion
#18It's hard to take the article seriously when it has quotes like this: "The hardest part. 2B edges twitter graph is already huge (its edges are 30 GB in CSV !!!)." Who cares how big the graph is in CSV? That's not the representation you operate over in big data. All of this would have easily fit in memory on any reasonable modern system.
Re: Algorithms on billion-scale graph using 10GB RAM: I love DataFusion
#19cool! you might be interested in graphchi (2012), also designed to do large scale graph operations on a single machine https://github.com/GraphChi/graphchi-cpp#performance
I forked networkit for exactly this reason. Columnar memory is much more efficient.