{"title":"非易失性存储器是一台坏掉的时间机器","authors":"Benjamin Ransford, Brandon Lucia","doi":"10.1145/2618128.2618136","DOIUrl":null,"url":null,"abstract":"Energy harvesting enables intermittently powered devices to compute without built-in power. But frequent power failures, combined with nonvolatile memory intended to protect computational state, introduce strange control flow that turns sequential code into unwieldy concurrent code: programs must grapple with their own state from previous interrupted runs. This paper describes the broken time machine problem for these devices and outlines potential solutions from the perspective of safe concurrent programming.","PeriodicalId":181419,"journal":{"name":"Proceedings of the workshop on Memory Systems Performance and Correctness","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"85","resultStr":"{\"title\":\"Nonvolatile memory is a broken time machine\",\"authors\":\"Benjamin Ransford, Brandon Lucia\",\"doi\":\"10.1145/2618128.2618136\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Energy harvesting enables intermittently powered devices to compute without built-in power. But frequent power failures, combined with nonvolatile memory intended to protect computational state, introduce strange control flow that turns sequential code into unwieldy concurrent code: programs must grapple with their own state from previous interrupted runs. This paper describes the broken time machine problem for these devices and outlines potential solutions from the perspective of safe concurrent programming.\",\"PeriodicalId\":181419,\"journal\":{\"name\":\"Proceedings of the workshop on Memory Systems Performance and Correctness\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-06-13\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"85\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the workshop on Memory Systems Performance and Correctness\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2618128.2618136\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the workshop on Memory Systems Performance and Correctness","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2618128.2618136","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Energy harvesting enables intermittently powered devices to compute without built-in power. But frequent power failures, combined with nonvolatile memory intended to protect computational state, introduce strange control flow that turns sequential code into unwieldy concurrent code: programs must grapple with their own state from previous interrupted runs. This paper describes the broken time machine problem for these devices and outlines potential solutions from the perspective of safe concurrent programming.