Abstract
In order to eliminate the costs of proprietary systems and special purpose hardware, many real-time and embedded computing platforms are being built on commodity operating systems and generic hardware. Unfortunately, many such systems are ill-suited to the low-latency and predictable timing requirements of real-time applications. This article, therefore, focuses on application-specific service technologies for low-cost commodity operating systems and hardware, so that real-time service guarantees can be met. We describe contrasting methods to deploy first-class services on commodity systems that are dispatched with low latency and execute asynchronously according to bounds on CPU, memory, and I/O device usage. Specifically, we present a “user-level sandboxing” (ULS) mechanism that relies on hardware protection to isolate application-specific services from the core kernel. This approach is compared with a hybrid language and runtime protection scheme, called SafeX, that allows untrusted services to be dynamically linked and loaded into a base kernel. SafeX and ULS have been implemented on commodity Linux systems. Experimental results have shown—that both approaches are capable of reducing service violations (and, hence, better qualities of service) for real-time tasks, compared to traditional user-level methods of service deployment in process-private address spaces. ULS imposes minimal additional overheads on service dispatch latency compared to SafeX, with the advantage that it does not require application-specific services to execute in the trusted kernel domain. As evidence of the potential capabilities of ULS, we show how a user-level networking stack can be implemented to avoid data copying via the kernel and allow packet processing without explicit process scheduling. This improves throughput and reduces jitter.
- Abdelzaher, T. F. and Shin, K. G. 1998. End-host architecture for QoS-adaptive communication. In Proceedings of the 4th Real-Time Technology and Applications Symposium. Google Scholar
Digital Library
- Accetta, M., Baron, R., Bolosky, W., Golub, D., Rashid, R., Tevanian, A., and Young, M. 1986. Mach: A new kernel foundation for UNIX development. In Proceedings of the Summer USENIX Conference. 93--113.Google Scholar
- Banga, G., Mogul, J. C., and Druschel, P. 1999. A scalable and explicit event delivery mechanism for UNIX. In Proceedings of the Annual Technical Conference. Google Scholar
Digital Library
- Bershad, B. N., Savage, S., Pardyak, P., Sirer, E. G., Fiuczynski, M., Becker, D., Eggers, S., and Chambers, C. 1995. Extensibility, safety, and performance in the SPIN operating system. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. ACM Press, New York, NY, 267--284. Google Scholar
Digital Library
- Chang, F., Itzkovitz, A., and Karamcheti, V. 2000. User-level resource-constrained sandboxing. In Proceedings of the 4th Windows Systems Symposium. Google Scholar
Digital Library
- Chiueh, T., Venkitachalam, G., and Pradhan, P. 1999. Integrating segmentation and paging protection for safe, efficient and transparent software extensions. In Proceedings of the 17th ACM Symposium on Operating Systems Principles. ACM Press, New York, NY, 140--153. Google Scholar
Digital Library
- Clark, D. 1985. The structuring of systems using upcalls. In Proceedings of the 10th ACM Symposium on Operating Systems Principles. ACM Press, New York, NY, 171--180. Google Scholar
Digital Library
- Dunning, D., Regnier, G., McAlpine, G., Cameron, D., Shubert, B., Berry, F., Merritt, A. M., Gronke, E., and Dodd, C. 1998. The virtual interface architecture. IEEE Micro 18, 2, 66--76. Google Scholar
Digital Library
- Engler, D. R., Kaashoek, M. F., and O'Toole, J. 1995. Exokernel: An operating system architecture for application-level resource management. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. ACM Press, New York, NY, 251--266. Google Scholar
Digital Library
- Fry, G. and West, R. 2004. Adaptive routing of QoS-constrained media streams over scalable overlay topologies. In Proceedings of the 10th IEEE Real-Time and Embedded Technology and Applications Symposium. IEEE Computer Society Press, Los Alamitos, CA. Google Scholar
Digital Library
- Ghormley, D. P., Rodrigues, S. H., Petrou, D., and Anderson, T. E. 1997. Interposition as an operating system extension mechanism. Tech. rep. CSD-96-920. University of California, Berkeley, Berkeley, CA. Google Scholar
Digital Library
- Gopalakrishnan, G. and Parulkar, G. 1998. Efficient user space protocol implementations with QoS guarantees using real-time upcalls. IEEE/ACM Trans. Netw. 6, 4, 374--388. Google Scholar
Digital Library
- Jim, T., Morrisett, G., Grossman, D., Hicks, M., Cheney, J., and Wang, Y. 2002. Cyclone: A safe dialect of C. In Proceedings of the USENIX Annual Technical Conference. Google Scholar
Digital Library
- Jones, M. B. 1993. Interposition agents: Transparently interposing user code at the system interface. In Proceedings of the 14th ACM Symposium on Operating Systems Principles. ACM Press, New York, NY, 80--93. Google Scholar
Digital Library
- Lemon, J. 2001. Kqueue—a generic and scalable event notification facility. In Proceedings of the USENIX Annual Technical Conference, FREENIX Track. 141--153. Google Scholar
Digital Library
- Liedtke, J. 1995. On μ-kernel construction. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. ACM Press, New York, NY, USA. Google Scholar
Digital Library
- Morrisett, G., Crary, K., Glew, N., Grossman, D., Smith, F., Walker, D., Weirich, S., and Zdancewic, S. 1999a. TALx86: A realistic typed assembly language. In ACM SIGPLAN Workshop on Compiler Support for System Software. ACM Press, New York, NY.Google Scholar
- Morrisett, G., Walker, D., Crary, K., and Glew, N. 1999a. From System F to typed assembly language. ACM Trans. Program. Lang. Syst. 21, 3, 527--568. Google Scholar
Digital Library
- Parmer, G., West, R., Qi, X., Fry, G., and Zhang, Y. 2004. An Internet-wide distributed system for data-stream processing. In Proceedings of the 5th International Conference on Internet Computing. CSREA Press, Las Vegas, NV.Google Scholar
- Qi, X., Parmer, G., and West, R. 2004. An efficient end-host architecture for cluster communication services. In Proceedings of the IEEE International Conference on Cluster Computing. IEEE Computer Society Press, Los Alamitos, CA. Google Scholar
Digital Library
- Rajkumar, R., Lee, C., Lehoczky, J., and Siewiorek, D. 1998. Practical solutions for QoS-based resource allocation problems. In Proceedings of the IEEE Real-Time Systems Symposium. IEEE Computer Society Press, Los Alamitos, CA. Google Scholar
Digital Library
- Rosu, D., Schwan, K., and Yalamanchili, S. 1998. FARA—a framework for adaptive resource allocation in complex real-time systems. In Proceedings of the 4th IEEE Real-Time Technology and Applications Symposium. IEEE Computer Society Press, Los Alamitos, CA. Google Scholar
Digital Library
- Shivam, P., Wyckoff, P., and Panda, D. 2001. EMP: Zero-copy OS-bypass NIC-driven Gigabit Ethernet message passing. In Proceedings of the ACM/IEEE conference on Supercomputing. ACM Press, New York, NY. Google Scholar
Digital Library
- Small, C. and Seltzer, M. I. 1996. A comparison of OS extension technologies. In Proceedings of the USENIX Annual Technical Conference. 41--54. Google Scholar
Digital Library
- Sundaram, V., Chandra, A., Goyal, P., and Shenoy, P. 2000. Application performance in the QLinux multimedia operating system. In Proceedings of the 8th ACM Conference on Multimedia. ACM Press, New York, NY. Google Scholar
Digital Library
- Uhlig, V., Dannowski, U., Skoglund, E., Haeberlen, A., and Heiser, G. 2002. Performance of address-space multiplexing on the Pentium. Tech. rep. 2002-1. University of Karlsruhe, Karlsruhe, Germany.Google Scholar
- von Eicken, T., Basu, A., Buch, V., and Vogels, W. 1995. U-Net: A user-level network interface for parallel and distributed computing. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. ACM Press, New York, NY, 40--53. Google Scholar
Digital Library
- Wahbe, R., Lucco, S., Anderson, T., and Graham, S. 1993. Software-based fault isolation. In Proceedings of the 14th ACM Symposium on Operating Systems Principles. ACM Press, New York, NY.Google Scholar
- Wallach, D. A., Engler, D. R., and Kaashoek, M. F. 1997. ASHs: Application-specific handlers for high-performance messaging. IEEE/ACM Trans. Netw. 5, 4, 460--474. Google Scholar
Digital Library
- Wang, Y.-C. and Lin, K.-J. 1999. Implementing a general real-time scheduling framework in the RED-Linux real-time kernel. In Proceedings of the 20th IEEE Real-Time Systems Symposium (RTSS). Google Scholar
Digital Library
- West, R. and Gloudon, J. 2002. ‘QoS safe’ kernel extensions for real-time resource management. In Proceedings of the the 14th EuroMicro International Conference on Real-Time Systems. IEEE Computer Society Press, Los Alamitos, CA. Google Scholar
Digital Library
- West, R. and Wong, G. 2005. Cuckoo: A language for implementing memory- and thread-safe system services. In Proceedings of the International Conference on Programming Languages and Compilers. CSREA Press, Las Vegas, NV.Google Scholar
- Yodaiken, V. and Barabanov, M. 1997. A real-time Linux. In Proceedings of the Linux Applications Development and Deployment Conference (USELINUX).Google Scholar
Index Terms
Application-specific service technologies for commodity operating systems in real-time environments
Recommendations
Application-Specific Service Technologies for Commodity Operating Systems in Real-Time Environments
RTAS '06: Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications SymposiumIn order to eliminate the costs of proprietary systems and special purpose hardware, many real-time and embedded computing platforms are being built on commodity operating systems and generic hardware. Unfortunately, many such systems are ill-suited to ...
Thoth, a portable real-time operating system
Thoth is a real-time operating system which is designed to be portable over a large set of machines. It is currently running on two minicomputers with quite different architectures. Both the system and application programs which use it are written in a ...
Traveling forward in time to newer operating systems using ShadowReboot
VEE '13: Proceedings of the 9th ACM SIGPLAN/SIGOPS international conference on Virtual execution environmentsOperating system (OS) reboots are an essential part of updating kernels and applications on laptops and desktop PCs. Long downtime during OS reboots severely disrupts users' computational activities. This long disruption discourages the users from ...






Comments