Using pulses to control work ingress
AssigneeMicrosoft Corporation
InventorsNicholas A. Allen, Justin D. Brown
Life of this patent
Estimating the term…
Abstract
Clock pulses of a variable speed clock are adjusted relative to system utilization. A load monitor periodically collects sensor measurements of resources and based on the sensor measurements, the load monitor adjusts the clock speed up or down.
Claims20
At a computing system including one or more processors and system memory, the computer system including a variable speed clock and a pulse controller, the variable speed clock defining a clock frequency for emitting clock pulses based on a resource load, wherein the pulse controller matches work items to emitted clock pulses, a method for adjusting the frequency of the clock pulse, the method comprising:
- an act of one or more sensors taking one or more sample measurements of current availability of a corresponding system resource that each corresponding sensor is configured to monitor at a computing system;
- an act of determining a utilization of the computing system based on the one or more sample measurements taken by each of the one or more sensors;
- an act of issuing a clock rate adjustment to a variable speed clock, the clock rate adjustment instructing the variable speed clock to adjust a clock rate of the variable speed clock to align more closely with the determined utilization of the computing system;
- an act of calculating a new clock frequency based on the current clock frequency and the clock rate adjustment;
- and
- an act of calculating a time to emit a next clock pulse based on the new clock frequency.
A computer storage device comprising stored computer-executable instructions which, when executed at a computing system with at least one processor, implement a method for adjusting the frequency of a clock pulse emitted by a variable speed clock of the computing system that defines a clock frequency for emitting clock pulses based on a resource load, the computing system also including a pulse controller that matches work items to emitted clock pulses, wherein the method includes:
- an act of one or more sensors taking one or more sample measurements of current availability of a corresponding system resource that each corresponding sensor is configured to monitor at a computing system;
- an act of determining a utilization of the computing system based on the one or more sample measurements taken by each of the one or more sensors;
- an act of issuing a clock rate adjustment to a variable speed clock, the clock rate adjustment instructing the variable speed clock to adjust a clock rate of the variable speed clock to align more closely with the determined utilization of the computing system;
- an act of calculating a new clock frequency based on the current clock frequency and the clock rate adjustment;
- and
- an act of calculating a time to emit a next clock pulse based on the new clock frequency.
A computing system comprising:
- one or more processors;
- a variable speed clock, the variable speed clock defining a clock frequency for emitting clock pulses, the clock frequency being based on a resource load being consumed by processes of the computing system;
- a pulse controller, the pulse controller matching work items to emitted clock pulses;
- and
- one or more storage medium having stored computer executable instructions which, when executed by the one or more processors, implement a method for adjusting the frequency of clock pulses emitted by the variable speed clock, wherein the method includes:
- an act of issuing a clock rate adjustment to a variable speed clock, the clock rate adjustment instructing the variable speed clock to adjust a clock rate of the variable speed clock to align more closely with the determined utilization of the computing system;
- an act of calculating a new clock frequency based on the current clock frequency and the clock rate adjustment;
- and
- an act of calculating a time to emit a next clock pulse based on the new clock frequency.
Dependencies are inferred from the claim text.