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: 244

Filed under:
|

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. alt text

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

Related posts about scheduling

Related posts about algorithm