Read-Copy Update Reader Priority Boosting for Grace Period Delays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In preemptive real-time computing environments, the preemption of low-priority readers holding references to shared data can hinder grace period processing, leading to out-of-memory situations and resource starvation for high-priority processes, as existing methods require expensive operations and scanning large process lists, which is inefficient and time-consuming.

Innovation Solution

A priority-boosting technique that identifies and boosts the priority of only those readers holding up grace period processing, allowing them to complete their read-side critical sections ahead of other processes, thereby minimizing delays and preventing out-of-memory conditions, without using expensive operations or scanning large numbers of processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional preemption methods are used in real-time computing environments, then high-priority processes can preempt low-priority readers, but this causes grace period processing to be delayed and leads to out-of-memory situations

Engineering Contradiction:
Improvegrace period processing completionVSAvoidgrace period processing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary identification of readers holding up grace period processing before preemption occurs. By tracking which readers are referencing shared data elements that need to be freed, the system can proactively boost their priority to prevent grace period delays rather than reacting after preemption has caused problems

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes the priority parameter of specific reader processes based on their impact on grace period processing. Readers that are holding up grace period processing have their priority boosted from normal to high, while other readers maintain their original priority levels, allowing selective preemption protection

Inventive Principle:
Principle #35Parameter changes

2Reliability

If all readers are scanned to identify those holding up grace period processing, then the correct readers can be prioritized, but this requires expensive operations and scanning large process lists which is inefficient

Engineering Contradiction:
Improvereader priority identification accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the reader population into two groups: readers that are holding up grace period processing (and need priority boosting) and readers that are not (and maintain normal priority). This segmentation is achieved by tracking which readers have active references to shared data elements that need to be freed, avoiding the need to scan all readers uniformly

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary tracking mechanism that monitors reader references to shared data elements. This intermediary structure (data structure tracking active readers and their references) serves as a mediator between the reader processes and the priority scheduling system, enabling efficient identification without direct scanning of all readers

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7734879B2Efficiently boosting priority of read-copy update readers in a real-time data processing system
Publication Date: 2010.06.08 X CORP
  • US7734879B2 patent drawing
  • US7734879B2 patent drawing
  • US7734879B2 patent drawing

AI summary

A technique for efficiently boosting the priority of a preemptable data reader in order to eliminate impediments to grace period processing that defers the destruction of one or more shared data elements that may be referenced by the reader until the reader is no longer capable of referencing the data elements. Upon the reader being subject to preemption or blocking, it is determined whether the reader is in a read-side critical section referencing any of the shared data elements. If it is, the reader's priority is boosted in order to expedite completion of the critical section. The reader's priority is subsequently decreased after the critical section has completed. In this way, delays in grace period processing due to reader preemption within the critical section, which can result in an out-of-memory condition, can be minimized efficiently with minimal processing overhead.