skip to main content
research-article

Application-specific service technologies for commodity operating systems in real-time environments

Published:05 May 2011Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. Chang, F., Itzkovitz, A., and Karamcheti, V. 2000. User-level resource-constrained sandboxing. In Proceedings of the 4th Windows Systems Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lemon, J. 2001. Kqueue—a generic and scalable event notification facility. In Proceedings of the USENIX Annual Technical Conference, FREENIX Track. 141--153. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Liedtke, J. 1995. On μ-kernel construction. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. ACM Press, New York, NY, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. Small, C. and Seltzer, M. I. 1996. A comparison of OS extension technologies. In Proceedings of the USENIX Annual Technical Conference. 41--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle Scholar
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle Scholar
  33. Yodaiken, V. and Barabanov, M. 1997. A real-time Linux. In Proceedings of the Linux Applications Development and Deployment Conference (USELINUX).Google ScholarGoogle Scholar

Index Terms

  1. Application-specific service technologies for commodity operating systems in real-time environments

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Article Metrics

            • Downloads (Last 12 months)7
            • Downloads (Last 6 weeks)0

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!