High-level execution models for multicore architectures

dc.contributor.advisorSarkar, Vivek
dc.contributor.committeeMemberCooper, Keith D
dc.contributor.committeeMemberSimar, Ray
dc.creatorSbirlea, Alina
dc.date.accessioned2016-01-26T21:33:26Z
dc.date.available2016-01-26T21:33:26Z
dc.date.created2015-12
dc.date.issued2015-11-30
dc.date.submittedDecember 2015
dc.date.updated2016-01-26T21:33:26Z
dc.description.abstractHardware design is evolving towards manycore processors that will be used in large clusters to achieve exascale computing, and at the rack level to achieve petascale computing, however, harnessing the full power of the architecture is a challenge that software must tackle to fully realize extreme-scale computing. This challenge is prompting the exploration of new approaches to programming and execution systems. In this thesis, we argue that a two-level execution model is a relevant answer to the problem of extreme-scale computing. We propose an execution model that decomposes the specification of an application into two parts: defining at a high level what the application does, coupled with a low level implementation of how that's done. In our model, applications are designed as a set of sequential computational units whose connections are defined in a high-level, easy-to-write dataflow graph. The dataflow graph we propose --- DFGR --- specifies what the computation is rather than the implementation details, and is also designed for ease of programmability. Second, we propose the use of work-stealing runtimes for coarse-grained dataflow parallelism and doacross runtimes for fine-grained dataflow parallelism, both of which can be expressed uniformly in DFGR. We justify this approach by demonstrating the performance of DFGR on two different runtime systems: Habanero C with coarse-grained task synchronization, and the new proposed OpenMP 4.2 specification with doacross synchronization. Finally, we introduce a novel primitive for combining SPMD parallelism and task parallelism: the elastic task. Elastic tasks allow for internal SPMD parallelism within a computational unit. We provide a new scheduling algorithm for elastic tasks, prove strong theoretical guarantees in both work-sharing and work-stealing environments for this scheduling algorithm, and demonstrate that it also offers performance benefits in practice due to locality and runtime adaptability.
dc.format.mimetypeapplication/pdf
dc.identifier.citationSbirlea, Alina. "High-level execution models for multicore architectures." (2015) Diss., Rice University. <a href="https://hdl.handle.net/1911/88142">https://hdl.handle.net/1911/88142</a>.
dc.identifier.urihttps://hdl.handle.net/1911/88142
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.subjectData-flow execution model
dc.subjectWork-stealing runtime
dc.subjectElastic tasks
dc.titleHigh-level execution models for multicore architectures
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:
SBIRLEA-DOCUMENT-2015.pdf
Size:
1.5 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 2 of 2
No Thumbnail Available
Name:
PROQUEST_LICENSE.txt
Size:
5.84 KB
Format:
Plain Text
Description:
No Thumbnail Available
Name:
LICENSE.txt
Size:
2.61 KB
Format:
Plain Text
Description: