Code Generation for Extreme Scale Parallel Systems

dc.contributor.advisorMellor-Crummey, John M
dc.creatorSrinivasa Murthy, Karthik
dc.date.accessioned2017-08-01T17:32:34Z
dc.date.available2017-08-01T17:32:34Z
dc.date.created2017-05
dc.date.issued2017-03-08
dc.date.submittedMay 2017
dc.date.updated2017-08-01T17:32:35Z
dc.description.abstractPower consumption and fabrication limitations are increasingly playing significant roles in the design of extreme scale parallel systems. These factors are influencing system designers to support higher on-node computing capability via throughput-optimized processors instead of latency-optimized processors. However, the inter- and intra-processor communication capabilities on such systems are not increasing at the same rate as the on-node computing capability. Consequently, achieving high performance requires careful orchestration of both single- and multiprocessor parallelism. This thesis shows that compiler technology and expressive programming model constructs can help applications more effectively exploit both forms of parallelism. Compilers play an important role in harnessing short vector parallelism supported by cores in modern processors. Over last ten years, vector widths have increased dramatically from the 64-bit vectors supported by Intel's Pentium MMX processor to the 512-bit vectors supported by Intel's Knights Corner processor. However, the vectorization capabilities of state-of-the-art compilers are still immature, failing in the presence of complex control flow and data dependencies. This thesis presents compiler transformations that enable efficient vector parallelism in the presence of common kinds of complex dependencies. To enable efficient multiprocessor parallelism, this thesis develops compiler technology to support sophisticated algorithms that minimize interprocessor communication. The class of .5D communication-avoiding algorithms was developed to address the inter-processor communication bottleneck. Mapping these algorithms to complex architectures efficiently is tedious for even expert programmers. To address this issue, this thesis presents the Maunam compiler, which generates efficient parallel code from a high-level, global-view sketch of a .5D algorithm that is expressed using symbolic data sizes and numbers of processors. To mitigate the cost of communication for multiprocessor parallelism, this thesis develops a novel compiler transformation to overlap communication with computation for systolic computations. Additionally, to aid effective management of the completion of non-blocking communication, this thesis presents two synchronization constructs, cofence and distributed phasers.
dc.format.mimetypeapplication/pdf
dc.identifier.citationSrinivasa Murthy, Karthik. "Code Generation for Extreme Scale Parallel Systems." (2017) Diss., Rice University. <a href="https://hdl.handle.net/1911/96060">https://hdl.handle.net/1911/96060</a>.
dc.identifier.urihttps://hdl.handle.net/1911/96060
dc.language.isoeng
dc.rightsCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
dc.subject.5D algorithms
dc.subjectcompiler
dc.subjectpolyhedral model
dc.subjectcofence
dc.subjectphasers
dc.subjectmodulo operations
dc.subjectcollectives
dc.subjectcode generation
dc.subjectvectorization
dc.titleCode Generation for Extreme Scale Parallel Systems
dc.typeThesis
dc.type.materialText
thesis.degree.departmentComputer Science
thesis.degree.disciplineEngineering
thesis.degree.grantorRice University
thesis.degree.levelDoctoral
thesis.degree.nameDoctor of Philosophy
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
SRINIVASAMURTHY-DOCUMENT-2017.pdf
Size:
7.36 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 2 of 2
No Thumbnail Available
Name:
PROQUEST_LICENSE.txt
Size:
5.85 KB
Format:
Plain Text
Description:
No Thumbnail Available
Name:
LICENSE.txt
Size:
2.62 KB
Format:
Plain Text
Description: