Control Transfer Table Structuring for Cache Miss Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Control transfer tables induce performance overhead due to inefficient memory hierarchy utilization, particularly in cache-hungry applications, leading to increased cache misses and page faults, as they are randomly generated and lack compiler control during construction.

Innovation Solution

A software tool structures control transfer tables based on entry hotness and architectural characteristics, regrouping entries to prioritize frequently accessed ones and minimize conflicts, using profile information to optimize memory access patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If control transfer tables are randomly generated, then flexibility is provided, but memory hierarchy utilization becomes inefficient leading to increased cache misses

Engineering Contradiction:
ImproveflexibilityVSAvoidmemory hierarchy utilization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The linker performs preliminary structuring of the control transfer table by ordering entries based on profile information about execution frequency before the program runs. This preliminary organization of hot entries near each other reduces cache misses during execution without requiring runtime intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention changes the arrangement parameter of control transfer table entries from random to ordered based on profile information. By reordering entries according to their execution frequency (hotness), the system optimizes memory hierarchy utilization while maintaining flexibility through profile-driven organization.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If control transfer tables are structured by hotness, then cache misses are reduced, but entry organization complexity increases

Engineering Contradiction:
Improvecache miss rateVSAvoidentry organization
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The complex task of optimizing entry organization is performed in advance by the linker during the linking stage, using profile information to determine entry order. This shifts the complexity from runtime to build time, where profile data is already available, avoiding the need for complex runtime analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses profile information as a template or copy to guide the structuring process. Instead of analyzing actual runtime behavior in detail, the linker copies the organizational pattern from pre-collected profile data about execution frequency, simplifying the structuring task while achieving optimal cache performance.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If control transfer tables span multiple memory pages, then larger tables are supported, but page faults increase due to sparse hot entries

Engineering Contradiction:
Improvetable sizeVSAvoidpage fault rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The control transfer table is segmented into memory pages, and the invention applies different organization strategies to different segments. By concentrating hot entries in specific pages and ordering them optimally, the system reduces the impact of page faults even when the overall table spans multiple pages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention changes the distribution parameter of entries across memory pages by ordering hot entries to fit within fewer pages or concentrate them in specific pages. This parameter change reduces the number of active pages and consequently reduces page faults while supporting large table sizes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8010956B1Control transfer table structuring
Publication Date: 2011.08.30 ORACLE AMERICAN INC
  • US8010956B1 patent drawing
  • US8010956B1 patent drawing
  • US8010956B1 patent drawing

AI summary

It has been discovered that a control transfer table can be structured to reduce the overhead resulting from its use (e.g., misses from accessing the control transfer table). Entries of a control transfer table (e.g., a jump table or a procedure linkage table) can be organized in accordance with their respective use frequencies, as well as other parameters. For example, entries can be organized in a manner that would group the most frequently used entries, thus facilitating their contemporaneous availability in a memory (e.g., cache). The use frequencies may be determined from profile information for a code that references the control transfer table.