Energy harvesting systems provide power solutions for Internet-of-Things (IoT) devices, liberating them from battery life constraints. However, unstable power supplies can cause frequent power failures. This leads to the non-progress problem, where the system loses its state and, upon power restoration, is unable to resume unfinished programs, forcing it to start from the beginning. To tackle this issue, task-based Intermittent Computing (ImC) has been proposed. This approach breaks the program into multiple tasks and uses non-volatile memory (NVM) to store the results of completed tasks. When power is restored, the system can resume from the last unfinished task, avoiding the need to restart the entire program. However, a specific type of data, known as write-after-read (WAR) data, can introduce consistency errors during execution. Current approaches prevent these errors by backing up WAR data before task execution, but identifying such data precisely remains a challenge. Runtime detection methods can accurately find WAR data but introduce significant performance overhead. Meanwhile, static analysis techniques tend to be overly conservative, resulting in excessive and unnecessary backups. In this paper, we first examine the limitations of existing methods, then propose a hybrid WAR analysis method. This approach combines static analysis and leverages information during run-time to more accurately identify WAR data, with nearly no increase in run-time overhead. Experimental results indicate that compared to existing methods, our approach can significantly reduce system backup overhead and achieve up to a \(9.20\times \) performance improvement.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Data-Dependent WAR Analysis for Efficient Task-Based Intermittent Computing

  • Juxin Niu,
  • Yunlong Yu,
  • Wei Zhang,
  • Nan Guan

摘要

Energy harvesting systems provide power solutions for Internet-of-Things (IoT) devices, liberating them from battery life constraints. However, unstable power supplies can cause frequent power failures. This leads to the non-progress problem, where the system loses its state and, upon power restoration, is unable to resume unfinished programs, forcing it to start from the beginning. To tackle this issue, task-based Intermittent Computing (ImC) has been proposed. This approach breaks the program into multiple tasks and uses non-volatile memory (NVM) to store the results of completed tasks. When power is restored, the system can resume from the last unfinished task, avoiding the need to restart the entire program. However, a specific type of data, known as write-after-read (WAR) data, can introduce consistency errors during execution. Current approaches prevent these errors by backing up WAR data before task execution, but identifying such data precisely remains a challenge. Runtime detection methods can accurately find WAR data but introduce significant performance overhead. Meanwhile, static analysis techniques tend to be overly conservative, resulting in excessive and unnecessary backups. In this paper, we first examine the limitations of existing methods, then propose a hybrid WAR analysis method. This approach combines static analysis and leverages information during run-time to more accurately identify WAR data, with nearly no increase in run-time overhead. Experimental results indicate that compared to existing methods, our approach can significantly reduce system backup overhead and achieve up to a \(9.20\times \) performance improvement.