Abstract

As computer systems operate 24 hours a day, 7 days a week, it is becoming common to schedule maintenance jobs during idle times. These jobs are considered background jobs. Background jobs are used for improving system reliability, availability, and consistency, to enhancing system performance, Completion of background jobs is critical to system operation, yet their priority is not as high as that of foreground jobs, i.e., the regular jobs of the system users. In addition, scheduling of background activities should not compromise the performance of foreground jobs. We focus on the general problem of how to bin-pack nonpreemptive background jobs during system idle times. Idleness is considered as an additional system resource that needs to be effectively managed but there is a trade-off between maximizing the completions of non-preemptive background jobs while minimizing their impact on foreground performance. Previous work focuses on monitoring the performance of foreground and background jobs [1] to base background scheduling decisions. [1] proposes to idle wait, i.e., to delay scheduling of a background job during an idle interval. This delay is fixed and equal to the average demand of a background job. Here, in addition to monitoring the performance of foreground and background jobs, measurements of the empirical distribution of idle times are also collected. Resource management of idle times is now done in a dynamic way, using statistical information not only on the foreground and background job demands, but also on the idle intervals of the system. This statistical information is collected online

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call