Hardware Thread Ephemeral State Transition via Register Copy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer architectures face inefficiencies in managing large numbers of software threads, requiring significant operational overhead from the operating system during thread creation and management.

Innovation Solution

A hardware processor opcode is used by a user-level process to copy register contents from a parent hardware thread to a child hardware thread, changing the child thread from a wait state to an ephemeral run state without operating system involvement, allowing for thread creation with reduced overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the operating system administers thread creation using conventional methods, then thread management control is maintained, but operational overhead increases significantly

Engineering Contradiction:
Improvethread creation efficiencyVSAvoidoperational overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts thread creation functionality from the operating system and relocates it to hardware-level support. Hardware threads can create child threads independently using hardware processor opcodes without requiring operating system involvement, thereby eliminating the operational overhead associated with OS-mediated thread creation while maintaining productive thread management

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Hardware threads are enabled to create child threads autonomously through hardware processor opcodes. The child thread copies register contents from the parent thread and transitions from wait state to ephemeral run state without OS intervention, allowing self-service thread creation that significantly reduces operational overhead

Inventive Principle:
Principle #25Self-service

2Loss of time

If hardware processor opcodes are used for thread creation, then operational overhead is reduced, but hardware complexity increases

Engineering Contradiction:
Improveoperational overheadVSAvoidhardware complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The hardware thread architecture is designed to serve multiple functions: executing user-level processes, creating child threads autonomously, copying register contents, and managing thread states. This multi-functionality is achieved through hardware processor opcodes that enable a single hardware thread to perform thread creation operations that would traditionally require separate OS mechanisms, reducing operational overhead without proportionally increasing hardware complexity

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

Solution Approach 2:

The patent employs copying of register contents from parent thread to child thread as a fundamental mechanism. The child thread copies essential register state information during creation, enabling rapid thread instantiation without complex hardware setup. This copying operation is performed by the hardware processor opcode itself, minimizing the need for additional complex hardware infrastructure

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9009716B2Creating a thread of execution in a computer processor
Publication Date: 2015.04.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9009716B2 patent drawing
  • US9009716B2 patent drawing
  • US9009716B2 patent drawing

AI summary

Creating a thread of execution in a computer processor, including copying, as indicated by a hardware processor opcode having been specified by a user-level process, data from a first set of registers to a second set of registers, wherein the first set of registers is associated with a parent hardware thread, wherein the second set of registers is associated with a child hardware thread, wherein the child hardware thread is in a wait state, and changing, as indicated by the hardware processor opcode, the child hardware thread from the wait state to an ephemeral run state.