  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.
