Compiler support for work-stealing parallel runtime systems

dc.contributor.advisorSarkar, Viveken_US
dc.creatorRaman, Raghavanen_US
dc.date.accessioned2018-12-03T18:33:15Zen_US
dc.date.available2018-12-03T18:33:15Zen_US
dc.date.issued2009en_US
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.en_US
dc.format.extent96 ppen_US
dc.identifier.callnoTHESIS COMP.SCI. 2010 RAMANen_US
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>.en_US
dc.identifier.digital750849655en_US
dc.identifier.urihttps://hdl.handle.net/1911/103733en_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.subjectComputer scienceen_US
dc.subjectApplied sciencesen_US
dc.titleCompiler support for work-stealing parallel runtime systemsen_US
dc.typeThesisen_US
dc.type.materialTexten_US
thesis.degree.departmentComputer Scienceen_US
thesis.degree.disciplineEngineeringen_US
thesis.degree.grantorRice Universityen_US
thesis.degree.levelMastersen_US
thesis.degree.nameMaster of Scienceen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
750849655.pdf
Size:
3.7 MB
Format:
Adobe Portable Document Format