Graph3S: A Simple, Speedy and Scalable Distributed Graph Processing System
Graph is a ubiquitous structure in many domains. The rapidly increasing data volume calls for efficient and scalable graph data processing. In recent years, designing distributed graph processing systems has been an increasingly important area to fulfil the demands of processing big graphs in a distributed environment. Though a variety of distributed graph processing systems have been developed, very little attention has been paid to achieving a good combinational system performance in terms of usage simplicity, efficiency and scalability. To contribute to the study of distributed graph processing system, this work tries to fill this gap by designing a simple, speedy and scalable system. Our observation is that enforcing the communication flexibility of a system leads to the gains of both system efficiency and scalability as well as simple usage. We realize our idea in a system Graph3S and conduct extensive experiments with diverse algorithms over big graphs from different domains to test its performance. The results show that, besides simple usage, our system has outstanding performance over various graph algorithms and can even reach up to two orders of magnitude speedup over existing in-memory systems when applying to some algorithms. Also, its scalability is competitive to disk-based systems and even better when less machines are used.
READ FULL TEXT