Instruction Checkpointing for Data Processing Under Unpredictable Power

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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 unreliable outcomes due to incomplete execution of program code.

Innovation Solution

Implementing progress indicators to track execution stages of code portions and adapt operations based on available energy reserves, allowing for controlled continuation, ad hoc checkpointing, or termination to manage power interruptions effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If program code is executed without checkpointing mechanisms, then processing speed and energy efficiency are improved, but reliability deteriorates due to unpredictable power loss causing waste of processing effort

Engineering Contradiction:
Improveprocessing speedVSAvoidexecution reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by detecting energy conditions before power is lost and initiating checkpointing operations in advance. The energy condition detector monitors energy reserves and triggers checkpointing before the energy store is depleted, ensuring that processing state is saved while there is still enough energy to complete the checkpointing operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring the energy condition of the energy store and using this information to dynamically control checkpointing operations. The control circuitry receives feedback from the energy condition detector and adjusts checkpointing frequency and timing accordingly, creating a closed-loop control system that balances reliability and energy efficiency.

Inventive Principle:
Principle #23Feedback

2Reliability

If checkpointing is performed frequently to ensure reliability, then execution reliability is improved, but energy consumption increases reducing overall system efficiency

Engineering Contradiction:
Improveexecution reliabilityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system applies dynamics by making checkpointing frequency adaptive rather than fixed. The checkpointing operation frequency is dynamically adjusted based on the detected energy condition, allowing the system to perform more checkpointing when energy is abundant and fewer checkpointing operations when energy is scarce, thereby optimizing the balance between reliability and energy consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes parameters by adjusting checkpointing frequency and timing based on energy conditions. The control circuitry modifies checkpointing parameters such as the interval between checkpoints and the amount of data saved, transitioning between different checkpointing strategies depending on the available energy in the energy store.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the system continues execution despite low energy reserves, then productivity is maintained, but reliability deteriorates due to risk of unexpected power loss

Engineering Contradiction:
Improveprocessing continuityVSAvoidexecution completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary checkpointing actions when energy reserves are low but before complete power loss occurs. The energy condition detector identifies low-energy states in advance, allowing the system to complete current code portions and save their results before the energy store is fully depleted, ensuring processing continuity while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12393250B2Method and apparatus for instruction checkpointing in a data processing device powered by an unpredictable power source
Publication Date: 2025.08.19 ARM LTD
  • US12393250B2 patent drawing
  • US12393250B2 patent drawing
  • US12393250B2 patent drawing

AI summary

A method and apparatus generate computer executable code as one or more code portions, detect a number of processing operations required to reach one or more predetermined stages in execution of each code portion, and associate 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. Further aspects include, when a current execution stage of the program code is at least at the execution stage represented by the progress indicator, a first operation may be performed, and when the current execution stage of the program code is before the execution stage represented by the progress indicator, a second operation different from the first operation is performed.