Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2517349.2522739acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
research-article
Open access

A lightweight infrastructure for graph analytics

Published: 03 November 2013 Publication History

Abstract

Several domain-specific languages (DSLs) for parallel graph analytics have been proposed recently. In this paper, we argue that existing DSLs can be implemented on top of a general-purpose infrastructure that (i) supports very fine-grain tasks, (ii) implements autonomous, speculative execution of these tasks, and (iii) allows application-specific control of task scheduling policies. To support this claim, we describe such an implementation called the Galois system.
We demonstrate the capabilities of this infrastructure in three ways. First, we implement more sophisticated algorithms for some of the graph analytics problems tackled by previous DSLs and show that end-to-end performance can be improved by orders of magnitude even on power-law graphs, thanks to the better algorithms facilitated by a more general programming model. Second, we show that, even when an algorithm can be expressed in existing DSLs, the implementation of that algorithm in the more general system can be orders of magnitude faster when the input graphs are road networks and similar graphs with high diameter, thanks to more sophisticated scheduling. Third, we implement the APIs of three existing graph DSLs on top of the common infrastructure in a few hundred lines of code and show that even for power-law graphs, the performance of the resulting implementations often exceeds that of the original DSL systems, thanks to the lightweight infrastructure.

Supplementary Material

MP4 File (d3-06-donald-nguyen.mp4)

References

[1]
E. D. Berger, K. S. McKinley, R. D. Blumofe, and P. R. Wilson. Hoard: a scalable memory allocator for multithreaded applications. SIGPLAN Not., 35(11):117--128, Nov. 2000.
[2]
D. P. Bertsekas, F. Guerriero, and R. Musmanno. Parallel asynchronous label-correcting methods for shortest paths. J. Optim. Theory Appl., 88(2):297--320, Feb. 1996.
[3]
D. P. Bertsekas and J. N. Tsitsiklis. Parallel and distributed computation: numerical methods. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1989.
[4]
U. Brandes. A faster algorithm for betweenness centrality. J. Mathematical Sociology, 25(2):163--177, 2001.
[5]
N. G. Bronson, J. Casper, H. Chafi, and K. Olukotun. A practical concurrent binary search tree. In Proc. ACM SIGPLAN Symp. Principles And Practice of Parallel Programming, PPoPP '10, pages 257--268, 2010.
[6]
M. Cha, H. Haddadi, F. Benevenuto, and K. P. Gummadi. Measuring user influence in Twitter: The million follower fallacy. In Proc. Intl AAAI Conf. Weblogs and Social Media, ICWSM '10, 2010.
[7]
K. M. Chandy and J. Misra. The drinking philosophers problem. ACM Trans. Program. Lang. Syst., 6(4):632--646, Oct. 1984.
[8]
B. Chazelle. The soft heap: an approximate priority queue with optimal error rate. J. ACM, 47(6):1012--1027, Nov. 2000.
[9]
A. T. Clements, M. F. Kaashoek, and N. Zeldovich. Scalable address spaces using RCU balanced trees. In Proc. Intl Conf. Architectural Support for Programming Languages and Operating Systems, ASPLOS '12, pages 199--210, 2012.
[10]
T. Cormen, C. Leiserson, R. Rivest, and C. Stein, editors. Introduction to Algorithms. MIT Press, 2001.
[11]
J. E. Gonzalez, Y. Low, H. Gu, D. Bickson, and C. Guestrin. PowerGraph: distributed graph-parallel computation on natural graphs. In Proc. USENIX Conf. Operating Systems Design and Implementation, OSDI '12, pages 17--30, 2012.
[12]
S. Hong, H. Chafi, E. Sedlar, and K. Olukotun. Green-Marl: a DSL for easy and efficient graph analysis. In Proc. Intl Conf. Architectural Support for Programming Languages and Operating Systems, ASPLOS '12, pages 349--362, 2012.
[13]
G. C. Hunt, M. M. Michael, S. Parthasarathy, and M. L. Scott. An efficient algorithm for concurrent priority queue heaps. Inf. Process. Lett., 60:151--157, November 1996.
[14]
J. JaJa. An Introduction to Parallel Algorithms. Addison-Wesley, 1992.
[15]
M. Kulkarni, K. Pingali, B. Walter, G. Ramanarayanan, K. Bala, and L. P. Chew. Optimistic parallelism requires abstractions. In Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, PLDI '07, pages 211--222, 2007.
[16]
H. Kwak, C. Lee, H. Park, and S. Moon. What is Twitter, a social network or a news media? In Proc. Intl Conf. World Wide Web, WWW '10, pages 591--600, 2010.
[17]
A. Kyrola, G. Blelloch, and C. Guestrin. GraphChi: large-scale graph computation on just a PC. In Proc. USENIX Conf. Operating Systems Design and Implementation, OSDI '12, pages 31--46, 2012.
[18]
Y. Low, J. Gonzalez, A. Kyrola, D. Bickson, C. Guestrin, and J. M. Hellerstein. GraphLab: A new parallel framework for machine learning. In Proc. Conf. Uncertainty in Artificial Intelligence, UAI '10, July 2010.
[19]
G. Malewicz, M. H. Austern, A. J. Bik, J. C. Dehnert, I. Horn, N. Leiser, and G. Czajkowski. Pregel: a system for large-scale graph processing. In Proc. ACM SIGMOD Intl Conf. on Management of Data, SIGMOD '10, pages 135--146, 2010.
[20]
J. M. Mellor-Crummey and M. L. Scott. Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst., 9(1):21--65, Feb. 1991.
[21]
U. Meyer and P. Sanders. Delta-stepping: A parallel single source shortest path algorithm. In Proc. European Symposium on Algorithms, ESA '98, pages 393--404, 1998.
[22]
M. M. Michael. Scalable lock-free dynamic memory allocation. In Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, PLDI '04, pages 35--46, 2004.
[23]
D. Nguyen and K. Pingali. Synthesizing concurrent schedulers for irregular algorithms. In Proc. Intl Conf. Architectural Support for Programming Languages and Operating Systems, ASPLOS '11, pages 333--344, 2011.
[24]
M. Papaefthymiou and J. Rodrigue. Implementing parallel shortest-paths algorithms. In DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pages 59--68, 1994.
[25]
R. Pearce, M. Gokhale, and N. M. Amato. Multithreaded asynchronous graph traversal for in-memory and semi-external memory. In Proc. ACM/IEEE Intl Conf. High Performance Computing, Networking, Storage and Analysis, SC '10, pages 1--11, 2010.
[26]
K. Pingali, D. Nguyen, M. Kulkarni, M. Burtscher, M. A. Hassaan, R. Kaleem, T.-H. Lee, A. Lenharth, R. Manevich, M. Méndez-Lojo, D. Prountzos, and X. Sui. The tao of parallelism in algorithms. In Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation, PLDI '11, pages 12--25, 2011.
[27]
A. Rogers and K. Pingali. Process decomposition through locality of reference. In Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation, PLDI '89, pages 69--80, 1989.
[28]
S. Schneider, C. D. Antonopoulos, and D. S. Nikolopoulos. Scalable locality-conscious multi-threaded memory allocation. In Proc. Intl Symp. Memory Management, ISMM '06, pages 84--94, 2006.
[29]
N. Shavit and I. Lotan. Skiplist-based concurrent priority queues. In Proc. Intl Parallel and Distributed Processing Symp./Intl Parallel Processing Symp., IPDPS '00, pages 263--268, 2000.
[30]
N. Shavit and A. Zemach. Scalable concurrent priority queue algorithms. In Proc. ACM Symp. Principles of Distributed Computing, PODC '99, pages 113--122, 1999.
[31]
J. Shun and G. E. Blelloch. Ligra: a lightweight graph processing framework for shared memory. In Proc. ACM SIGPLAN Symp. Principles and Practice of Parallel Programming, PPoPP '13, pages 135--146, 2013.
[32]
H. Sundell and P. Tsigas. Fast and lock-free concurrent priority queues for multi-thread systems. J. Parallel Distrib. Comput., 65:609--627, May 2005.
[33]
L. G. Valiant. A bridging model for parallel computation. Commun. ACM, 33(8):103--111, 1990.
[34]
R. M. Yoo, A. Romano, and C. Kozyrakis. Phoenix rebirth: Scalable MapReduce on a large-scale shared-memory system. In Proc. IEEE Intl Symp. Workload Characterization, IISWC '09, pages 198--207, 2009.

Cited By

View all
  • (2024)SeraphProceedings of the 22nd USENIX Conference on File and Storage Technologies10.5555/3650697.3650719(373-387)Online publication date: 27-Feb-2024
  • (2024)PrismX: A Single-Machine System for Querying Big GraphsProceedings of the VLDB Endowment10.14778/3685800.368590617:12(4485-4488)Online publication date: 8-Nov-2024
  • (2024)CGgraph: An Ultra-Fast Graph Processing System on Modern Commodity CPU-GPU Co-processorProceedings of the VLDB Endowment10.14778/3648160.364817917:6(1405-1417)Online publication date: 3-May-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SOSP '13: Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
November 2013
498 pages
ISBN:9781450323888
DOI:10.1145/2517349
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 November 2013

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

SOSP '13
Sponsor:

Acceptance Rates

Overall Acceptance Rate 174 of 961 submissions, 18%

Upcoming Conference

SOSP '25
ACM SIGOPS 31st Symposium on Operating Systems Principles
October 13 - 16, 2025
Seoul , Republic of Korea

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)491
  • Downloads (Last 6 weeks)61
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)SeraphProceedings of the 22nd USENIX Conference on File and Storage Technologies10.5555/3650697.3650719(373-387)Online publication date: 27-Feb-2024
  • (2024)PrismX: A Single-Machine System for Querying Big GraphsProceedings of the VLDB Endowment10.14778/3685800.368590617:12(4485-4488)Online publication date: 8-Nov-2024
  • (2024)CGgraph: An Ultra-Fast Graph Processing System on Modern Commodity CPU-GPU Co-processorProceedings of the VLDB Endowment10.14778/3648160.364817917:6(1405-1417)Online publication date: 3-May-2024
  • (2024)RAGraph: A Region-Aware Framework for Geo-Distributed Graph ProcessingProceedings of the VLDB Endowment10.14778/3632093.363209417:3(264-277)Online publication date: 20-Jan-2024
  • (2024)Hypergraph-based locality-enhancing methods for graph operations in Big Data applicationsInternational Journal of High Performance Computing Applications10.1177/1094342023121453238:3(210-224)Online publication date: 1-May-2024
  • (2024)IncBoost: Scaling Incremental Graph Processing for Edge Deletions and Weight UpdatesProceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698524(915-932)Online publication date: 20-Nov-2024
  • (2024)Trimma: Trimming Metadata Storage and Latency for Hybrid Memory SystemsProceedings of the 2024 International Conference on Parallel Architectures and Compilation Techniques10.1145/3656019.3689612(108-120)Online publication date: 14-Oct-2024
  • (2024)TLPGNN: A Lightweight Two-level Parallelism Paradigm for Graph Neural Network Computation on Single and Multiple GPUsACM Transactions on Parallel Computing10.1145/364471211:2(1-28)Online publication date: 8-Jun-2024
  • (2024)Starling: An I/O-Efficient Disk-Resident Graph Index Framework for High-Dimensional Vector Similarity Search on Data SegmentProceedings of the ACM on Management of Data10.1145/36392692:1(1-27)Online publication date: 26-Mar-2024
  • (2024)LSGraph: A Locality-centric High-performance Streaming Graph EngineProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3650076(33-49)Online publication date: 22-Apr-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media