Externally Assisted Calls for Data Plane Processor OS Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In the Cell Broadband Engine architecture, data plane processors lack direct access to operating system services such as file I/O, shared memory access, and I/O control services due to the operating system running on the control plane processor, limiting the functionality of applications executing on data plane processors.

Innovation Solution

The mechanism of externally assisted calls allows data plane processors to request assistance from control plane processors by constructing a parameter area, generating an assisted call message, and using a stop-and-signal instruction to signal the control plane processor, enabling the execution of operating system services that are not available on the data plane processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the operating system runs on the control plane processor, then the operating system services are available and protected, but the data plane processors cannot directly access these services

Engineering Contradiction:
Improveoperating system service availabilityVSAvoidaccess to operating system services
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism where the control plane processor acts as a mediator between data plane processors and operating system services. When a data plane processor needs OS services, it executes a stop-and-signal instruction that transfers control to the control plane processor, which then provides the requested service while maintaining the original architecture's protection boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If data plane processors have direct access to operating system services, then functionality is enhanced, but the protection mechanisms and isolation are compromised

Engineering Contradiction:
Improvefunctionality of data plane processorsVSAvoidprotection mechanisms
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The control plane processor serves as a protected intermediary that data plane processors can safely interact with. This maintains the isolation architecture while enabling enhanced functionality through controlled access to OS services via the stop-and-signal mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If operating system services run on data plane processors, then access is direct and fast, but the architecture complexity increases and protection is lost

Engineering Contradiction:
Improveaccess speed to servicesVSAvoidarchitecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Rather than duplicating OS services on data plane processors (which would increase complexity), the patent uses the control plane processor as an intermediary that provides centralized service access. The stop-and-signal instruction enables efficient communication without requiring complex architectural changes or service duplication.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP1949222B1Apparatus and method for performing externally assisted calls in a heterogeneous processing complex
Publication Date: 2015.02.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP1949222B1 patent drawingFigure 1
  • EP1949222B1 patent drawingFigure 2A~3A
  • EP1949222B1 patent drawingFigure 2B

AI summary

An apparatus and method are provided for accessing, by an application running on a first processor, operating system services from an operating system running on a second processor by performing an assisted call. A data plane processor first constructs a parameter area based on the input and output parameters for the function that requires control processor assistance. The current values for the input parameters are copied into the parameter area. An assisted call message is generated based on a combination of a pointer to the parameter area and a specific library function opcode for the library function that is being called. The assisted call message is placed into the processor's stack immediately following a stop-and-signal instruction. The control plane processor is signaled to perform the library function corresponding to the opcode on behalf of the data plane processor by executing a stop and signal instruction.