Data underlying the PhD thesis: Accelerating Programmer-Friendly Intermittent Computing (Chapter 6)
This is the archive for Chapter 6 of the PhD thesis named "Accelerating Programmer-Friendly Intermittent Computing" by Vito Kortbeek. Rationale Intermittently operating embedded computing platforms powered by energy harvesting must frequently checkpoint their computation state. Using non-volatile main memory significantly reduces the checkpoint size but at the cost of increasing the checkpoint frequency to cover WAR dependencies. Additionally, non-volatile memory is significantly slower to access. Both of these challenges are addressed by the architecture proposed in Chapter 6, greatly increasing performance. Archive Structure This archive consists of the software to emulate the system (`icemu/plugins`), and the LLVM toolchain used to compile applications (`llvm`). The code can be built and run using the development docker container in the `docker` directory. To build all the benchmarks, execute the `run.sh` script within the `benchmarks` directory. Run the respective Jupyter Notebook in the `plotting` directory to analyze the results.