Scheduling algorithm optimized to execute during low usage periods.
Posted
by The Rook
on Stack Overflow
See other posts from Stack Overflow
or by The Rook
Published on 2010-05-08T06:07:02Z
Indexed on
2010/05/08
6:08 UTC
Read the original article
Hit count: 273
scheduling
|algorithm
Lets say there is a Web Application serving mostly one country. Because of normal sleep habits website traffic follows a Sine wave, where 1 period lasts 24 hours and the lowest part of the wave is at about midnight.
Is there a scheduling algorithm optimized to execute during low usage periods?
I am thinking of this as a liquid that is "pored into" this sine wave to flatten out resource usage. A ideal algorithm would take the integral of this empty space. If the same tasks need to be run daily the amount of resources consumed by previous executions could be used to predict future usage by looking at the rate in which resource usage is increasing. By knowing the amount of resources required this algorithm could fill in this empty space while leaving as much buffer as possible on either side such that its interference was reduced as much as possible. It would also be possible to detect if there isn't enough resources before execution begins, this opens the door for a cloud to help out.
Does anything like this exist? Or should I build it into an existing scheduler like quartz and make it open source?
© Stack Overflow or respective owner