Scheduler Queue Introspection Using a Lock-Free Skiplist

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional scheduler queues in computing systems do not allow unfettered access to their contents at runtime, leading to potential system unresponsiveness and limited information for determining code execution bottlenecks due to exclusive locking mechanisms.

Innovation Solution

Implementing a lock-free skiplist-based scheduler queue with memory reclamation schemes like Quiescent State Based Reclamation (QSBR) and Epoch Based Reclamation (EBR) to enable efficient introspection of scheduler queue contents, including logically-deleted entries, without locking the queue during iteration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If exclusive locking mechanisms are used to protect scheduler queue contents, then data consistency is maintained, but system responsiveness deteriorates due to potential unresponsiveness during queue reading

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem responsiveness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The scheduler queue is segmented into multiple independent skip lists, each managing a specific priority level. This segmentation allows different parts of the queue to be accessed independently, enabling concurrent read operations on different priority levels without requiring global locking, thus maintaining data consistency while improving system responsiveness

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Version vectors are introduced as intermediaries to mediate between readers and writers of the scheduler queue. The version vector acts as a coordination mechanism that allows threads to safely access queue contents without exclusive locking by checking version compatibility, thereby maintaining data consistency while avoiding system unresponsiveness

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If conventional scheduler queues with mutex locking are used, then thread safety is ensured, but information accessibility deteriorates due to limited information in queue entries

Engineering Contradiction:
Improvethread safetyVSAvoidqueue entry information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The queue entry structure is extended to include multiple types of information beyond basic job identification, such as version vectors for concurrency control, priority levels for scheduling, and detailed job metadata for debugging and monitoring. This multi-functional entry structure maintains thread safety through version vectors while providing comprehensive information for bottleneck analysis

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

Traditional mutex-based mechanical locking is replaced with a software-based version vector mechanism that uses atomic read-modify-write operations. This substitution eliminates the need for exclusive locks while ensuring thread safety through version checking, allowing simultaneous access to queue contents with full information visibility

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If lock-free data structures are used to improve access efficiency, then system responsiveness is improved, but implementation complexity increases due to memory reclamation schemes

Engineering Contradiction:
Improveaccess efficiencyVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Memory reclamation is performed preliminarily through epoch-based tracking before actual deallocation occurs. The system maintains epoch counters and reference counts that track when memory can be safely reclaimed, allowing lock-free operations to proceed efficiently while managing complexity through structured memory lifecycle management

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The implementation uses atomic reference counting and epoch parameters to manage memory reclamation in lock-free structures. By changing the state parameters (reference counts, epoch numbers) atomically, the system achieves efficient concurrent access while managing memory safely, balancing access efficiency with implementation complexity

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20260030054A1Runtime scheduler queue introspection
Publication Date: 2026.01.29 SAP SE
  • US20260030054A1 patent drawing
  • US20260030054A1 patent drawing
  • US20260030054A1 patent drawing

AI summary

A system includes storage of job data describing a computing job in a job data location, creation of a queue entry associated with the computing job, the queue entry comprising a pointer to the job data location and a subset of the job data, storage of the queue entry in a job scheduler queue of a lock-free skiplist at a position based on a priority of the job, and reading of data from the queue entry and from a plurality of other queue entries of the job scheduler queue.