Thread State Management for InfiniBand Data Reception

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In InfiniBand communication, the processing load for checking data reception completion is increased due to repeated thread suspensions and wake-ups, leading to high context switching overhead as the delay time for completion notifications in completion queues (CQs) lengthens.

Innovation Solution

Implementing a mechanism where a first thread issues a reception request and transitions to a suspended state if no completion notification is found, allowing a second thread to execute and periodically check the CQ, reducing the number of suspended and returned states, and transferring data only when the notification is detected.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a thread continuously polls the completion queue to check for data reception completion, then the responsiveness of data reception is improved, but the processing load and context switching overhead increase significantly

Engineering Contradiction:
Improvedata reception responsivenessVSAvoidprocessing load
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent applies dynamics by transitioning the thread between suspended and executed states based on completion notification availability. The thread suspends when no completion notification is present and executes only when needed, creating a dynamic state management approach that reduces continuous polling overhead while maintaining responsive data reception capability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements self-service through automatic thread state management where the completion queue mechanism itself triggers thread resumption when data is received. The thread doesn't need to actively check or be continuously managed - the system automatically services the thread by transitioning it from suspended to executed state when completion notifications arrive, reducing processing load while maintaining responsiveness

Inventive Principle:
Principle #25Self-service

2Reliability

If a thread repeatedly suspends and wakes up to check completion notifications, then the ability to respond to completion is maintained, but context switching overhead increases

Engineering Contradiction:
Improvecompletion notification detectionVSAvoidcontext switching overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The thread transitions dynamically between suspended and executed states based on completion notification availability. By suspending when no completion notification is present and only executing when needed, the system maintains reliable completion detection while minimizing context switching overhead through state-based management rather than repeated suspension/wake-up cycles

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The completion queue provides feedback to the thread about data reception status. When completion notifications are received, this feedback automatically triggers thread resumption from suspended state, ensuring reliable completion detection without requiring repeated active checking or unnecessary context switching

Inventive Principle:
Principle #23Feedback

3Productivity

If the delay time for completion notifications increases, then the processing load for checking completion is reduced, but the time to detect data reception completion increases

Engineering Contradiction:
Improveprocessing loadVSAvoidcompletion detection time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system uses self-service through automatic thread state management where the completion queue mechanism itself triggers thread resumption when data is received. The thread suspends during periods without completion notifications (reducing processing load) and is automatically resumed by the system when notifications arrive, eliminating the need for active checking while maintaining timely detection

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10581748B2Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
Publication Date: 2020.03.03 FUJITSU LTD
  • US10581748B2 patent drawing
  • US10581748B2 patent drawing
  • US10581748B2 patent drawing

AI summary

An information processing apparatus including a communication interface to communicate with another information processing apparatus, and a processor that executes a process including issuing, by a first thread, a reception request of data from the another information processing apparatus to the communication interface, determining, by using the first thread, whether a completion notification is stored in a queue that stores data transmitted from the other information processing apparatus, causing the first thread to transit to a suspended state when the completion notification is not stored, executing a processing by using a second thread included in the plurality of threads when the first thread is in the suspended state, determining whether the completion notification is stored in the queue after the processing, and transferring the received data to the first thread and causing the first thread to return from the suspended state, upon a storing of the completion notification.