Show simple item record

dc.contributor.advisorCharles E. Leiserson and Tao B. Schardl.en_US
dc.contributor.authorYin, Grace Q.(Grace Qingyang)en_US
dc.contributor.otherMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.en_US
dc.date.accessioned2020-09-15T22:03:01Z
dc.date.available2020-09-15T22:03:01Z
dc.date.copyright2020en_US
dc.date.issued2020en_US
dc.identifier.urihttps://hdl.handle.net/1721.1/127546
dc.descriptionThesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, May, 2020en_US
dc.descriptionCataloged from the official PDF of thesis.en_US
dc.descriptionIncludes bibliographical references (pages 59-61).en_US
dc.description.abstractWith the end of Moore's law, parallel programming is more important than ever. Significant effort has gone into supporting parallelism in existing serial languages and making parallel programming more accessible. However, adapting useful and expressive features of serial languages to a parallel environment can be challenging. This thesis addresses the challenges of parallelizing one such feature - exception handling. This thesis presents the Cilk exception handling (CilkEH) protocol for handling parallel exceptions in Cilk programs. Because exception handling involves jumping out of the normal control flow of a program, the core challenge of parallel exception handling is properly synchronizing parallel tasks that have thrown. CilkEH is a remarkably simple protocol that takes advantage of the internals of serial C++ exception handling to elegantly synchronize tasks that throw. We integrate CilkEH into OpenCilk, an open-source platform to support Cilk multithreaded programming. Our implementation correctly handles exceptions thrown in parallel without imposing any restrictions on the programmer, and benchmark results show that the overhead of CilkEH for programs that do not throw is minimal. Implementing CilkEH requires an astonishingly small number of lines of code - fewer than 600 lines split between a 4000-line runtime and a 500,000-line compiler.en_US
dc.description.statementofresponsibilityby Grace Q. Yin.en_US
dc.format.extent61 pagesen_US
dc.language.isoengen_US
dc.publisherMassachusetts Institute of Technologyen_US
dc.rightsMIT theses may be protected by copyright. Please reuse MIT thesis content according to the MIT Libraries Permissions Policy, which is available through the URL provided.en_US
dc.rights.urihttp://dspace.mit.edu/handle/1721.1/7582en_US
dc.subjectElectrical Engineering and Computer Science.en_US
dc.titleParallel exception handling in Cilken_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.oclc1193031905en_US
dc.description.collectionM.Eng. Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Scienceen_US
dspace.imported2020-09-15T22:03:00Zen_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