Extending Exclusive Cache Line Hold to Reduce Semaphore Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessing computing environments, excessive speculative memory requests lead to increased contention for semaphores, degrading overall system performance as cache lines containing semaphores frequently traverse the system unproductively, causing processing units to release exclusive ownership prematurely.

Innovation Solution

A method that allows a processing unit to extend the exclusive hold on a cache line containing a semaphore beyond standard memory management protocols, initiated by signaling the unit to continue holding the cache line for a designated interval based on the type of storage operand request, thereby reducing unnecessary cache line traversals and improving system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If standard memory management protocols are used, then cache lines are released promptly after processing, but processing units cannot complete tasks before releasing cache lines, leading to frequent unproductive traversals

Engineering Contradiction:
Improvetask completion rateVSAvoidcache line traversal time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary action by extending the exclusive hold on cache lines containing semaphores beyond the standard processing duration. This allows processing units to retain cache lines for a designated extended interval, enabling them to complete additional tasks before release without triggering premature invalidation requests from other processing units.

Inventive Principle:
Principle #10Preliminary action

2Speed

If processing units release cache lines promptly, then memory access is fast, but semaphore contention increases as cache lines traverse the system unproductively

Engineering Contradiction:
Improvememory access speedVSAvoidsystem performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system applies continuity of useful action by maintaining the exclusive hold on semaphore-containing cache lines for an extended designated interval rather than releasing them immediately. This continuous retention prevents other processing units from accessing these cache lines during the extended period, eliminating unproductive traversals while allowing the owning processing unit to complete additional useful work.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If exclusive hold on cache lines is extended, then fewer cache line traversals occur, but memory management protocol complexity increases

Engineering Contradiction:
Improvecache line utilization efficiencyVSAvoidmemory management protocol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies local quality by selectively extending the exclusive hold only for cache lines containing semaphores, rather than uniformly extending holds for all cache lines. This targeted approach is implemented through instructions that identify semaphore-containing cache lines and apply extended holding only to those specific cases, maintaining simplicity for other cache line management operations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3568769B1Facility for extending exclusive hold of a cache line in private cache
Publication Date: 2023.02.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP3568769B1 patent drawingFigure 1
  • EP3568769B1 patent drawingFigure 2
  • EP3568769B1 patent drawingFigure 3

AI summary

A computing environment facility is provided to extend a hold of a cache line in private (or local) cache exclusively after processing a storage operand request. The facility includes determining whether a storage operand request to a storage location shared by multiple processing units of the computing environment is designated hold. In addition, a determination is made whether a state of the corresponding cache line in private cache used for processing the storage operand request is owned exclusively. Based on determining that the storage operand request is designated hold, and that the state of the corresponding cache line in private cache used for processing the storage operand request is owned exclusively, continuing to hold the corresponding cache line in the private cache exclusively after completing processing of the storage operand request. The continuing to hold may include initiating a counter to facilitate the continuing hold for a desired, set interval.