Enabling Autonomic Behavior in Systems Software with Hot Swapping

Enabling Autonomic Behavior in Systems Software with Hot Swapping

Enabling autonomic behavior in systems software with hot swapping by J. Appavoo, K. Hui, C. A. N. Soules, R. W. Wisniewski, D. M. Da Silva, O. Krieger, M. A. Auslander, D. J. Edelsohn, B. Gamsa, G. R. Ganger, P. McKenney, M. Ostrowski, B. Rosenburg, M. Stumm, J. Xenidis Autonomic computing systems are designed As computer systems become more complex, they to be self-diagnosing and self-healing, such become more difficult to administer properly. Spe- that they detect performance and correctness cial training is needed to configure and maintain problems, identify their causes, and react modern systems, and this complexity continues to accordingly. These abilities can improve increase. Autonomic computing systems address this performance, availability, and security, while problem by managing themselves. 1 Ideal autonomic simultaneously reducing the effort and skills systems just work, configuring and tuning themselves required of system administrators. One way as needed. that systems can support these abilities is by allowing monitoring code, diagnostic code, Central to autonomic computing is the ability of a and function implementations to be system to identify problems and to reconfigure it- dynamically inserted and removed in live self in order to address them. In this paper, we in- systems. This “hot swapping” avoids the vestigate hot swapping as a technology that can be used to address systems software’s autonomic re- requisite prescience and additional complexity quirements. Hot swapping is accomplished either by inherent in creating systems that have all interpositioning of code, or by replacement of code. possible configurations built in ahead of time. Interpositioning involves inserting a new component For already-complex pieces of code such as between two existing ones. This allows us, for exam- operating systems, hot swapping provides a ple, to enable more detailed monitoring when prob- simpler, higher-performance, and more lems occur, while minimizing run-time costs when maintainable method of achieving autonomic the system is performing acceptably. Replacement behavior. In this paper, we discuss hot allows an active component to be switched with a swapping as a technique for enabling different implementation of that component while autonomic computing in systems software. the system is running, and while applications con- First, we discuss its advantages and describe tinue to use resources managed by that component. the required system structure. Next, we As conditions change, upgraded components, bet- describe K42, a research operating system ter suited to the new environment, dynamically re- that explicitly supports interposition and place the ones currently active. replacement of active operating system code. Last, we describe the infrastructure of K42 for hot swapping and several instances of its use ௠Copyright 2003 by International Business Machines Corpora- demonstrating autonomic behavior. tion. Copying in printed form for private use is permitted with- out payment of royalty provided that (1) each reproduction is done without alteration and (2) the Journal reference and IBM copy- right notice are included on the first page. The title and abstract, but no other portions, of this paper may be copied or distributed royalty free without further permission by computer-based and other information-service systems. Permission to republish any other portion of this paper must be obtained from the Editor. 60 APPAVOO ET AL. 0018-8670/03/$5.00 © 2003 IBM IBM SYSTEMS JOURNAL, VOL 42, NO 1, 2003 Hot swapping makes downloading of code more greater concurrency if contention is detected across powerful. New algorithms and monitoring code can multiple processors. be added to a running system and employed with- out disruption. Thus, system developers do not need System monitoring—Monitoring is required for au- to be prescient about the state that needs to be mon- tonomic systems to be able to detect security threats, itored or the alternative algorithms that need to be performance problems, and so on. However, there available. More importantly, new implementations is a trade-off between placing extensive monitoring that fix bugs or security holes can be introduced in in the system and the performance overhead this en- a running system. tails. With support for interposition, upon detection of a problem by broad-based monitoring, it becomes The rest of the paper is organized as follows. The possible to dynamically insert additional monitoring, next section describes how hot swapping can facil- tracing, or debugging without incurring overhead itate the autonomic features of systems software. An when the more extensive code is not needed. In an important goal of autonomic systems software is object-oriented system, where each resource is man- achieving good performance. The section “Auto- aged by a different instance of an object, it is pos- nomically improving performance” illustrates how sible to garner an additional advantage by monitor- hot swapping can autonomically improve perfor- ing the code managing a specific resource. mance using examples from our K42 2 research op- erating system (OS) as well as from the broader lit- erature. The section that follows describes a generic Flexibility and maintainability—Autonomic systems infrastructure for hot swapping and contrasts it with must evolve as their environment and workloads the adaptive code alternative. Then the section “Hot change, but must remain easy to administer and swapping in K42” describes the overall K42 struc- maintain. The danger is that additions and enhance- ture, presents the implementation of hot swapping ments to the system increase complexity, potentially in K42, and includes a brief status and a performance resulting in increased failures and decreased perfor- evaluation. The next section discusses related work, mance. To perform hot swapping, a system needs to and the concluding section contains some final com- be modularized so that individual components may ments. be identified. Although this places a burden on sys- tem design, satisfying this constraint yields a more maintainable system. Given a modular structure, hot Autonomic features through hot swapping swapping often allows each policy and option to be Autonomic computing encompasses a wide array of implemented as a separate, independent component, technologies and crosses many disciplines. In our with components swapped as needed. This separa- work, we focus on systems software. In this section tion of concerns simplifies the overall structure of we discuss a set of crucial characteristics of auto- the system. The modular structure also provides data nomic systems software and describe how hot swap- structures local to the component. It becomes con- ping via interposition and replacement of compo- ceivable to rejuvenate software by swapping in a new nents can support these autonomic features, as component (same implementation) to replace the follows. decrepit one. This rejuvenation can be done by dis- carding the data structures of the old object, then Performance—The optimal resource-management starting from scratch or a known state in the new mechanism and policy depends on the workload. object. Workloads can vary as an application moves through phases or as applications enter and exit the system. System availability—Numerous mission-critical sys- As an example, to obtain good performance in mul- tems require five-nines-level (99.999 percent) avail- tiprocessor systems, components servicing parallel ability, making software upgrades challenging. Sup- applications require fundamentally different data port for hot swapping allows software to be upgraded structures than those for achieving good perfor- (i.e., for bug fixes, security patches, new features, per- mance for sequential applications. However, when formance improvements, etc.) without having to take a component is created, for example, when a file is the system down. Telephony systems, financial trans- opened, it is generally not known how it will be used. action systems, and air traffic control systems are a With replacement, a component designed for se- few examples of software systems that are used in quential applications can be used initially, and then mission-critical settings and that would benefit from it can be autonomically switched to one supporting hot-swappable component support. IBM SYSTEMS JOURNAL, VOL 42, NO 1, 2003 APPAVOO ET AL. 61 Extensibility—As they evolve, autonomic systems handles the file control structures, allowing it to take must take on tasks not anticipated in their original advantage of mapped file I/O, thereby achieving per- design. These tasks can be performed by hot- formance benefits of 40 percent or more. 5 When the swapped code, using both interposition and dynamic file becomes shared, a new object dynamically re- replacement. Interposition can be used to provide places the old object. This new object communicates existing components with wrappers that extend or with the file system to maintain the control infor- modify their interfaces. Thus, these wrappers allow mation. Other examples where similar optimizations interfaces to be extended without requiring that ex- are possible are (a) a pipe with a single producer and isting components be rewritten. If more significant consumer (in which case the implementation of the changes are required, dynamic replacement can be pipe can use shared memory between the producer used to substitute an entirely new object into an ex- and consumer) and (b) network connections that

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    17 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us