Programmable Atomic Transaction Loop Detection Using Instruction Limits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In chiplet systems, programmable atomic transactions can enter infinite loops, causing resources to be tied up and affecting other processes, with existing methods like timeout timers being inefficient due to the customizable nature of these transactions.
Innovation Solution
Implement an instruction counter in programmable atomic units to detect and terminate transactions that exceed a predefined threshold instruction execution limit, ensuring minimal latency impact.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If timeout timers are used to detect infinite loops in programmable atomic transactions, then infinite loop detection is achieved, but latency increases and efficiency decreases
Solution Approach 1:
The patent applies preliminary action by pre-configuring an instruction execution limit threshold before the atomic transaction begins. This threshold is set in advance based on expected transaction complexity, allowing the system to detect infinite loops without requiring timeout waiting periods. The limit is established beforehand and automatically enforced during execution.
Solution Approach 2:
The patent replaces the mechanical timeout timer system with a software-based instruction counting mechanism. Instead of using hardware timers that introduce latency, the system uses a software counter that increments with each instruction executed and compares it against the pre-set limit, achieving infinite loop detection without the time penalty of timeout-based approaches.
2Reliability
If instruction execution limit is enforced in programmable atomic transactions, then infinite loops are terminated, but device complexity increases
Solution Approach 1:
The patent applies universality by making the instruction counter and limit checking mechanism applicable to all programmable atomic transactions regardless of their specific function or complexity. The same counter infrastructure serves multiple purposes: tracking instruction execution, detecting infinite loops, and enforcing transaction limits across different transaction types without requiring transaction-specific detection logic.
Solution Approach 2:
The patent implements self-service by having the programmable atomic transaction unit automatically manage its own instruction counting and limit enforcement without requiring external monitoring or intervention. The counter is automatically incremented during execution and compared against the limit, with automatic termination occurring when the limit is exceeded, making the system self-regulating.
Data Source
AI summary
Disclosed in some examples are systems, methods, devices, and machine-readable mediums to detect and terminate programmable atomic transactions that are stuck in an infinite loop. In order to detect and terminate these transactions, the programmable atomic unit may use an instruction counter that increments each time an instruction is executed during execution of a programmable atomic transaction. If the instruction counter meets or exceeds a threshold instruction execution limit without reaching the termination instruction, the programmable atomic transaction may be terminated, all resources used (e.g., memory locks) may be freed, and a response may be sent to a calling processor.


