{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/105096"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/105096","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Reducing memory persistency overheads with transparent out-of-place updates","abstract":"Recent advances in memory technology have led to the creation of high-performance, non-volatile alternatives to traditional DRAM, known as non-volatile memory (NVM). While this technology has provided immense opportunities to system designers, it has also presented new challenges since applications running on NVM systems require data persistence guarantees with respect to system crashes. To address this problem, many crash-consistency techniques, including logging and shadow paging, have been proposed. However, existing solutions can suffer from significant overheads on the critical path of execution or introduce extra write traffic to NVM, or even both. For instance, logging approaches introduce double writes for data and logs in the critical path of program execution, while shadow paging incurs significant write amplification and cache flushes to ensure durability. To provide persistence guarantees, this work proposes a transparent and efficient out-of-place update mechanism which provides atomic data durability without incurring a substantial number of additional writes or performance overheads. The key idea of the proposed approach is to write the updated data to a new location in NVM while keeping the old data unmodified until after the updated version becomes durable. To support out-of-place updates in NVM, this work introduces a lightweight and transparent persistence indirection layer, called PIL, along with minor changes to existing processor architectures which together enable efficient transaction execution in hardware. Experimental results with a variety of data structures and data-intensive applications show that PIL achieves low critical-path latency with small write amplification, which is close to that of a native system without persistence support. Compared with the state-of-the-art crash-consistency techniques, it improves application performance by up to 1.8× while reducing write amplification by up to 85.3%. PIL also demonstrates scalable data recovery capability on multi-core systems.","abstract_html":"Recent advances in memory technology have led to the creation of high-performance, non-volatile alternatives to traditional DRAM, known as non-volatile memory (NVM). While this technology has provided immense opportunities to system designers, it has also presented new challenges since applications running on NVM systems require data persistence guarantees with respect to system crashes. To address this problem, many crash-consistency techniques, including logging and shadow paging, have been proposed. However, existing solutions can suffer from significant overheads on the critical path of execution or introduce extra write traffic to NVM, or even both. For instance, logging approaches introduce double writes for data and logs in the critical path of program execution, while shadow paging incurs significant write amplification and cache flushes to ensure durability. To provide persistence guarantees, this work proposes a transparent and efficient out-of-place update mechanism which provides atomic data durability without incurring a substantial number of additional writes or performance overheads. The key idea of the proposed approach is to write the updated data to a new location in NVM while keeping the old data unmodified until after the updated version becomes durable. To support out-of-place updates in NVM, this work introduces a lightweight and transparent persistence indirection layer, called PIL, along with minor changes to existing processor architectures which together enable efficient transaction execution in hardware. Experimental results with a variety of data structures and data-intensive applications show that PIL achieves low critical-path latency with small write amplification, which is close to that of a native system without persistence support. Compared with the state-of-the-art crash-consistency techniques, it improves application performance by up to 1.8× while reducing write amplification by up to 85.3%. PIL also demonstrates scalable data recovery capability on multi-core systems.","abstract_has_math":false,"creators":["Coats, Chance Christopher"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Electrical & Computer Engr","degree_department":null,"school":null,"contributors":["Huang, Jian"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2019,"date_issued":"2019-08-23T20:36:11Z","date_published":"2019-08-23T20:36:11Z","updated_at":"2026-07-22T22:24:44Z","subjects":["Non-volatile Memory","NVM","Persistence","Memory Persistence","Crash-consistency"],"languages":["en"],"rights":["Copyright 2019 Chance Christopher Coats"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/105096","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Huang, Jian"]},{"key":"dc:creator","label":"Author","values":["Coats, Chance Christopher"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2019-08-23T20:36:11Z","2021-08-24T09:15:24Z","2019-04-25","2019-05"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Electrical & Computer Engr"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"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":["Non-volatile Memory","NVM","Persistence","Memory Persistence","Crash-consistency"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2019 Chance Christopher Coats"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/105096"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Recent advances in memory technology have led to the creation of high-performance, non-volatile alternatives to traditional DRAM, known as non-volatile memory (NVM). While this technology has provided immense opportunities to system designers, it has also presented new challenges since applications running on NVM systems require data persistence guarantees with respect to system crashes. To address this problem, many crash-consistency techniques, including logging and shadow paging, have been proposed. However, existing solutions can suffer from significant overheads on the critical path of execution or introduce extra write traffic to NVM, or even both. For instance, logging approaches introduce double writes for data and logs in the critical path of program execution, while shadow paging incurs significant write amplification and cache flushes to ensure durability. To provide persistence guarantees, this work proposes a transparent and efficient out-of-place update mechanism which provides atomic data durability without incurring a substantial number of additional writes or performance overheads. The key idea of the proposed approach is to write the updated data to a new location in NVM while keeping the old data unmodified until after the updated version becomes durable. To support out-of-place updates in NVM, this work introduces a lightweight and transparent persistence indirection layer, called PIL, along with minor changes to existing processor architectures which together enable efficient transaction execution in hardware. Experimental results with a variety of data structures and data-intensive applications show that PIL achieves low critical-path latency with small write amplification, which is close to that of a native system without persistence support. Compared with the state-of-the-art crash-consistency techniques, it improves application performance by up to 1.8× while reducing write amplification by up to 85.3%. PIL also demonstrates scalable data recovery capability on multi-core systems.","Submission published under a 24 month embargo labeled 'U of I Access', the embargo will last until 2021-05-01","The student, Chance Coats, accepted the attached license on 2019-04-25 at 10:29.","The student, Chance Coats, submitted this Thesis for approval on 2019-04-25 at 10:43.","This Thesis was approved for publication on 2019-04-25 at 13:36.","DSpace SAF Submission Ingestion Package generated from Vireo submission #13905 on 2019-08-22 at 15:08:36","Made available in DSpace on 2019-08-23T20:36:11Z (GMT). No. of bitstreams: 2 COATS-THESIS-2019.pdf: 1338713 bytes, checksum: 38d5429d7946617eb1606b12da9ce4a2 (MD5) LICENSE.txt: 4209 bytes, checksum: 59172eef1722a4681d16d97d62eba695 (MD5) Previous issue date: 2019-04-25","Embargo set by: Seth Robbins for item 112215 Lift date: 2021-08-23T20:36:18Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","U of I Only Restriction Lifted for Item 112215 on 2021-08-24T09:15:24Z."]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Reducing memory persistency overheads with transparent out-of-place updates"]}]}],"canonical_facts":{"dc:contributor":["Huang, Jian"],"dc:creator":["Coats, Chance Christopher"],"dc:date":["2019-08-23T20:36:11Z","2021-08-24T09:15:24Z","2019-04-25","2019-05"],"dc:description":["Recent advances in memory technology have led to the creation of high-performance, non-volatile alternatives to traditional DRAM, known as non-volatile memory (NVM). While this technology has provided immense opportunities to system designers, it has also presented new challenges since applications running on NVM systems require data persistence guarantees with respect to system crashes. To address this problem, many crash-consistency techniques, including logging and shadow paging, have been proposed. However, existing solutions can suffer from significant overheads on the critical path of execution or introduce extra write traffic to NVM, or even both. For instance, logging approaches introduce double writes for data and logs in the critical path of program execution, while shadow paging incurs significant write amplification and cache flushes to ensure durability. To provide persistence guarantees, this work proposes a transparent and efficient out-of-place update mechanism which provides atomic data durability without incurring a substantial number of additional writes or performance overheads. The key idea of the proposed approach is to write the updated data to a new location in NVM while keeping the old data unmodified until after the updated version becomes durable. To support out-of-place updates in NVM, this work introduces a lightweight and transparent persistence indirection layer, called PIL, along with minor changes to existing processor architectures which together enable efficient transaction execution in hardware. Experimental results with a variety of data structures and data-intensive applications show that PIL achieves low critical-path latency with small write amplification, which is close to that of a native system without persistence support. Compared with the state-of-the-art crash-consistency techniques, it improves application performance by up to 1.8× while reducing write amplification by up to 85.3%. PIL also demonstrates scalable data recovery capability on multi-core systems.","Submission published under a 24 month embargo labeled 'U of I Access', the embargo will last until 2021-05-01","The student, Chance Coats, accepted the attached license on 2019-04-25 at 10:29.","The student, Chance Coats, submitted this Thesis for approval on 2019-04-25 at 10:43.","This Thesis was approved for publication on 2019-04-25 at 13:36.","DSpace SAF Submission Ingestion Package generated from Vireo submission #13905 on 2019-08-22 at 15:08:36","Made available in DSpace on 2019-08-23T20:36:11Z (GMT). No. of bitstreams: 2 COATS-THESIS-2019.pdf: 1338713 bytes, checksum: 38d5429d7946617eb1606b12da9ce4a2 (MD5) LICENSE.txt: 4209 bytes, checksum: 59172eef1722a4681d16d97d62eba695 (MD5) Previous issue date: 2019-04-25","Embargo set by: Seth Robbins for item 112215 Lift date: 2021-08-23T20:36:18Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","U of I Only Restriction Lifted for Item 112215 on 2021-08-24T09:15:24Z."],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/105096"],"dc:language":["en"],"dc:rights":["Copyright 2019 Chance Christopher Coats"],"dc:subject":["Non-volatile Memory","NVM","Persistence","Memory Persistence","Crash-consistency"],"dc:title":["Reducing memory persistency overheads with transparent out-of-place updates"],"dc:type":["text"],"thesis:degree_discipline":["Electrical & Computer Engr"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:44Z"}