Page-Protected Memory Barrier Traps for Garbage Collection Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional garbage collection mechanisms face inefficiencies, particularly in concurrent page-based memory access, where memory access barrier traps are expensive in terms of cycle time and latency, and do not scale well in multiprocessor systems, leading to performance degradation.

Innovation Solution

Modifying the operating system kernel to implement page-protection based memory access barrier traps by computing a user-mode bit for each virtual page, allowing for fast translation of access protection faults into user-traps, thereby reducing the need for costly kernel-mode triage and improving scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional memory access barrier traps are used during garbage collection, then memory access safety is ensured, but cycle time and latency increase significantly

Engineering Contradiction:
Improvememory access safetyVSAvoidcycle time and latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the trap handling process by introducing a flag mechanism that distinguishes between GC-related access barriers and other access protection faults. This segmentation allows the system to quickly identify and handle GC barriers without full kernel-mode triage, reducing latency while maintaining safety.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by setting a flag in the page table entry before the actual garbage collection operation. This pre-marking allows the trap handler to immediately recognize GC-related accesses and route them appropriately without requiring complex analysis during trap handling, thus reducing cycle time.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If conventional memory access barrier traps are used during garbage collection, then memory access control is maintained, but scalability in multiprocessor systems deteriorates

Engineering Contradiction:
Improvememory access controlVSAvoidscalability in multiprocessor systems
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the trap handling workload by introducing a classification mechanism (the flag) that separates GC-related traps from other traps. This segmentation enables parallel processing of different trap types across multiple processors, improving scalability without compromising access control.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a flag as an intermediary mechanism between the garbage collection process and the trap handler. This intermediary allows the system to communicate GC-related information through the page table without requiring complex inter-processor communication protocols, thereby improving scalability in multiprocessor environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If page-protection based memory access barrier traps are implemented with flag computation, then performance and scalability are improved, but kernel complexity increases

Engineering Contradiction:
Improveperformance and scalabilityVSAvoidkernel complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses a simplified copying approach by replicating the flag bit in the page table entry structure. This copying mechanism allows the kernel to track GC-related pages without requiring complex data structures or additional kernel components, thus limiting the increase in kernel complexity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent changes a simple parameter (adding a flag bit to page table entries) to enable the enhanced trap handling functionality. This minimal parameter change approach achieves performance and scalability improvements while avoiding significant increases in kernel complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8725974B2Page-protection based memory access barrier traps
Publication Date: 2014.05.13 SUN MICROSYSTEMS INC
  • US8725974B2 patent drawing
  • US8725974B2 patent drawing
  • US8725974B2 patent drawing

AI summary

A method, apparatus and computer program product for providing page-protection based memory access barrier traps is presented. A value for a user-mode bit (u-bit) is computed for each extant virtual page in an address space, the u-bit indicative that an object on the virtual page is being moved by a Garbage Collector process. An instruction is executed which causes an access protection fault. The state of the u-bit for the virtual page associated with the access protection fault is consulted when the access protection fault is encountered. Additionally, the access protection fault is translated into a user-trap (utrap) and the utrap is serviced when the u-bit is set.