Coroutine Prefetching for CPU Throughput Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The degradation of CPU throughput due to the slower memory access speeds compared to cache speeds, resulting in significant delays when the required data is not stored in the cache, leading to reduced processing efficiency.

Innovation Solution

Implementing a processing method that determines whether a to-be-fetched object is stored in the target cache and, if not, prefetches it while switching to a second coroutine, allowing parallel prefetching and processing, thereby improving CPU throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the CPU accesses memory to obtain required data, then the data can be obtained, but the CPU needs to spend a large amount of time resulting in degradation of throughput capability

Engineering Contradiction:
Improvedata availabilityVSAvoidCPU throughput capability
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies preliminary action by implementing a prediction mechanism that anticipates cache misses before they occur. The system predicts which data will be needed soon and prefetches it into the cache in advance, so when the CPU actually needs the data, it is already available in the cache without causing a cache miss. This resolves the contradiction by proactively preparing data availability while avoiding the time-consuming memory access penalty.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs feedback mechanisms through performance counters that monitor actual cache miss rates and predict accuracy. The system uses this feedback to continuously refine its prediction algorithms and adjust prefetching strategies. By learning from actual access patterns and predicting outcomes, the system optimizes data prefetching to improve CPU throughput while ensuring data availability.

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If the CPU waits for data to be fetched from memory, then the data can be obtained, but the processing time increases significantly

Engineering Contradiction:
Improvedata acquisitionVSAvoidCPU waiting time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary data acquisition by prefetching data into the cache before the CPU actually needs it. The prediction mechanism identifies upcoming data access requirements and triggers premature fetching from memory into the cache. This way, when the CPU needs the data, it is already present in the fast cache memory, eliminating waiting time and avoiding the significant delay that would occur if the CPU waited for data to be fetched on demand.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuity of useful action by keeping the CPU pipeline continuously productive through speculative prefetching. Instead of the CPU idling while data is fetched from slow memory, the system maintains continuous data flow into the cache and continuous instruction execution. The prediction and prefetch mechanisms ensure that data is constantly being prepared in advance, eliminating gaps in useful processing action.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of operation

If the CPU executes instructions sequentially, then the execution is simple, but the throughput is limited by memory access speed

Engineering Contradiction:
Improveexecution simplicityVSAvoidCPU throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces preliminary action through speculative execution and data prefetching. The system predicts which instructions and data will be needed soon and executes them in advance or prepares the data in advance. This allows the CPU to execute instructions more efficiently by reducing stalls caused by memory access, thereby increasing throughput while maintaining relatively simple sequential execution logic through the power of prediction and preparation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240231887A1Processing method and apparatus, processor, electronic device, and storage medium
Publication Date: 2024.07.11 ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
  • US20240231887A1 patent drawing
  • US20240231887A1 patent drawing
  • US20240231887A1 patent drawing

AI summary

One or more embodiments of this specification provide a processing method, including: when a first coroutine is executed, determining whether a to-be-fetched object in an execution process is stored in a target cache; and if it is determined that the to-be-fetched object is not stored in the target cache, prefetching the to-be-fetched object, and switching the currently executed first coroutine to a second coroutine. According to the processing method provided in the embodiments of this specification, a throughput capability of a CPU can be improved.