Compiler support for work-stealing parallel runtime systems

dc.contributor.advisorSarkar, Vivek
dc.creatorRaman, Raghavan
dc.date.accessioned2018-12-03T18:33:15Z
dc.date.available2018-12-03T18:33:15Z
dc.date.issued2009
dc.description.abstractMultiple programming models are emerging to address an increased need for dynamic task parallelism in applications for multicore processors and shared-address-space parallel computing. Examples include OpenMP 3.0, Java Concurrency Utilities, Microsoft Task Parallel Library, Intel Threading Building Blocks, Cilk, X10, Chapel, and Fortress. Scheduling algorithms based on work-stealing, as embodied in Cilk's implementation of dynamic spawn-sync parallelism, are gaining in popularity but also have inherent limitations. In this thesis, we focus on the compiler support needed to extend work-stealing for dynamic async-finish task parallelism as in X10 and HabaneroJava (HJ). We also discuss the compiler support needed for work-stealing with both the work-first and help-first policies. Performance results obtained using our compiler and the HJ work-stealing runtime show significant improvement compared to the earlier work-sharing runtime. We then propose and implement two optimizations that can be performed in the compiler to improve the code generated for work-stealing schedulers. Performance results show that the Frame-Store optimizations provide a significant reduction in the code size and the number of frame-store statements executed dynamically, but these reductions do not result in execution time improvements on current multicore systems. We also show that the Objects-As-Frames optimization yields an improvement in performance for small number of threads. Finally, we propose topics for future work which include extending work-stealing for additional language constructs as well as new optimizations.
dc.format.extent96 pp
dc.identifier.callnoTHESIS COMP.SCI. 2010 RAMAN
dc.identifier.citationRaman, Raghavan. "Compiler support for work-stealing parallel runtime systems." (2009) Master’s Thesis, Rice University. <a href="https://hdl.handle.net/1911/103733">https://hdl.handle.net/1911/103733</a>.
dc.identifier.digital750849655
dc.identifier.urihttps://hdl.handle.net/1911/103733
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.subjectComputer science
dc.subjectApplied sciences
dc.titleCompiler support for work-stealing parallel runtime systems
dc.typeThesis
dc.type.materialText
thesis.degree.departmentComputer Science
thesis.degree.disciplineEngineering
thesis.degree.grantorRice University
thesis.degree.levelMasters
thesis.degree.nameMaster of Science
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
750849655.pdf
Size:
3.7 MB
Format:
Adobe Portable Document Format