Memristor Registers for Multithreading Switch Penalty

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multithreading processors face limitations in performance due to high thread switch penalties in Switch on Event (SoE) multithreading, which restricts the number of supported threads and efficiency, especially compared to simultaneous multithreading (SMT) and fine-grain multithreading.

Innovation Solution

The implementation of multistate pipeline registers (MPRs) using memristor-based resistive memory elements to store the state of inactive threads, allowing for seamless thread switching without flushing the pipeline, thereby reducing the thread switch penalty and enabling support for a large number of threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional multithreading switches threads by flushing the pipeline, then thread switching can be implemented, but the thread switch penalty becomes high

Engineering Contradiction:
Improvethread switching capabilityVSAvoidthread switch penalty
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-storing thread states in memristor-based registers before thread switching occurs. When a thread needs to be switched, its state is already preserved in the memristor register, eliminating the need for pipeline flushing. This pre-prepared state storage enables rapid thread context transitions with minimal penalty.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a duplicate copy of the thread state in memristor-based registers while the original thread continues executing in the pipeline. This copy mechanism allows the thread state to be preserved without interrupting or flushing the pipeline, enabling seamless thread switching by simply switching which thread state is active.

Inventive Principle:
Principle #26Copying

2Loss of time

If simultaneous multithreading is used to reduce thread switch penalty, then thread switching becomes faster, but the number of supported threads is limited

Engineering Contradiction:
Improvethread switch penaltyVSAvoidnumber of supported threads
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent transitions from a single-dimension pipeline execution model to a multi-dimensional model by introducing memristor-based registers as a parallel storage dimension. This allows multiple thread states to coexist in the memristor registers simultaneously, enabling the system to support many more threads than traditional SMT by adding this extra dimensional storage layer.

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

Solution Approach 2:

The memristor-based registers serve multiple functions: they store thread states for inactive threads, preserve pipeline state during switching, and enable rapid context restoration. This multi-functionality allows the same hardware structure to support a large number of threads without proportionally increasing complexity, enhancing adaptability.

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

3Loss of time

If fine-grain multithreading is implemented to reduce thread switch penalty, then switching becomes more efficient, but the system becomes complex and is only worthwhile for a large number of threads

Engineering Contradiction:
Improvethread switch penaltyVSAvoidmultithreading implementation complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts the thread state storage function from the traditional pipeline structure and places it in separate memristor-based registers. This extraction simplifies the pipeline by removing the need for complex state management logic within the pipeline stages themselves, while still enabling fine-grain multithreading efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The memristor-based registers act as an intermediary between the executing thread in the pipeline and the stored thread states. This intermediary layer simplifies the switching mechanism by providing a straightforward read/write interface for thread state management, reducing the complexity of direct pipeline-state manipulation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach significantly reduces the thread switch penalty, enhancing performance by allowing continuous flow multithreading with lower energy consumption and improved throughput, especially in scenarios with multiple threads.

Implementation Method 1

memristor based registers which are arranged to store a state of another thread of instructions

Methodology Applied
Scientific EffectResistive switching: Electrical Resistance

Data Source

PatentUS10521237B2Memristor based multithreading
Publication Date: 2019.12.31 TECHNION RES & DEV FOUND LTD
  • US10521237B2 patent drawing
  • US10521237B2 patent drawing
  • US10521237B2 patent drawing

AI summary

A method and a device that includes a set of multiple pipeline stages, wherein the set of multiple pipeline stages is arranged to execute a first thread of instructions; multiple memristor based registers that are arranged to store a state of another thread of instructions that differs from the first thread of instructions; and a control circuit that is arranged to control a thread switch between the first thread of instructions and the other thread of instructions by controlling a storage of a state of the first thread of instructions at the multiple memristor based registers and by controlling a provision of the state of the other thread of instructions by the set of multiple pipeline stages; wherein the set of multiple pipeline stages is arranged to execute the other thread of instructions upon a reception of the state of the other thread of instructions.