Data Structure Metadata Registers for Context Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face inefficiencies when handling data structures spanning multiple memory addresses, particularly in mixed workloads where frequent context switching and shared hardware accelerators lead to performance issues, and context switching latency is increased due to large data structure sizes.

Innovation Solution

Incorporating dedicated data structure metadata registers and instruction set architecture features that allow identification of clean and dirty data structures, enabling efficient context switching by saving only metadata for clean structures and specific data loading during processing, reducing the need for extensive state saving and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data structures are stored in memory at multiple addresses and processed using traditional load/store instructions, then processing operations can be applied to the data structures, but context switching latency increases due to the large size of data structures requiring extensive state saving

Engineering Contradiction:
Improvecontext switching latencyVSAvoiddata structure size
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the data structure handling into two parts: metadata (descriptors containing address information) and actual data. The metadata is stored in registers while the actual data remains in memory, allowing context switching to save only the small metadata rather than the entire large data structure, thus reducing context switching latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces metadata descriptors as intermediaries between the processor registers and the actual data structures in memory. These descriptors contain address information that allows the processor to access the actual data without copying it, enabling efficient context switching by transferring only the descriptor information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If hardware accelerators are shared between multiple CPUs or software tasks, then resource utilization improves, but performance decreases due to frequent data transfer back and forth between CPU and hardware accelerator

Engineering Contradiction:
Improvehardware accelerator sharingVSAvoidprocessing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent creates a universal metadata descriptor format that can represent different data structures (matrices, vectors, tensors) and can be used across multiple CPUs and hardware accelerators. This standardized interface allows any processor to work with data structures through the same metadata mechanism, enabling efficient sharing without performance penalty.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent replaces the mechanical data copying mechanism with a reference-based system using metadata descriptors. Instead of physically copying data between CPU and hardware accelerator, the system transfers lightweight descriptor information that contains address references, eliminating the performance bottleneck of frequent data transfers.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If data structures are processed using compiled high-level code with individual load/store instructions, then processing operations can be applied at the granularity of data structures, but processing efficiency decreases compared to hardware accelerators

Engineering Contradiction:
Improvehigh-level code processingVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces metadata descriptors as intermediaries that enable high-level data structure operations while maintaining processing efficiency. The descriptors allow the compiler to generate optimized code that operates on entire data structures rather than individual elements, bridging the gap between high-level abstraction and efficient execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the operational parameters from element-by-element processing to bulk data structure processing by using metadata descriptors that represent entire data structures. This parameter change allows compiled code to efficiently process data structures at the appropriate granularity without requiring hardware acceleration.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3912027B1Data structure processing
Publication Date: 2022.11.30 ARM LTD
  • EP3912027B1 patent drawingFigure 1
  • EP3912027B1 patent drawingFigure 2~3
  • EP3912027B1 patent drawingFigure 4

AI summary

An apparatus comprises: an instruction decoder and processing circuitry. In response to a data structure processing instruction specifying at least one input data structure identifier and an output data structure identifier, the instruction decoder controls the processing circuitry to perform a processing operation on at least one input data structure to generate an output data structure. Each input/output data structure comprises an arrangement of data corresponding to a plurality of memory addresses. The apparatus comprises two or more sets of one or more data structure metadata registers, each set associated with a corresponding data structure identifier and designated to store address- indicating metadata for identifying the memory addresses for the data structure identified by the corresponding data structure identifier.