zIIP Shifter Module Enabling Partial Program Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current mainframe computer systems require entire program restructuring to execute portions of programs on a System z Integrated Information Processor (zIIP), which is costly and prone to introducing programming bugs due to complex SRB-mode programming interfaces and intensive regression testing.

Innovation Solution

A method involving the insertion of service calls at the beginning and end of eligible zIIP code within programs to enable and disable SRB-mode execution on the zIIP processor, utilizing a 'zIIP shifter module' to manage this process without requiring full program restructuring.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If programs are entirely restructured to execute on zIIP processor, then zIIP execution eligibility is achieved, but development cost and complexity increase

Engineering Contradiction:
ImprovezIIP execution eligibilityVSAvoidprogram restructuring complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the program execution model by introducing a hybrid approach where only specific portions of programs (eligible code segments) are executed on zIIP processors, while other portions continue to execute on general processors. This is achieved through service calls that delimit eligible code segments, allowing partial migration to zIIP without complete program restructuring.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces service calls as intermediary mechanisms that enable the transition between general processor and zIIP processor execution modes. These service calls act as markers that delimit eligible code segments, allowing the system to dynamically switch execution contexts without requiring complete program redesign.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If entire program restructuring is performed for zIIP execution, then zIIP processing capability is utilized, but development time and testing effort increase

Engineering Contradiction:
ImprovezIIP processing capabilityVSAvoiddevelopment and testing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies partial action by enabling only the necessary portions of programs (eligible code segments) to execute on zIIP processors, rather than requiring complete program restructuring. This selective approach reduces development time and testing effort while still achieving the performance benefits of zIIP processing for critical workloads.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If SRB-mode programming interfaces are used for zIIP execution, then zIIP processor compatibility is achieved, but programming difficulty increases

Engineering Contradiction:
ImprovezIIP processor compatibilityVSAvoidprogramming ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent enables eligible code segments to self-identify and self-enable for zIIP execution through the use of service calls embedded within the code. This self-service mechanism reduces the burden on programmers to manually configure complex SRB-mode interfaces, as the eligible code automatically marks itself for zIIP execution when the service calls are encountered.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8935516B2Enabling portions of programs to be executed on system z integrated information processor (zIIP) without requiring programs to be entirely restructured
Publication Date: 2015.01.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8935516B2 patent drawing
  • US8935516B2 patent drawing
  • US8935516B2 patent drawing

AI summary

A system and computer program product for allowing portions of programs to be executed on a System z Integrated Information Processor (zIIP). A service call is inserted at the beginning of the zIIP eligible code to enable enclave Service Request Block (SRB)-mode execution on the zIIP processor. An additional service call is inserted at the end of the zIIP eligible code to disable the enclave SRB-mode execution. A module in the operating system, referred to herein as the “zIIP shifter module,” is configured to detect these service calls thereby implementing and terminating the SRB-mode execution so that the zIIP processor executes the zIIP eligible code for the appropriate duration of time. In this manner, only a portion of the programs that contain eligible zIIP executable code is executed on the zIIP processor without requiring the programs to be entirely restructured thereby reducing development cost and improving software development productivity.