Atlas: Look-ahead scheduling using workload metrics

From video and music to user interface animations, a lot of real-time workloads run on today's desktops and mobile devices, yet commodity operating systems offer scheduling interfaces like nice-levels, priorities or shares that do not adequately convey timing requirements. Real-time research offers many solutions with strong timeliness guarantees, but they often require a periodic task model and ask the developer for information that is hard to obtain like execution times or reservation budgets. Within this design space of easy programming, but weak guarantees on one hand and strong guarantees, but harder development on the other, we propose Atlas, the Auto-Training Look-Ahead Scheduler. With a simple yet powerful interface it relies exclusively on data from the application domain: It uses deadlines to express timing requirements and workload metrics to express resource requirements. It replaces implicit knowledge of future job releases as provided by periodic tasks with explicit job submission to enable look-ahead scheduling. Using video playback as a dynamic high-throughput load, we show that the proposed workload metrics are sufficient for Atlas to know an application's execution time behavior ahead of time. Atlas' predictions have a typical relative error below 10%.

[1]  David R. Cheriton,et al.  Borrowed-virtual-time (BVT) scheduling: supporting latency-sensitive threads in a general-purpose scheduler , 1999, OPSR.

[2]  Giorgio C. Buttazzo,et al.  Integrating multimedia applications in hard real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[3]  Emery D. Berger,et al.  Usenix Association 8th Usenix Symposium on Operating Systems Design and Implementation 73 Redline: First Class Support for Interactivity in Commodity Operating Systems , 2022 .

[4]  Michael Roitzsch Slice-balancing H.264 video encoding for improved scalability of multicore decoding , 2007, EMSOFT '07.

[5]  Sanjoy K. Baruah,et al.  Weighted feedback reclaiming for multimedia applications , 2008, 2008 IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia.

[6]  Shinpei Kato,et al.  AIRS: Supporting Interactive Real-Time Applications on Multicore Platforms , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[7]  Ajay Luthra,et al.  Overview of the H.264/AVC video coding standard , 2003, IEEE Trans. Circuits Syst. Video Technol..

[8]  Tommaso Cucinotta,et al.  On the Integration of Application Level and Resource Level QoS Control for Real-Time Applications , 2010, IEEE Transactions on Industrial Informatics.

[9]  Friedhelm Stappert,et al.  Worst-case execution times analysis of MPEG-2 decoding , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

[10]  Michael Roitzsch,et al.  Principles for the Prediction of Video Decoding Times Applied to MPEG-1/2 and MPEG-4 Part 2 Video , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[11]  Tommaso Cucinotta,et al.  QoS Management Through Adaptive Reservations , 2005, Real-Time Systems.

[12]  Ashvin Goel,et al.  Fair and timely scheduling via cooperative polling , 2009, EuroSys '09.

[13]  Gary J. Sullivan,et al.  Rate-constrained coder control and comparison of video coding standards , 2003, IEEE Trans. Circuits Syst. Video Technol..

[14]  Fabio Checconi,et al.  Self-tuning schedulers for legacy real-time applications , 2010, EuroSys '10.

[15]  Michael Roitzsch,et al.  Video quality and system resources: Scheduling two opponents , 2008, J. Vis. Commun. Image Represent..