Instruction Checkpointing for Data Processors Under Unpredictable Power
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data processing devices powered by unpredictable energy sources, such as energy harvesters, face issues with unpredictable power loss leading to potential waste of processing effort and unpredictable behavior due to exhausted energy reserves.
Innovation Solution
Implementing progress indicators to track execution stages of program code and detect energy conditions, allowing for controlled operations such as continuing execution, ad hoc checkpointing, or terminating based on available energy reserves.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the processor continues executing program code without energy management, then processing productivity is maintained, but energy is wasted when power is lost and processing must be restarted
Solution Approach 1:
The system performs preliminary detection of energy conditions and identifies safe checkpoint locations before power loss occurs. By detecting when energy reserves fall below thresholds and pre-identifying suitable checkpoint positions in the code, the system ensures that processing can be resumed efficiently without wasting energy on incomplete operations.
Solution Approach 2:
The system continuously monitors energy conditions and provides feedback to control whether processing should continue or be interrupted at a checkpoint. This feedback mechanism allows the processor to adapt its behavior based on available energy, ensuring optimal use of remaining power reserves while maintaining productivity.
2Device complexity
If the processor executes code without checkpointing, then device complexity is reduced, but reliability decreases due to unpredictable behavior on power loss
Solution Approach 1:
The system segments the program code into distinct portions with identified checkpoint locations. By dividing the code execution into manageable segments with defined start and end points, the system can reliably restart at specific checkpoints without requiring complex checkpointing infrastructure throughout the entire codebase.
Solution Approach 2:
The processor autonomously detects energy conditions and determines whether to continue execution or interrupt at a checkpoint without external intervention. This self-service capability maintains reliability while avoiding the complexity of external power management systems, as the processor independently manages its own execution state based on energy conditions.
3Reliability
If the processor implements continuous energy monitoring and checkpoint detection, then reliability improves during power interruptions, but device complexity increases
Solution Approach 1:
The system performs preliminary analysis to identify safe checkpoint locations in the code during compilation or code generation, rather than requiring complex real-time analysis during execution. This pre-identification of checkpoint positions reduces the complexity of control circuitry needed during runtime while maintaining reliability.
Solution Approach 2:
The system uses simple, lightweight progress indicators and energy condition detectors that consume minimal resources. Rather than implementing complex checkpointing mechanisms, the system uses straightforward comparisons of progress indicators against threshold values, providing reliable power interruption handling with minimal added complexity.
Data Source
AI summary
A computer-implemented method includes generating computer executable code as one or more code portions, detecting a number of processing operations required to reach one or more predetermined stages in execution of each code portion, and associating with each code portion one or more progress indicators, each representing a respective execution stage of the one or more predetermined stages within execution of that code portion.


