On-Demand Programmable Atomic Kernel Loading in Memory Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In chiplet systems, preloading all Programmable Atomic Operator (PAO) kernels in Programmable Atomic Units (PAUs) results in wasted bandwidth, increased latency, and power consumption due to the potential unused kernels, as there is no guarantee that all PAOs will be used.
Innovation Solution
Implementing an on-demand mechanism for loading PAO kernels, where PAUs register for PAOs during initialization but only reserve space, and kernels are transferred and loaded only when requested, allowing PAUs to service future requests efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If all PAO kernels are preloaded in PAUs during initialization, then future PAO requests can be serviced efficiently, but bandwidth is wasted, latency increases, and power consumption increases due to loading unnecessary kernels
Solution Approach 1:
The patent applies preliminary action by having PAUs register for PAOs during initialization and reserve space for kernels, but not actually loading the kernels until they are requested. This partial preliminary action prepares the system for efficient future servicing while avoiding the waste of loading all possible kernels in advance.
Solution Approach 2:
The patent implements partial action by loading only the specific PAO kernels that are actually requested, rather than loading all possible kernels. This ensures that resources are used efficiently and only necessary kernels occupy space in the PAU instruction memory.
2Reliability
If all PAO kernels are preloaded in PAUs, then system readiness is improved, but application initialization latency increases
Solution Approach 1:
The system performs preliminary registration and space reservation during initialization, which maintains system readiness by knowing which kernels might be needed, while avoiding the time penalty of actually loading all kernels during initialization.
Solution Approach 2:
The system dynamically loads kernels based on actual requests rather than statically preloading all kernels. This dynamic approach reduces initialization latency while maintaining readiness by loading kernels on-demand when they are actually needed.
3Adaptability or versatility
If PAU instruction memory is allocated for all possible PAO kernels, then kernel loading capability is maximized, but memory resources are wasted
Solution Approach 1:
The patent segments the kernel loading process into registration/space reservation phase and actual loading phase. This allows the system to maintain the capability to load any registered kernel while only allocating actual memory resources for kernels that are requested, rather than pre-allocating for all possible kernels.
Solution Approach 2:
The system takes partial action by allocating memory resources only for kernels that are actually requested and loaded, rather than allocating for all possible kernels. This maintains adaptability while conserving memory resources.
Data Source
AI summary
Devices and techniques for on-demand programmable atomic kernel loading are described herein. A programmable atomic unit (PAU) of a memory controller can receive an invocation of a programmable atomic operator by the memory controller. The PAU can then perform a verification on a programmable atomic operator partition for the programmable atomic operator. Here, the programmable atomic operator partition is located in a memory of the PAU. The PAU can then signal a trap in response to the verification indicating that the programmable atomic operator partition is not prepared.


