Exploring the Bulk Synchronous Parallel model

How can we efficiently run a graph algorithm against a massive graph? To be able to answer this question, we need to clarify what we mean by the word massive. Is a graph with 1 million nodes considered to be massive? How about 10 million, 100 million, or even 1 billion nodes? The real question we should be asking ourselves is whether the graph can actually fit in memory. If the answer is yes, then we can simply buy (or rent from a cloud provider) a server with a beefy CPU, max out the amount of installed memory, and execute our graph-processing code on a single node.

On the other hand, things get much more interesting when the answer to the preceding question is no... Congratulations; you can ...

Get Hands-On Software Engineering with Golang now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.