Virtual Context Architecture for Fast Context Cloning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face performance impairment due to the need for frequent memory allocation and initialization during context switching, especially when handling a large number of threads or processes in parallel, which slows down context cloning and switching operations.

Innovation Solution

The implementation of a fast two-layer copy-on-write mechanism combined with a Virtual Context Architecture (VCA) that allows for efficient cloning and switching of contexts by using a two-layer mapping system, where the first layer translates virtual memory addresses to system addresses and the second layer translates system addresses to physical addresses, deferring data copying until necessary, and utilizing a Virtual Context Architecture (VCA) to manage context data and memory spaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory allocation and initialization is performed for each context cloning operation, then context data can be properly stored and managed, but system performance deteriorates due to frequent memory operations

Engineering Contradiction:
Improvecontext data managementVSAvoidcontext cloning speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system pre-allocates a large pool of context storage space in advance rather than allocating memory for each context cloning operation. This preliminary action eliminates the need for frequent memory allocation and initialization during context switching, thereby improving cloning speed while maintaining reliable context data management.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a two-layer copy-on-write mechanism where context data is copied between layers rather than immediately allocated in new memory. This copying approach allows fast context cloning by referencing existing data structures, avoiding repeated memory allocation overhead while ensuring data integrity through the copy-on-write protocol.

Inventive Principle:
Principle #26Copying

2Ease of operation

If dedicated shadow registers are used for context switching between two processes, then context switching is simplified, but the system cannot efficiently handle a large number of parallel threads or processes

Engineering Contradiction:
Improvecontext switching simplicityVSAvoidparallel process handling capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent transitions from a one-dimensional shadow register approach to a two-dimensional context storage structure with two layers. This dimensional change allows the system to manage many more contexts simultaneously while maintaining simplified switching operations through the layered architecture and copy-on-write mechanism.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The context storage system is designed to serve multiple functions: it can handle both simple two-process switching like shadow registers and complex multi-threaded parallel execution. The universal design accommodates various context management scenarios through its layered structure and copy-on-write protocol, providing both simplicity and versatility.

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

3Reliability

If memory allocation is performed by the operating system for each new context, then proper memory management is achieved, but overall system performance is impaired

Engineering Contradiction:
Improvememory managementVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary memory allocation by pre-creating a large context storage pool before context cloning operations begin. This eliminates the need for operating system memory allocation during each context creation, maintaining proper memory management through the pre-allocated structure while dramatically improving system performance by removing allocation overhead from the critical context cloning path.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the memory allocation function from the context cloning operation itself and places it in a separate preliminary setup phase. By taking out the allocation step from the time-critical cloning path and handling it beforehand, the system maintains reliable memory management while achieving high-performance context cloning through the optimized two-layer copy-on-write mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10353826B2Method and apparatus for fast context cloning in a data processing system
Publication Date: 2019.07.16 ARM LTD
  • US10353826B2 patent drawing
  • US10353826B2 patent drawing
  • US10353826B2 patent drawing

AI summary

A data processing system includes a memory system, a first processing element, a first address translator that maps virtual addresses to system addresses, a second address translator that maps system address to physical addresses, and a task management unit. A first program task uses a first virtual memory space that is mapped to a first system address range using a first table. The context of the first program task includes an address of the first table and is cloned by creating a second table indicative of a mapping from a second virtual address space to a second range of system addresses, where the second range is mapped to the same physical addresses as the first range until a write occurs, at which time memory is allocated and the mapping of the second range is updated. The cloned context includes an address of the second table.