{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/23407"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/23407","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Compiler-assisted rollback recovery","abstract":"This thesis examines the feasibility of applying compile-time information to assist in rollback recovery. Depending on the configuration of the original system, one or more of the following three compiler capabilities are applied: (1) code insertion, (2) code analysis, and (3) code transformation.","abstract_html":"This thesis examines the feasibility of applying compile-time information to assist in rollback recovery. Depending on the configuration of the original system, one or more of the following three compiler capabilities are applied: (1) code insertion, (2) code analysis, and (3) code transformation.","abstract_has_math":false,"creators":["Li, Chung-Chi"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Fuchs, W. Kent"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T14:13:05Z","date_published":"2011-05-07T14:13:05Z","updated_at":"2026-07-22T22:25:21Z","subjects":["Computer Science"],"languages":["eng"],"rights":["Copyright 1991 Li, Chung-Chi"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9210890","(UMI)AAI9210890"],"render_values":[{"text":"AAI9210890","href":null,"code":true},{"text":"(UMI)AAI9210890","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/23407","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Fuchs, W. Kent"]},{"key":"dc:creator","label":"Author","values":["Li, Chung-Chi"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T14:13:05Z","10000-01-01","1991"]},{"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"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 1991 Li, Chung-Chi"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9210890","(UMI)AAI9210890","http://hdl.handle.net/2142/23407"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["This thesis examines the feasibility of applying compile-time information to assist in rollback recovery. Depending on the configuration of the original system, one or more of the following three compiler capabilities are applied: (1) code insertion, (2) code analysis, and (3) code transformation.","Chapter 2 describes the compiler-assisted checkpointing approach for systems without built-in fault-tolerance features. The compiler-generated sparse potential checkpoint code is inserted in the program to maintain the desired checkpoint interval. The adaptive checkpointing technique reduces the checkpoint size for programs with large variations in memory usage. To reduce the potential checkpoint time overhead, a training technique is used to select low-cost, high-coverage potential checkpoints. This potential checkpoint selection problem is shown to be NP-complete, and a heuristic algorithm has been developed to obtain a quick suboptimal solution. These techniques have been implemented in a modified version of the GNU C (GCC) compiler.","Chapter 3 describes the concept of scalable checkpoints for hypercube programs and a compiler-assisted approach to maintaining scalable checkpoints during execution and recovery. By means of a pair of information-preserving scaling functions, a program implanted with checkpoint subroutines can achieve not only graceful degradation when one or more processors become faulty, but also gradual enhancement when another adjacent subcube of the same size becomes available. To reduce the programmer's effort, the compiler analyzes the source program to generate candidate scaling functions, which are then approved by the programmer.","Chapter 4 describes the compiler-assisted approach to providing multiple instruction rollback capability for general purpose registers. The objective is achieved by having the compiler remove all forms of N-instruction anti-dependencies. Pseudo register anti-dependencies are removed by loop protection, node splitting, and loop expansion techniques; machine register anti-dependencies are prevented by introducing anti-dependency constraints in the interference graph used by the register allocator. To support separate compilation, inter-procedural anti-dependency constraints are added to the code generator to guarantee the termination of machine register anti-dependencies across procedure boundaries. The algorithms are implemented in the IMPACT C compiler.","Made available in DSpace on 2011-05-07T14:13:05Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9210890.pdf: 3495427 bytes, checksum: 3ea86759c363021d786a4597ed9fd18a (MD5) Previous issue date: 1991","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T15:04:16Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:30:41-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"]},{"key":"dc:title","label":"Title","values":["Compiler-assisted rollback recovery"]}]}],"canonical_facts":{"dc:contributor":["Fuchs, W. Kent"],"dc:creator":["Li, Chung-Chi"],"dc:date":["2011-05-07T14:13:05Z","10000-01-01","1991"],"dc:description":["This thesis examines the feasibility of applying compile-time information to assist in rollback recovery. Depending on the configuration of the original system, one or more of the following three compiler capabilities are applied: (1) code insertion, (2) code analysis, and (3) code transformation.","Chapter 2 describes the compiler-assisted checkpointing approach for systems without built-in fault-tolerance features. The compiler-generated sparse potential checkpoint code is inserted in the program to maintain the desired checkpoint interval. The adaptive checkpointing technique reduces the checkpoint size for programs with large variations in memory usage. To reduce the potential checkpoint time overhead, a training technique is used to select low-cost, high-coverage potential checkpoints. This potential checkpoint selection problem is shown to be NP-complete, and a heuristic algorithm has been developed to obtain a quick suboptimal solution. These techniques have been implemented in a modified version of the GNU C (GCC) compiler.","Chapter 3 describes the concept of scalable checkpoints for hypercube programs and a compiler-assisted approach to maintaining scalable checkpoints during execution and recovery. By means of a pair of information-preserving scaling functions, a program implanted with checkpoint subroutines can achieve not only graceful degradation when one or more processors become faulty, but also gradual enhancement when another adjacent subcube of the same size becomes available. To reduce the programmer's effort, the compiler analyzes the source program to generate candidate scaling functions, which are then approved by the programmer.","Chapter 4 describes the compiler-assisted approach to providing multiple instruction rollback capability for general purpose registers. The objective is achieved by having the compiler remove all forms of N-instruction anti-dependencies. Pseudo register anti-dependencies are removed by loop protection, node splitting, and loop expansion techniques; machine register anti-dependencies are prevented by introducing anti-dependency constraints in the interference graph used by the register allocator. To support separate compilation, inter-procedural anti-dependency constraints are added to the code generator to guarantee the termination of machine register anti-dependencies across procedure boundaries. The algorithms are implemented in the IMPACT C compiler.","Made available in DSpace on 2011-05-07T14:13:05Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9210890.pdf: 3495427 bytes, checksum: 3ea86759c363021d786a4597ed9fd18a (MD5) Previous issue date: 1991","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T15:04:16Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:30:41-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"],"dc:identifier":["AAI9210890","(UMI)AAI9210890","http://hdl.handle.net/2142/23407"],"dc:language":["eng"],"dc:rights":["Copyright 1991 Li, Chung-Chi"],"dc:subject":["Computer Science"],"dc:title":["Compiler-assisted rollback recovery"],"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:25:21Z"}