Timer Wheel Scheduling for OS Tick Activity Peaks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing operating systems face inefficiencies in handling a large number of timers with varying periods, leading to peaks of activity followed by quiet periods due to context switching, which can overwhelm the system and result in suboptimal resource utilization.

Innovation Solution

A method for efficiently scheduling timer events by allocating timers to a set of available slots with a defined timer spread value, adjusting their expiry times to evenly distribute them across these slots within a timer wheel structure, reducing the overhead of processing tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If timers are scheduled using traditional OS tick-based allocation, then timer events can be triggered at precise intervals, but timer activity becomes concentrated in specific OS ticks creating peaks of activity followed by quiet periods

Engineering Contradiction:
Improvetimer trigger precisionVSAvoidsystem throughput efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides the timer wheel into multiple levels (e.g., 4 levels) with each level containing multiple slots. Timers are distributed across these levels and slots based on their expiry times. This segmentation allows timer events to be spread across many more granular positions, reducing concentration in any single OS tick while maintaining precise triggering at the required intervals.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to timer scheduling by creating a multi-level timer wheel structure. Instead of a single linear array of slots, timers are allocated across levels (L0, L1, L2, L3) where each level has progressively fewer slots. This dimensional expansion allows for finer distribution of timer events, spreading activity more evenly across OS ticks while preserving precise timing requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Manufacturing precision

If a large number of timers with small periods are implemented, then the system can handle fine-grained timing requirements, but context switching overhead overwhelms the OS

Engineering Contradiction:
Improvetiming granularityVSAvoidcontext switching overhead
Core Design Contradiction:
Manufacturing precisionVSLoss of energy

Solution Approach 1:

The patent merges multiple timer handling operations into a unified timer wheel structure that processes timers at hierarchical levels. By combining timers with different periods into a single coordinated system with levels L0-L3, the OS can batch process timer events more efficiently, reducing the frequency and overhead of individual context switches while maintaining fine-grained timing control.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic timer allocation where the timer wheel structure adapts to different timer periods and distributions. The hierarchical levels and slot assignments are dynamically determined based on timer characteristics, allowing the system to optimize the balance between timing granularity and processing efficiency for different workloads, reducing unnecessary context switching overhead.

Inventive Principle:
Principle #15Dynamics

3Productivity

If timer expiry times are adjusted to evenly distribute timers across slots, then peaks of activity are smoothed out, but the original expiry times may be altered

Engineering Contradiction:
Improvesystem workload distributionVSAvoidtimer expiry accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent applies local quality by allowing different levels of the timer wheel to have different slot configurations and spread characteristics. Lower levels (L0, L1) with more slots can accommodate timers that need stricter timing adherence, while higher levels (L2, L3) can accommodate timers with more flexibility. This localized approach ensures that timers requiring precise expiry times maintain their original timing, while others can be spread to smooth activity peaks.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of timer slot assignment from fixed original expiry time to a distributed range based on level and slot calculations. By modifying how expiry times are mapped to slots (using the hierarchical level structure and slot size multipliers), the system achieves better workload distribution while maintaining acceptable timing accuracy through the structured parameter transformation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9910703B2System and method for intelligent timer services
Publication Date: 2018.03.06 ACCEDIAN NETWORKS
  • US9910703B2 patent drawing
  • US9910703B2 patent drawing
  • US9910703B2 patent drawing

AI summary

A method is provided for efficiently scheduling timer events within an operating system by allocating a plurality of timers, each of which has an expiry time, to a set of available timer slots. The method defines a timer spread value that denotes the allowed variance of the expiry times of each of the timers, calculates a set of available timer slots for each of the timers based on the timer spread value, and adjusts the expiry times of the timers so as to insert and evenly spread the timers across the set of available timer slots. In one implementation, the set of available timer slots is located in a timer wheel existing within the operating system, and the timer wheel uses a plurality of timer vectors arranged into successively increasing levels, beginning with level zero.