Optimizing parallel graph algorithms by extending the GraphIt DSL
Author(s)
Manlaibaatar, Tugsbayasgalan.
Download1227276423-MIT.pdf (3.211Mb)
Other Contributors
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
Advisor
Saman Amarasinghe.
Terms of use
Metadata
Show full item recordAbstract
High-performance graph processing is often very challenging because real life graphs vastly differ from each other in their sizes and structures. Therefore, we need to use many different graph specific performance optimizations and a programming system that allows domain experts to easily write high-performance graph applications. GraphIt, a domain-specific language, is one such programming system that achieves high-performance across different algorithms, graphs, and architectures, while offering an easy-to-use high-level programming model. GraphIt decouples algorithms from performance optimizations (schedules) for graph applications to make it easy to explore a large space of optimizations. Yet, there are still many graph applications that GraphIt currently doesn't support. In this thesis, we present a number of new additions to GraphIt to extend its' current use cases. Namely, we introduce a new operator called intersection that is widely used in Triangular Counting algorithm. We also introduce functor and par_for to improve current Multiple Starting Point applications by adding nested parallelization. Using the new features, we are able to get up to 16x speedup over the GraphIt implementation without the added features on road graphs that don't benefit from single level parallelization.
Description
Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, September, 2020 Cataloged from student-submitted PDF of thesis. Includes bibliographical references (pages 73-75).
Date issued
2020Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
Massachusetts Institute of Technology
Keywords
Electrical Engineering and Computer Science.