Lightweight Multi-threaded Architecture for Memory Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer architectures face significant performance bottlenecks due to memory latency, as improvements in semiconductor technology have increased CPU processing speed but not memory access speed, leading to inefficiencies in concurrent instruction execution and thread management.

Innovation Solution

The introduction of a lightweight multi-threaded architecture (LIMA) that enhances memory semantics, integrates thread state with memory access, and reduces thread state requirements, allowing for increased concurrency and lower latency through extended memory states and instructions that manage thread operations efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If deep pipelining and superscalar execution are employed to increase instruction level parallelism, then the number of instructions executed per cycle increases, but the complexity of CPU logic and thread state management increases significantly

Engineering Contradiction:
Improveinstructions per cycleVSAvoidCPU logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the CPU into multiple independent cores, each capable of executing instructions independently. This segmentation allows parallel execution of multiple instruction streams without requiring complex inter-core state management, as each core maintains its own simple execution pipeline and register state.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts thread state management from the traditional CPU core and relocates it to external memory structures. Thread contexts are stored in memory rather than being tightly coupled to the execution unit, allowing the CPU to switch between thread states without complex internal state tracking mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If memory capacity is increased to accommodate more data, then storage capability improves, but memory access latency increases due to the memory wall

Engineering Contradiction:
Improvememory capacityVSAvoidmemory access latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent introduces a hierarchical memory architecture that adds temporal and spatial dimensions to memory access. Multiple levels of caching and pre-fetching mechanisms operate in parallel, allowing the system to hide latency by accessing data from faster memory levels while simultaneously preparing data from slower but larger capacity storage.

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

Solution Approach 2:

The patent implements pre-fetching mechanisms that proactively load data into cache memory before it is actually needed by the execution unit. This preliminary action reduces effective access latency by ensuring that required data is already in fast memory when the instruction reaches the execution stage.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If traditional multi-threaded architectures are used to improve concurrency, then thread execution capability increases, but overhead from thread state management and synchronization increases

Engineering Contradiction:
Improveconcurrency capabilityVSAvoidthread state management overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements lightweight thread contexts that can be quickly created and discarded. Instead of maintaining complex persistent thread states, the system uses simple stack-based frames that can be rapidly allocated and freed, reducing the overhead of thread management while maintaining high concurrency capability.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent enables threads to manage their own state information through self-service mechanisms. Each thread maintains its own control stack and state information, eliminating the need for centralized thread management logic and reducing the overhead of context switching and synchronization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7584332B2Computer systems with lightweight multi-threaded architectures
Publication Date: 2009.09.01 CRAY INC
  • US7584332B2 patent drawing
  • US7584332B2 patent drawing
  • US7584332B2 patent drawing

AI summary

Embodiments of the present invention provide a class of computer architectures generally referred to as lightweight multi-threaded architectures (LIMA). Other embodiments may be described and claimed.