Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Libraries
  3. MIT Theses
  4. Graduate Theses
  5. Cache and NUMA optimizations in a domain-specific language for graph processing

Cache and NUMA optimizations in a domain-specific language for graph processing

Thumbnail Image
Download
Name

1080643331-MIT.pdf

Description
Full printable version
Size

1.01 MB

Format

Adobe PDF

Checksum (MD5)

144177c8afc326998e49c34c1b5b61e1

Author(s)
Yang, Mengjiao
Advisor(s)
Julian Shun.
Alternative Title
Cache and non-uniform memory access optimizations in a domain-specific language for graph processing
Date Issued
2018
Publisher
Massachusetts Institute of Technology
Abstract
High-performance graph processing is challenging because the sizes and structures of real-world graphs can vary widely. Graph algorithms also have distinct performance characteristics that lead to different performance bottlenecks. Even though memory technologies such as CPU cache and non-uniform memory access (NUMA) have been designed to improve software performance, the existing graph processing frameworks either do not take advantage of these hardware features or over-complicate the original graph algorithms. In addition, these frameworks do not provide an interface for easily composing and fine-tuning performance optimizations from various levels of the software stack. As a result, they achieve suboptimal performance. The work described in this thesis builds on recent research in developing a domain-specific language (DSL) for graph processing. GraphIt is a DSL designed to provide a comprehensive set of performance optimizations and an interface to combine the best optimization schedules. This work extends the GraphIt DSL to support locality optimizations on modern multisocket multicore machines, while preserving the simplicity of graph algorithms. To our knowledge, this is the first work to support cache and NUMA optimizations in a graph DSL. We show that cache and NUMA optimizations together are able to improve the performance of GraphIt by up to a factor of 3. Combined with all of the optimizations in GraphIt, our performance is up to 4.8x faster than the next fastest existing framework. In addition, algorithms implemented in GraphIt use fewer lines of code than existing frameworks. The work in this thesis supports the design choice of a compiler approach to constructing graph processing systems. The high performance and simplicity of GraphIt justify the separation of concerns (modularity) design principle in computer science, and contribute to the larger effort of agile software systems development.
Description
Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2018.
This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.
Cataloged from student-submitted PDF version of thesis.
Includes bibliographical references (pages 63-67).
Subjects
Electrical Engineering and Computer Science.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission.
http://dspace.mit.edu/handle/1721.1/7582
Persistent DSpace Link
http://hdl.handle.net/1721.1/119915
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.