Show simple item record

dc.contributor.advisorTao B. Schardl.en_US
dc.contributor.authorPitimanaaree, Nipun.en_US
dc.contributor.otherMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.en_US
dc.date.accessioned2019-11-22T00:03:33Z
dc.date.available2019-11-22T00:03:33Z
dc.date.copyright2019en_US
dc.date.issued2019en_US
dc.identifier.urihttps://hdl.handle.net/1721.1/123035
dc.descriptionThis electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.en_US
dc.descriptionThesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2019en_US
dc.descriptionCataloged from student-submitted PDF version of thesis.en_US
dc.descriptionIncludes bibliographical references (pages 67-68).en_US
dc.description.abstractIn parallel computing, do-all parallel loops are often a target for optimizations as loop iterations can be executed independently in any order and thus contribute to high parallelism. Techniques such as divide-and-conquer and lazy binary splitting have proven to be efficient in theory and/or in practice. However, these approaches can potentially be improved in terms of lower number of unnecessary splits and better cache efficiency. In this thesis, I introduce the design of first-class LoopFrame for parallel loops, which follows dynamic splitting protocol and is efficient in terms of cache-locality and execution time in randomized work stealing. In particular, two versions of LoopFrames are presented: 1-D LoopFrame and an extension to multi-dimensional (M-D) LoopFrame, for non-nested and nested parallel loops, respectively. This paper mainly contributes the theoretical analysis on execution time of randomized work stealing with both versions of LoopFrames. The execution time is asymptotically preserved and remained efficient, i.e., randomized work stealing with LoopFrames has an expected runtime of 0(T1/p+T[infinity], where T1 is the work (total computation) and T[infinity] is the span (length of longest dependency path). On the implementation side, M-D LoopFrame is benchmarked against nested forloops and divide-and-conquer methods on a matrix multiplication computation on a single processor. M-D LoopFrame proves to have efficient D1 cache misses, approximately the same as the divide-and-conquer method and 10x to 100x more efficient than for-loops. Execution time-wise, on multiplication of size 4001 square matrices, M-D LoopFrame runs approximately 50% faster than both nested for-loops and divide-and-conquer at grainsize 32.en_US
dc.description.statementofresponsibilityby Nipun Pitimanaaree.en_US
dc.format.extent68 pagesen_US
dc.language.isoengen_US
dc.publisherMassachusetts Institute of Technologyen_US
dc.rightsMIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission.en_US
dc.rights.urihttp://dspace.mit.edu/handle/1721.1/7582en_US
dc.subjectElectrical Engineering and Computer Science.en_US
dc.titleProvably efficient randomized work stealing with first-class parallel loopsen_US
dc.typeThesisen_US
dc.description.degreeM. Eng.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.identifier.oclc1127650653en_US
dc.description.collectionM.Eng. Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Scienceen_US
dspace.imported2019-11-22T00:03:33Zen_US
mit.thesis.degreeMasteren_US
mit.thesis.departmentEECSen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record