Operating Systems Design and Implementation · 2018 · 92 citations · 47 references
Cluster ComputingEngineeringCompiler TechnologyComputer ArchitectureFault ToleranceEnergy-harvesting DevicesFault-tolerant MessagingSoftware AnalysisFormal VerificationAdaptive Dynamic CheckpointingSystems EngineeringFault RecoveryParallel ComputingPower-aware SoftwarePower-aware ComputingRuntime VerificationComputer EngineeringDistributed SystemsComputer ScienceRuntime SystemProgram AnalysisCloud ComputingFormal MethodsEnergy-harvesting Device
Energy-harvesting devices have the potential to be the foundation of emerging, sensor-rich application domains where the use of batteries is infeasible, such as in space and civil infrastructure. Programming on an energy-harvesting device is difficult because the device operates only intermittently, as energy is available. Intermittent operation requires the programmer to reason about energy to understand data consistency and forward progress of their program. Energy varies with input and environment, making intermittent programming difficult. Existing systems for intermittent execution provide an unfamiliar programming abstraction and fail to adapt to energy changes forcing a compromise of either performance or assurance of forward progress.This paper presents Chinchilla, a compiler and runtime system that allows running unmodified C code efficiently on an energy-harvesting device with little additional programmer effort and no additional hardware support. Chinchilla overprovisions code with checkpoints to assure the system makes progress, even with scarce energy. Chinchilla disables checkpoints dynamically to efficiently adapt to energy conditions. Experiments show that Chinchilla improves programmability, is performant, and makes it simple to statically check the absence of non-termination. Comparing to two systems from prior work, Alpaca and Ratchet, Chinchilla makes progress when Alpaca cannot, and has 125% mean speedup against Ratchet.
47
MiBench: A free, commercially representative embedded benchmark suite
Matthew R. Guthaus, Jeffrey Ringenberg, Daniel Ernst et al. · 2001 · 3.1K citations
Maurice Herlihy, J. Eliot B. Moss · 1993 · 2.2K citations
Energy-efficient computing for wildlife tracking
Philo Juang, Hidekazu Oki, Yong Wang et al. · 2002 · 1.8K citations
C. Mohan, Don Haderle, Bruce G. Lindsay et al. · ACM Transactions on Database Systems · 1992 · 1K citations · Full text