Processor Asynchronous Event Status and Control Register for Assist Thread Initiation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The performance benefit of simultaneous multi-threading in processors is diminished due to the time-consuming process of requesting permission from a supervisory program to utilize additional threads, resulting in significant overhead and delayed utilization of additional threads.

Innovation Solution

A processor detects asynchronous events during the execution of a controlling thread and initiates an assist thread without requiring permission from a supervisory program, allowing for simultaneous execution of both threads by utilizing an Asynchronous Event Status and Control Register (AESCR) to manage the initiation and execution of assist threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a program requests permission from a supervisory program to utilize an additional thread, then thread usage is controlled and managed, but the process becomes time-consuming and introduces significant overhead

Engineering Contradiction:
Improvethread usage controlVSAvoidthread initiation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The processor enables programs to self-initiate assist threads directly without requiring external permission from a supervisory program. The AESCR allows programs to autonomously control thread initiation by setting event masks and enabling asynchronous thread startup, eliminating the time-consuming permission request process while maintaining controlled thread usage through program-defined event conditions

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary configuration by allowing programs to pre-define event masks and thread initiation conditions in the AESCR before asynchronous events occur. This preliminary setup enables immediate thread initiation upon event occurrence without requiring real-time permission requests, reducing latency while maintaining controlled thread creation

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a program requests permission from a supervisory program to utilize an additional thread, then thread usage is controlled and managed, but performance benefit is substantially diminished

Engineering Contradiction:
Improvethread usage controlVSAvoidprogram performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Programs directly control assist thread initiation through the AESCR without supervisory program intervention. The program sets event masks, enables asynchronous initiation, and manages thread lifecycle autonomously, eliminating permission request overhead that previously diminished performance benefits while maintaining controlled thread usage through program-defined event conditions

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The permission request function is extracted from the supervisory program and transferred to the program itself through the AESCR mechanism. This extraction eliminates the performance-dimining communication overhead between programs and supervisory programs while maintaining thread usage control through the program's own event-driven logic

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If the processor simultaneously executes multiple independent hardware threads, then performance is improved through parallelism, but the complexity of thread management increases

Engineering Contradiction:
Improveprocessor performanceVSAvoidthread management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Programs autonomously manage their own thread initiation and control by configuring event masks and thread parameters in the AESCR. This self-service approach distributes management complexity from the supervisory program to individual programs, enabling simultaneous execution of multiple threads while each program independently manages its own thread lifecycle based on event-driven conditions

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically initiates and manages threads based on runtime events rather than static pre-configuration. The AESCR allows programs to define event masks and dynamically start assist threads when specific asynchronous events occur, enabling flexible thread management that adapts to program needs while maintaining simultaneous multi-threaded execution for improved performance

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8667253B2Initiating assist thread upon asynchronous event for processing simultaneously with controlling thread and updating its running status in status register
Publication Date: 2014.03.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8667253B2 patent drawing
  • US8667253B2 patent drawing
  • US8667253B2 patent drawing

AI summary

A processor of a data processing system executes a controlling thread of a program and detects occurrence of a particular asynchronous event during execution of the controlling thread of the program. In response to occurrence of the particular asynchronous event during execution of the controlling thread of the program, the processor initiates execution of an assist thread of the program such that the processor simultaneously executes the assist thread and controlling thread of the program.