High-level execution models for multicore architectures

dc.contributor.advisorSarkar, Viveken_US
dc.contributor.committeeMemberCooper, Keith Den_US
dc.contributor.committeeMemberSimar, Rayen_US
dc.creatorSbirlea, Alinaen_US
dc.date.accessioned2016-01-26T21:33:26Zen_US
dc.date.available2016-01-26T21:33:26Zen_US
dc.date.created2015-12en_US
dc.date.issued2015-11-30en_US
dc.date.submittedDecember 2015en_US
dc.date.updated2016-01-26T21:33:26Zen_US
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.en_US
dc.format.mimetypeapplication/pdfen_US
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>.en_US
dc.identifier.urihttps://hdl.handle.net/1911/88142en_US
dc.language.isoengen_US
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.en_US
dc.subjectData-flow execution modelen_US
dc.subjectWork-stealing runtimeen_US
dc.subjectElastic tasksen_US
dc.titleHigh-level execution models for multicore architecturesen_US
dc.typeThesisen_US
dc.type.materialTexten_US
thesis.degree.departmentComputer Scienceen_US
thesis.degree.disciplineEngineeringen_US
thesis.degree.grantorRice Universityen_US
thesis.degree.levelDoctoralen_US
thesis.degree.nameDoctor of Philosophyen_US
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: