Prefetching Discontiguous Storage for Transactional Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing number of CPU cores and shared memory in computer systems leads to scalability issues due to hot spots in shared queues or data structures protected by traditional semaphores, which are complicated and error-prone to manage, and hardware interconnect latencies are limited by physical dimensions and light speed.

Innovation Solution

A computer-implemented method and system for prefetching data at discontiguous storage locations using a prefetch instruction that specifies a list of entries with storage addresses and metadata, allowing the system to initiate caching of data blocks in a cache, optimizing data access and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional semaphores are used to protect shared data structures, then data consistency is maintained, but software scalability deteriorates due to hot spots and sub-linear scaling curves

Engineering Contradiction:
Improvedata consistencyVSAvoidsoftware scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the shared data structure into multiple independent queues, each protected by its own lock instead of using a single semaphore. This segmentation distributes the contention across multiple locks, eliminating hot spots and enabling linear scalability while maintaining data consistency through fine-grained locking.

Inventive Principle:
Principle #1Segmentation

2Productivity

If fine-grained locking is implemented to improve software scalability, then productivity improves, but device complexity increases making the system complicated and error-prone

Engineering Contradiction:
Improvesoftware scalabilityVSAvoidlocking mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a queue manager as an intermediary that automatically manages the complex fine-grained locking operations. The queue manager handles lock acquisition, release, and coordination transparently, allowing applications to benefit from fine-grained locking scalability improvements without directly managing the complexity of multiple locks.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If hardware interconnect bandwidth is increased to reduce latency, then speed improves, but device complexity and cost increase

Engineering Contradiction:
Improveinterconnect latencyVSAvoidhardware interconnect complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-fetching data from shared memory into local caches before it is needed by the transaction. This advance data movement reduces the need for high-speed hardware interconnects during critical transaction execution, thereby reducing latency without requiring complex high-bandwidth hardware interconnect modifications.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10228943B2Prefetching of discontiguous storage locations in anticipation of transactional execution
Publication Date: 2019.03.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10228943B2 patent drawing
  • US10228943B2 patent drawing
  • US10228943B2 patent drawing

AI summary

Discontiguous storage locations are prefetched by a prefetch instruction. Addresses of the discontiguous storage locations are provided by a list directly or indirectly specified by a parameter of the prefetch instruction, along with metadata and information about the list entries. Fetching of corresponding data blocks to cache lines is initiated. A processor may enter transactional execution mode and memory instructions of a program may be executed using the prefetched data blocks.