{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/81669"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/81669","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Thread Escape Analysis for a Memory Consistency -Aware Compiler","abstract":"The widespread popularity of languages allowing explicitly parallel, multi-threaded programming, e.g. Java and C#, have focused attention on the issue of memory model design. The Pensieve Project is building a compiler that will enable both language designers to prototype different memory models; and optimizing compilers to adapt to different memory models. Among the key analyses required to implement this system are thread escape analysis, i.e. detecting when a referenced object is accessible by more than one thread, synchronization analysis, and delay set analysis. This thesis describes the overall Pensieve compiler and presents in detail its thread escape analysis as well as experimental results showing the effectiveness of the compiler when the target code is following the sequentially consistent memory model. On both single-threaded and multi-threaded programs the performance is up to 100% of the performance of the same programs executing under a relaxed memory model.","abstract_html":"The widespread popularity of languages allowing explicitly parallel, multi-threaded programming, e.g. Java and C#, have focused attention on the issue of memory model design. The Pensieve Project is building a compiler that will enable both language designers to prototype different memory models; and optimizing compilers to adapt to different memory models. Among the key analyses required to implement this system are thread escape analysis, i.e. detecting when a referenced object is accessible by more than one thread, synchronization analysis, and delay set analysis. This thesis describes the overall Pensieve compiler and presents in detail its thread escape analysis as well as experimental results showing the effectiveness of the compiler when the target code is following the sequentially consistent memory model. On both single-threaded and multi-threaded programs the performance is up to 100% of the performance of the same programs executing under a relaxed memory model.","abstract_has_math":false,"creators":["Wong, Chi-Leung"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["David Padua"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2015,"date_issued":"2015-09-25T20:19:56Z","date_published":"2015-09-25T20:19:56Z","updated_at":"2026-07-22T22:26:16Z","subjects":["Computer Science"],"languages":["eng"],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["(MiAaPQ)AAI3182423"],"render_values":[{"text":"(MiAaPQ)AAI3182423","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/81669","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["David Padua"]},{"key":"dc:creator","label":"Author","values":["Wong, Chi-Leung"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2015-09-25T20:19:56Z","10000-01-01","2005"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/81669","(MiAaPQ)AAI3182423"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["The widespread popularity of languages allowing explicitly parallel, multi-threaded programming, e.g. Java and C#, have focused attention on the issue of memory model design. The Pensieve Project is building a compiler that will enable both language designers to prototype different memory models; and optimizing compilers to adapt to different memory models. Among the key analyses required to implement this system are thread escape analysis, i.e. detecting when a referenced object is accessible by more than one thread, synchronization analysis, and delay set analysis. This thesis describes the overall Pensieve compiler and presents in detail its thread escape analysis as well as experimental results showing the effectiveness of the compiler when the target code is following the sequentially consistent memory model. On both single-threaded and multi-threaded programs the performance is up to 100% of the performance of the same programs executing under a relaxed memory model.","Made available in DSpace on 2015-09-25T20:19:56Z (GMT). No. of bitstreams: 2 license.txt: 4848 bytes, checksum: 96035ab3f5e1c23cc7138a224ce498bd (MD5) 3182423.pdf: 4564800 bytes, checksum: 4ca7d16cd1ed9d6eea4f718a9dbc9c29 (MD5) Previous issue date: 2005","Embargo set by: Seth Robbins for item 82950 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","U of I Only","164 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2005."]},{"key":"dc:title","label":"Title","values":["Thread Escape Analysis for a Memory Consistency -Aware Compiler"]}]}],"canonical_facts":{"dc:contributor":["David Padua"],"dc:creator":["Wong, Chi-Leung"],"dc:date":["2015-09-25T20:19:56Z","10000-01-01","2005"],"dc:description":["The widespread popularity of languages allowing explicitly parallel, multi-threaded programming, e.g. Java and C#, have focused attention on the issue of memory model design. The Pensieve Project is building a compiler that will enable both language designers to prototype different memory models; and optimizing compilers to adapt to different memory models. Among the key analyses required to implement this system are thread escape analysis, i.e. detecting when a referenced object is accessible by more than one thread, synchronization analysis, and delay set analysis. This thesis describes the overall Pensieve compiler and presents in detail its thread escape analysis as well as experimental results showing the effectiveness of the compiler when the target code is following the sequentially consistent memory model. On both single-threaded and multi-threaded programs the performance is up to 100% of the performance of the same programs executing under a relaxed memory model.","Made available in DSpace on 2015-09-25T20:19:56Z (GMT). No. of bitstreams: 2 license.txt: 4848 bytes, checksum: 96035ab3f5e1c23cc7138a224ce498bd (MD5) 3182423.pdf: 4564800 bytes, checksum: 4ca7d16cd1ed9d6eea4f718a9dbc9c29 (MD5) Previous issue date: 2005","Embargo set by: Seth Robbins for item 82950 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","U of I Only","164 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2005."],"dc:identifier":["http://hdl.handle.net/2142/81669","(MiAaPQ)AAI3182423"],"dc:language":["eng"],"dc:subject":["Computer Science"],"dc:title":["Thread Escape Analysis for a Memory Consistency -Aware Compiler"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:26:16Z"}