Abstract
This article presents the design of user-level scheduling hierarchies in the Composite component-based system. The motivation for this is centered around the design of a system that is both dependable and predictable, and which is configurable to the needs of specific applications. Untrusted application developers can safely develop services and policies, that are isolated in protection domains outside the kernel. To ensure predictability, Composite enforces timing control over user-space services. Moreover, it must provide a means by which asynchronous events, such as interrupts, are handled in a timely manner without jeopardizing the system. Towards this end, we describe the features of Composite that allow user-defined scheduling policies to be composed for the purposes of combined interrupt and task management. A significant challenge arises from the need to synchronize access to shared data structures (e.g., scheduling queues), without allowing untrusted code to disable interrupts. Additionally, efficient upcall mechanisms are needed to deliver asynchronous event notifications in accordance with policy-specific priorities, without undue recourse to schedulers. We show how these issues are addressed in Composite, by comparing several hierarchies of scheduling polices, to manage both tasks and the interrupts on which they depend. Studies show how it is possible to implement guaranteed differentiated services as part of the handling of I/O requests from a network device while diminishing livelock. Microbenchmarks indicate that the costs of implementing and invoking user-level schedulers in Composite are on par with, or less than, those in other systems, with thread switches more than twice as fast as in Linux.
- Accetta, M. J., Baron, R. V., Bolosky, W. J., Golub, D. B., Rashid, R. F., Tevanian, A., and Young, M. 1986. Mach: A new kernel foundation for unix development. In USENIX Summer Conference. 93--113.Google Scholar
- Anderson, J. H., Ramamurthy, S., and Jeffay, K. 1997. Real-time computing with lock-free shared objects. ACM Trans. Comput. Syst. 15, 2, 134--165. Google Scholar
Digital Library
- Anderson, T. E., Bershad, B. N., Lazowska, E. D., and Levy, H. M. 1991. Scheduler activations: effective kernel support for the user-level management of parallelism. In Proceedings of the 13th ACM Symposium on Operating Systems Principles (SOSP'91). ACM Press, New York, 95--109. Google Scholar
Digital Library
- Aswathanarayana, T., Niehaus, D., Subramonian, V., and Gill, C. 2005. Design and performance of configurable endsystem scheduling mechanisms. In Proceedings of the 11th IEEE Real Time Symposium on Embedded Technology and Applications (RTAS'05). IEEE, 32--43. Google Scholar
Digital Library
- Barreto, L. P. and Muller, G. 2002. Bossa: a language-based approach to the design of real-time schedulers. In Proceedings of the 10th International Conference on Real-Time Systems (RTS'02). 19--31.Google Scholar
- Bershad, B. N., Redell, D. D., and Ellis, J. R. 1992. Fast mutual exclusion for uniprocessors. In Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, New York, 223--233. Google Scholar
Digital Library
- Bruno, J., Brustoloni, J., Gabber, E., Silberschatz, A., and Small, C. 1999. Pebble: A component-based operating system for embedded applications. In Proceedings of the. USENIX Workshop on Embedded Systems. 55--65. Google Scholar
Digital Library
- Buttazzo, G. C. 2005. Rate monotonic vs. edf: judgment day. Real-Time Syst. 29, 1, 5--26. Google Scholar
Digital Library
- del Foyo, L. E. L., Mejia-Alvarez, P., and de Niz, D. 2006. Predictable interrupt management for real time kernels over conventional pc hardware. In Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06). IEEE, 14--23. Google Scholar
Digital Library
- Druschel, P. and Banga, G. 1996. Lazy receiver processing (lrp): A network subsystem architecture for server systems. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation (OSDI'96). ACM Press, New York, 261--275. Google Scholar
Digital Library
- Ford, B. and Lepreau, J. 1994. Evolving mach 3.0 to a migrating thread model. In Proceedings of the USENIX Technical Conference and Exhibition. 97--114. Google Scholar
Digital Library
- Ford, B. and Susarla, S. 1996. Cpu inheritance scheduling. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation (OSDI'96). ACM Press, New York, 91--105. Google Scholar
Digital Library
- Franke, H., Russell, R., and Kirkwood, M. 2002. Fuss, futexes and furwocks: Fast userlevel locking in linux. In Proceedings of the Ottawa Linux Symposium.Google Scholar
- Fry, G. and West, R. 2007. On the integration of real-time asynchronous event handling mechanisms with existing operating systemservices. In Proceedings of the International Conference on Embedded Systems & Applications. 83--90.Google Scholar
- Gai, P., Abeni, L., Giorgi, M., and Buttazzo, G. 2001. A new kernel approach for modular real-time systems development. In Proceedings of the 13th IEEE Euromicro Conference on Real-Time Systems. Google Scholar
Digital Library
- Gamsa, B., Krieger, O., Appavoo, J., and Stumm, M. 1999. Tornado: maximizing locality and concurrency in a shared memory multiprocessor operating system. In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI'99). USENIX Association, Berkeley, CA, 87--100. Google Scholar
Digital Library
- Goyal, P., Guo, X., and Vin, H. M. 1996. A hierarchial CPU scheduler for multimedia operating systems. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation (OSDI'96). ACM, New York, 107--121. Google Scholar
Digital Library
- Hohmuth, M. and Härtig, H. 2001. Pragmatic nonblocking synchronization for real-time systems. In Proceedings of the USENIX Annual Technical Conference. 217--230. Google Scholar
Digital Library
- Liedtke, J. 1995. On micro-kernel construction. In Proceedings of the 15th ACM Symposium on Operating System Principles. ACM. Google Scholar
Digital Library
- Mehnert, F., Hohmuth, M., and Härtig, H. 2002. Cost and benefit of separate address spaces in real-time operating systems. In Proceedings of the 23rd IEEE Real-Time Systems Symposium. Google Scholar
Digital Library
- Mogul, J., Rashid, R., and Accetta, M. 1987. The packer filter: an efficient mechanism for user-level network code. In Proceedings of the 11th ACM Symposium on Operating Systems Principles (SOSP'87). ACM, New York, 39--51. Google Scholar
Digital Library
- Mogul, J. C. and Ramakrishnan, K. K. 1997. Eliminating receive livelock in an interrupt-driven kernel. ACM Trans. Comput. Syst. 15, 3, 217--252. Google Scholar
Digital Library
- Pagh, R. and Rodler, F. F. 2001. Cuckoo hashing. In Proceedings of the 9th Annual European Symposium on Algorithms. Lecture Notes in Computer Science, vol. 2161, 121--144. Google Scholar
Digital Library
- Parmer, G. 2010. The case for thread migration: Predictable ipc in a customizable and reliable OS. In Proceedings of the Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT'10).Google Scholar
- Parmer, G. and Song, J. 2010. Customizable and predictable synchronization in a component-based OS. In Proceedings of the International Conference on Embedded Systems and Applications.Google Scholar
- Parmer, G. and West, R. 2007a. Hijack: Taking control of cots systems for real-time user-level services. In Proceedings of the 13th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'07). Google Scholar
Digital Library
- Parmer, G. and West, R. 2007b. Mutable protection domains: Towards a component-based system for dependable and predictable computing. In Proceedings of the 28th IEEE International Real-Time Systems Symposium (RTSS'07). IEEE Computer Society, Los Alamitos, CA, USA, 365--378. Google Scholar
Digital Library
- Parmer, G. and West, R. 2008. Predictable interrupt management and scheduling in the Composite component-based system. In Proceedings of the 29th IEEE International Real-Time Systems Symposium (RTSS'08). IEEE. Google Scholar
Digital Library
- Parmer, G. A. 2009. Composite: A component-based operating system for predictable and dependable computing. Ph.D. thesis, Boston University, Boston, MA. Google Scholar
Digital Library
- Patil, A. and Audsley, N. 2005. Implementing application specific rtos policies using reflection. In Proceedings of the Real Time and Embedded Technology and Applications Symposium. 438--447. Google Scholar
Digital Library
- Rajkumar, R., Juvva, K., Molano, A., and Oikawa, S. 2001. Readings in Multimedia Computing and Networking. Morgan Kaufmann Publishers Inc., San Francisco, CA, 476--490. Google Scholar
Digital Library
- Regehr, J. and Stankovic, J. A. 2001. HLS: A framework for composing soft real-time schedulers. In Proceedings of the 22nd IEEE Real-Time Systems Symposium (RTSS'01). 3--14. Google Scholar
Digital Library
- RTLinux. Real-Time Linux: http://www.rtlinux.org.Google Scholar
- Ruocco, S. 2006. User-level fine-grained adaptive real-time scheduling via temporal reflection. In Proceedings of 27th IEEE International Real-Time Systems Symposium (RTSS'06). 246--256. Google Scholar
Digital Library
- Ruocco, S. 2008. A real-time programmer's tour of general-purpose l4 microkernels. EURASIP J. Embedd. Syst. Google Scholar
Digital Library
- Sha, L., Rajkumar, R., and Lehoczky, J. P. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Comput. 39, 9, 1175--1185. Google Scholar
Digital Library
- Shin, I. and Lee, I. 2003. Periodic resource model for compositional real-time guarantees. In Proceedings of the Real Time Systems Symposium. Google Scholar
Digital Library
- Steinberg, U., Wolter, J., and Hartig, H. 2005. Fast component interaction for real-time systems. In Proceedings of the 17th Euromicro Conference on Real-Time Systems (ECRTS'05). IEEE, 89--97. Google Scholar
Digital Library
- Stoess, J. 2007. Towards effective user-controlled scheduling for microkernel-based systems. SIGOPS Oper. Syst. Rev. 41, 4, 59--68. Google Scholar
Digital Library
- Strosnider, J. K., Lehoczky, J. P., and Sha, L. 1995. The deferrable server algorithm for enhanced aperiodic responsiveness in hard real-time environments. IEEE Trans. Comput. 44, 1, 73--91. Google Scholar
Digital Library
- Tennenhouse, D. 1989. Layered multiplexing considered harmful. In Protocols for High-Speed Networks. North Holland, Amsterdam, 143--148.Google Scholar
- Von Behren, R., Condit, J., Zhou, F., Necula, G., and Brewer, E. 2003. Capriccio: Scalable threads for internet services. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP). Google Scholar
Digital Library
- Zhang, Y. and West, R. 2006. Process-aware interrupt scheduling and accounting. In Proceedings of the 27th IEEE International Real-Time Systems Symposium (RTSS'06). IEEE, 191--201. Google Scholar
Digital Library
Index Terms
Predictable and configurable component-based scheduling in the Composite OS
Recommendations
Predictable Interrupt Management and Scheduling in the Composite Component-Based System
RTSS '08: Proceedings of the 2008 Real-Time Systems SymposiumThis paper presents the design of user-level scheduling hierarchies in the Composite component-based system. The motivation for this is centered around the design of a system that is both dependable and predictable, and which is configurable to the ...
Scheduling of deteriorating jobs with release dates to minimize the maximum lateness
In this paper, we consider the problem of scheduling n deteriorating jobs with release dates on a single (batching) machine. Each job's processing time is a simple linear function of its starting time. The objective is to minimize the maximum lateness. ...
Interrupt handler migration and direct interrupt scheduling for rapid scheduling of interrupt-driven tasks
In this article, we propose two techniques that aim to minimize the scheduling latency of high-priority interrupt-driven tasks, named the Interrupt Handler Migration (IHM) and Direct Interrupt Scheduling (DIS). The IHM allows the interrupt handler to be ...






Comments