ACM SIGOPS Operating Systems Review · 2011 · 25 citations · 25 references
ComputingComputer EngineeringComputer ScienceDistributed SystemsParallel AlgorithmsParallel ComputingDistributed AlgorithmsDistributed ComputingDistributed SynchronizationGraph AlgorithmsParallel Algorithm DesignSynchronization PrimitivesDistributed Graph ProcessingGraph-based Parallel ProgrammingMemory UtilizationParallel Graph AlgorithmsPortability
Distributed processing of real-world graphs is challenging due to their size and the inherent irregular structure of graph computations. We present HipG, a distributed framework that facilitates programming parallel graph algorithms by composing the parallel application automatically from the user-defined pieces of sequential work on graph nodes. To make the user code high-level, the framework provides a unified interface to executing methods on local and non-local graph nodes and an abstraction of exclusive execution. The graph computations are managed by logical objects called synchronizers, which we used, for example, to implement distributed divide-and-conquer decomposition into strongly connected components. The code written in HipG is independent of a particular graph representation, to the point that the graph can be created on-the-fly, i.e. by the algorithm that computes on this graph, which we used to implement a distributed model checker. HipG programs are in general short and elegant; they achieve good portability, memory utilization, and performance.
25
E. M. Clarke, Orna Grümberg, D. Long · 1996 · 6.9K citations
A bridging model for parallel computation
Leslie G. Valiant · Communications of the ACM · 1990 · 3.7K citations · Full text
Grzegorz Malewicz, Matthew H. Austern, Aart J. C. Bik et al. · 2010 · 3.5K citations
Philippe Charles, Christian Grothoff, Vijay Saraswat et al. · 2005 · 1.3K citations
Resource description framework
K. Selçuk Candan, Huan Liu, Reshma Suvarna · ACM SIGKDD Explorations Newsletter · 2001 · 1.1K citations