https://9lib.net/document/4yr0gp7y-partitioning-models-for-scaling-distributed-graph-computations.html