High accuracy timer in a multi-processor computing system without using dedicated hardware timer resources
AssigneeMicrosoft Corporation
InventorGeorgios Chrysanthakopoulos
Life of this patent
Estimating the term…
Abstract
Technologies for a high-accuracy timer in a tasked-based, multi-processor computing system without using dedicated hardware timer resources.
Claims18
A computing system configured for performing actions, the system comprising a plurality of processors and a plurality of task schedulers that each corresponds to a unique one of the plurality of processors, the actions comprising:
- completing a current task;
- checking a timer event list for a scheduled timer event;
- determining if the scheduled timer event is scheduled to trigger within a particular window of time;
- and
- if the scheduled timer event is scheduled to trigger within the particular window of time then servicing the scheduled timer event, otherwise checking for a next task, where each of the plurality of task schedulers is configured for competing with others of the plurality of task schedulers to service timer events on the timer event list prior to competing to process tasks, and is further configured for checking, upon completion of a task by the unique one of the plurality of processors that corresponds to the each of the plurality of schedulers, for a scheduled timer event on the timer event list, where timer events are maintained on the timer event list in a sorted order based on trigger times, and where one of the maintained timer events with a closest of the trigger times is first on the timer event list.
A method of servicing timer events, the method performed by a plurality of processors and a plurality of task schedulers that each corresponds to a unique one of the plurality of processors, the method comprising:
- completing a current task;
- checking a timer event list for a scheduled timer event;
- determining if the scheduled timer event is scheduled to trigger within a particular window of time;
- and
- if the scheduled timer event is scheduled to trigger within the particular window of time then servicing the scheduled timer event, otherwise checking for a next task, where each of the plurality of task schedulers is configured for competing with others of the plurality of task schedulers to service timer events on the timer event list prior to competing to process tasks, and is further configured for checking, upon completion of a task by the unique one of the plurality of processors that corresponds to the each of the plurality of schedulers, for a scheduled timer event on the timer event list, where timer events are maintained on the timer event list in a sorted order based on trigger times, and where one of the maintained timer events with a closest of the trigger times is first on the timer event list.
At least one computer-readable storage device storing computer-executable instructions the, when executed by a computer, cause the computer to perform a method of servicing timer events, the computer comprising a plurality of processors and a plurality of task schedulers that each corresponds to a unique one of the plurality of processors, the method comprising:
- completing a current task;
- checking a timer event list for a scheduled timer event;
- determining if the scheduled timer event is scheduled to trigger within a particular window of time;
- and
- if the scheduled timer event is scheduled to trigger within the particular window of time then servicing the scheduled timer event, otherwise checking for a next task, where each of the plurality of task schedulers is configured for competing with others of the plurality of task schedulers to service timer events on the timer event list prior to competing to process tasks, and is further configured for checking, upon completion of a task by the unique one of the plurality of processors that corresponds to the each of the plurality of schedulers, for a scheduled timer event on the timer event list, where timer events are maintained on the timer event list in a sorted order based on trigger times, and where one of the maintained timer events with a closest of the trigger times is first on the timer event list.
Dependencies are inferred from the claim text.