Return
Abstract
En 中文
In this paper, we propose a new parallelism model denoted as
MPI
*
X
and suggest a linear algebra-based graph analytics system, namely, Graphite, which effectively employs it. MPI * X promotes
thread-based partitioning
to distribute computation and communication across threads on a cluster of machines, while eliminating the need for unnecessary thread synchronizations. Consequently, it contrasts with the traditional
MPI + X parallelism model
, which utilizes
process-based partitioning
to distribute data among processes as a way to
scale out
on a cluster of machines (the MPI part), then splits each partition into subpartitions among the threads of each process as a method to
scale up
within a machine (the X part). Besides adopting MPI * X, Graphite is NUMA-aware. In particular, it assigns threads to partitions in a way that exploits CPU and memory affinity, alongside leveraging faster MPI shared memory transport. Moreover, it adopts a variant of the popular GAS (Gather, Apply, and Scatter) computing model, thus decoupling the computation of partitions from the communication of partial results. Lastly, it supports thread-level asynchrony, which does not only overlap the computation with communication, but further interleaves multiple communications. We compared Graphite against GraphPad, Gemini, and LA3 graph analytics systems in an HPC environment using different graph applications. Results show that Graphite is roughly up to 3X faster than these state-of-the-art systems.
Journal
No journal information available
Organization
No organization information available
Cited Papers
No cited papers available

