skip to main content
10.1145/1052898.1052903acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Supporting autonomic computing functionality via dynamic operating system kernel aspects

Published:14 March 2005Publication History

ABSTRACT

To master the complexity of software systems in the presence of unexpected events potentially affecting system operation, the Autonomic Computing Initiative [16] aims to build systems that have the ability to control and organize themselves to meet unforeseen changes in the hard- and software environment.The basic principles employed by autonomic computing are self-configuration, self-optimization, self-healing and self-protection. Typically, these principles are cross-cutting concerns, so an obvious approach to their realization in software is to use aspect-oriented programming (AOP). Since autonomic systems have to adapt their behavior to changing runtime conditions, a dynamic AOP approach is required to implement autonomic computing functionality.This paper introduces the TOSKANA toolkit for deploying dynamic aspects into an operating system kernel as a central part of a computer system having an overview of current system operation and resource usage. TOSKANA provides before, after and around advice for in-kernel functions and supports the specification of pointcuts as well as the implementation of aspects themselves as dynamically exchangeable kernel modules. The use of TOSKANA is demonstrated by several examples indicating the cross-cutting nature of providing autonomic computing functionality in an operating system kernel. Performance results are presented to characterize the aspect deployment overhead incurred by using TOSKANA.

References

  1. C. Bockisch, M. Haupt, M. Mezini, and K. Ostermann. "Virtual Machine Support for Dynamic Join Points". In "Proceedings of the Third International Conference on Aspect-Oriented Software Development (AOSD'04)", pages 83--92. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. M. Cantrill, M. W. Shapiro, and A. H. Leventhal. "Dynamic Instrumentation of Production Systems". In "Proceedings of the USENIX Annual Technical Conference", pages 15--28. USENIX, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. Cifuentes and S. Sendall. "Specifying the Semantics of Machine Instructions". In "Proceedings of the 6th International Workshop on Program Comprehension - IWPC'98", pages 126--133. IEEE Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Y. Coady and G. Kiczales. "Back to the Future: A Retroactive Study of Aspect Evolution in Operating System Code". In "Proceedings of the Second International Conference on Aspect-Oriented Software Development (AOSD'03)", pages 50--59. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Y. Coady, G. Kiczales, M. Feeley, N. Hutchinson, and J. S. Ong. "Structuring System Aspects: Using AOP to Improve OS Structure Modularity". In "Communications of the ACM, Volume 44, Issue 10", pages 79--82. ACM Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Y. Coady, G. Kiczales, M. Feeley, N. Hutchinson, J. S. Ong, and S. Gudmundson. "Exploring an Aspect-Oriented Approach to OS Code". In "Proceedings of the 4th Workshop on Object-Orientation and Operating Systems at the 15th European Conference on Object-Oriented Programming (ECOOP-OOOSW)". Universidad de Oviedo, 2001.Google ScholarGoogle Scholar
  7. Y. Coady, G. Kiczales, M. Feeley, N. Hutchinson, J. S. Ong, and S. Gudmundson. "Position Summary: Aspect-Oriented System Structure". In "Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HOTOS-VIII)", page 166. IEEE Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Y. Coady, G. Kiczales, M. Feeley, and G. Smolyn. "Using AspectC to Improve the Modularity of Path-Specific Customization in Operating System Code". In "Proceedings of of the Joint European Software Engineering Conference (ESEC) and 9th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE-9)", pages 88--98. ACM Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C. DiBona, S. Ockman, and M. S. (Editors). "Open Sources - Voices from the Open Source Revolution". O'Reilly, Sebastopol, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Gal, W. Schröder-Preikschat, and O. Spinczyk. "On Minimal Overhead Operating Systems and Aspect-Oriented Programming". In "Proceedings of the 4th Workshop on Object-Orientation and Operating Systems at the 15th European Conference on Object-Oriented Programming (ECOOP-OOOSW)". Universidad de Oviedo, 2001.Google ScholarGoogle Scholar
  11. P. Greenwood and L. Blair. "Using Dynamic Aspect-Oriented Programming to Implement an Autonomic System". In "Proceedings of the 2004 Dynamic Aspects Workshop (DAW04), Lancaster", pages 76--88. RIACS, 2004.Google ScholarGoogle Scholar
  12. M. Haupt and M. Mezini. "Micro-Measurements for Dynamic Aspect-Oriented Systems". In M. Weske and P. Liggesmeyer, editors, Proceedings of Net.ObjectDays, volume 3263 of LNCS, pages 81--96. Springer Press, 2004.Google ScholarGoogle Scholar
  13. U. Hölzle, L. Bak, S. Grarup, R. Griesemer, and S. Mitrovic. "Java on Steroids: Sun's High-Performance Java Implementation". In Proceedings of the 9th Symposium on High Performance Chips (HotChips IX). IEEE Press, 1997.Google ScholarGoogle Scholar
  14. Intel. "IA-32 Intel Architecture Software Developer's Manual, Volume 2A/B: Instruction Set Reference". Intel, 2004.Google ScholarGoogle Scholar
  15. Intel. "Pentium Architecture Manual, Section 6: Debugging". Intel, 2004.Google ScholarGoogle Scholar
  16. J. O. Kephart and D. M. Chess. "The Vision of Autonomic Computing". In "IEEE Computer 01/2003", pages 43--50. IEEE Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. C. Lattner and V. Adve. "LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation". In "Proceedings of the 2004 International Symposium on Code Generation and Optimization (CGO'04), Palo Alto, California", pages 75--84. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. J. Leffler, M. K. McKusick, M. J. Karels, and J. S. Quaterman. "The Design and Implementation of the 4.4 BSD UNIX Operating System". Addison-Wesley, Reading, Mass., 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T. Lindholm and F. Yellin. "Java Virtual Machine Specification, Second Edition". Addison-Wesley, Reading, Mass., 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. K. McKusick and G. V. Neville-Neil. "The Design and Implementation of the FreeBSD Operating System". Addison-Wesley, Reading, Mass., 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. A. Mullen. "z/VM: The Value of zSeries Virtualization Technology for Linux". In "Proceedings of the IBM z/VM, VSE and Linux on zSeries Technical Conference, Miami, Florida". IBM, 2002.Google ScholarGoogle Scholar
  22. C. Müller-Schloer. "Organic Computing - On the Feasibility of Controlled Emergence". In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS). ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. I. Piumarta, B. Folliot, L. Seinturier, C. Baillarguet, and C. Khoury. "Highly Configurable Operating Systems: the VVM Approach". In "Proceedings of the 3rd Workshop on Object-Orientation and Operating Systems at the 14th European Conference on Object-Oriented Programming (ECOOP-OOOSW)". ECOOP, 2000.Google ScholarGoogle Scholar
  24. P. Salus. "A Quarter Century of UNIX". Addison-Wesley, New York, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. Segura-Devillechaise, J.-M. Menaud, G. Muller, and J. Lawall. "Web Cache Prefetching as an Aspect: Towards a Dynamic-Weaving Based Solution". In "Proceedings of the 2nd International Conference on Aspect-oriented Software Development", pages 110--119. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. O. Spinczyk and D. Lohmann. "Using AOP to Develop Architectural-Neutral Operating System Components". In "Proceedings of the 11th ACM SIGOPS European Workshop (SIGOPS04)". ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. O. Stampflee, C. Gibbs, and Y. Coady. "RADAR: Really Low-Level Aspects for Dynamic Analysis and Reasoning". In "Proceedings of the ECOOP Workshop on Programming Languages and Operating Systems". ECOOP, 2004.Google ScholarGoogle Scholar
  28. A. Tamches and B. P. Miller. "Fine-Grained Dynamic Instrumentation of Commodity Operating System Kernels". In "Proceedings of Third Symposium on Operating Systems Design and Implementation (OSDI)", pages 117--130. ACM Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. The Free Software Foundation. "Using the GNU Compiler Collection (GCC)". FSF, 2004.Google ScholarGoogle Scholar
  30. The Tool Interface Standard Committee. "Executable and Linking Format (ELF) Specification Version 1.2". TIS Committee, 1995.Google ScholarGoogle Scholar
  31. Transmeta. "The Technology Behind Crusoe Processors White Paper". 2003.Google ScholarGoogle Scholar

Index Terms

  1. Supporting autonomic computing functionality via dynamic operating system kernel aspects

      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
      • Published in

        cover image ACM Other conferences
        AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development
        March 2005
        210 pages
        ISBN:1595930426
        DOI:10.1145/1052898
        • General Chair:
        • Mira Mezini,
        • Program Chair:
        • Peri Tarr

        Copyright © 2005 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 14 March 2005

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate41of139submissions,29%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader