Enabling Autonomic Behavior in Systems Software with Hot Swapping

Total Page:16

File Type:pdf, Size:1020Kb

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
Recommended publications
  • IBM Z Systems Introduction May 2017
    IBM z Systems Introduction May 2017 IBM z13s and IBM z13 Frequently Asked Questions Worldwide ZSQ03076-USEN-15 Table of Contents z13s Hardware .......................................................................................................................................................................... 3 z13 Hardware ........................................................................................................................................................................... 11 Performance ............................................................................................................................................................................ 19 z13 Warranty ............................................................................................................................................................................ 23 Hardware Management Console (HMC) ..................................................................................................................... 24 Power requirements (including High Voltage DC Power option) ..................................................................... 28 Overhead Cabling and Power ..........................................................................................................................................30 z13 Water cooling option .................................................................................................................................................... 31 Secure Service Container .................................................................................................................................................
    [Show full text]
  • Fujitsu PCI Expansion Unit
    PCI Expansion Unit The PCI Expansion Unit—an I/O expansion option for Oracle’s Fujitsu SPARC M12 and Fujitsu M10 family of servers—meets demands for applications requiring extensive scalability, mission-critical levels of availability, and Key Features seamless data center integration. The PCI Supports the Fujitsu SPARC M12 and Fujitsu M10 family of servers Expansion Unit takes maximum advantage of Provides 11 PCIe 3.0 slots in a small 2U form factor the high I/O bandwidth of Fujitsu SPARC M12 Powers on and off in synchronization with the power status of Fujitsu and Fujitsu M10 servers. SPARC M12 and Fujitsu M10 servers Enables hot swapping of PCIe cards, power supplies, and fans Monitored and controlled from the XSCF System Monitoring Function of the Fujitsu SPARC M12 and Fujitsu M10 servers Configured with 1 + 1 power supply PRODUCT OVERVIEW redundancy and supports a dual Perfectly suited for Fujitsu SPARC servers, the PCI Expansion Unit offers significant power feed configuration I/O adapter expandability. One or more PCI Expansion Units can be connected to both Fujitsu SPARC M12 and Fujitsu M10 servers, providing connectivity of up to 11 additional PCI Express (PCIe) slots per PCI Expansion Unit in a space-saving rackmount chassis (2U). PCIe generation 3 is supported by the PCI Expansion Unit. Easy Monitoring and Control from Fujitsu SPARC Servers The PCI Expansion Unit can be easily monitored and controlled in conjunction with the XSCF (eXtended System Control Facility) system monitoring function of Fujitsu SPARC servers. PCI Expansion Units power on and off in synchronization with the power status of Fujitsu SPARC servers.
    [Show full text]
  • Introducing Linux on IBM Z Systems IT Simplicity with an Enterprise Grade Linux Platform
    Introducing Linux on IBM z Systems IT simplicity with an enterprise grade Linux platform Wilhelm Mild IBM Executive IT Architect for Mobile, z Systems and Linux © 2016 IBM Corporation IBM Germany What is Linux? . Linux is an operating system – Operating systems are tools which enable computers to function as multi-user, multitasking, and multiprocessing servers. – Linux is typically delivered in a Distribution with many useful tools and Open Source components. Linux is hardware agnostic by design – Linux runs on multiple hardware architectures which means Linux skills are platform independent. Linux is modular and built to coexist with other operating systems – Businesses are using Linux today. More and more businesses proceed with an evolutionary solution strategy based on Linux. 2 © 2016 IBM Corporation What is IBM z Systems ? . IBM z Systems is the family name used by IBM for its mainframe computers – The z Systems families were named for their availability – z stands for zero downtime. The systems are built with spare components capable of hot failovers to ensure continuous operations. IBM z Systems paradigm – The IBM z Systems family maintains full backward compatibility. In effect, current systems are the direct, lineal descendants of System/360, built in 1964, and the System/370 from the 1970s. Many applications written for these systems can still run unmodified on the newest z Systems over five decades later. IBM z Systems variety of Operating Systems – There are different traditional Operating Systems that run on z Systems like z/OS, z/VSE or TPF. With z/VM IBM delivers a mature Hypervisor to virtualize the operating systems.
    [Show full text]
  • System Support for Online Reconfiguration
    System Support for Online Reconfiguration ¡ ¡ ¢ Craig A. N. Soules Jonathan Appavoo Kevin Hui Robert W. Wisniewski ¢ ¢ ¡ Dilma Da Silva Gregory R. Ganger Orran Krieger Michael Stumm ¢ ¢ ¢ ¢ Marc Auslander Michal Ostrowski Bryan Rosenburg Jimi Xenidis Abstract Request Response Profiler LRU Online reconfiguration provides a way to extend and re- place active operating system components. This pro- vides administrators, developers, applications, and the (a) After profiler is interposed around the page manager. system itself with a way to update code, adapt to chang- ing workloads, pinpoint performance problems, and per- form a variety of other tasks while the system is running. Request With generic support for interposition and hot-swapping, Response LRU FIFO a system allows active components to be wrapped with additional functionality or replaced with different im- (b) LRU page manager before hot-swap with FIFO. plementations that have the same interfaces. This pa- per describes support for online reconfiguration in the Request K42 operating system and our initial experiences us- Response FIFO ing it. It describes four base capabilities that are com- bined to implement generic support for interposition and (c) After FIFO page manager is fully swapped. hot-swapping. As examples of its utility, the paper de- scribes some performance enhancements that have been Figure 1: Online reconfiguration. This figure shows two online re- achieved with K42’s online reconfiguration mechanisms configuration mechanisms: interposition and hot-swapping. (a) shows including adaptive algorithms, common case optimiza- an LRU page manager and an interposed profiler that can watch the tions, and workload specific specializations. component’s calls/returns to see how it is performing.
    [Show full text]
  • Nexto Series
    Technical Characteristics Nexto Series Doc Code: CE114000 Revision: I Nexto Series Programmable Logic Controller Nexto Series is a powerful and complete Programmable Logic Controllers (PLCs) series with exclusive and innovative features, targeted for covering control systems requirements from medium to large applications or high performance industrial machines. Nexto Series architecture provides a wide range of input and output modules. These modules, combined with a powerful 32-bit processor and a high-speed-Ethernet-based backplane, cover many user applications, such as high-speed machinery control, complex distributed and redundant process applications or even large I/O systems for building automation. Besides, it delivers modules for motion control, communication and interfaces to the most popular fieldbuses, among other features. Nexto Series architecture uses a state-of-the-art high-speed Ethernet backplane bus technology, which allows input, output and processed information to be shared among all modules within the system. The I/O modules can be easily distributed in the field. It can be used local as well as remote I/Os without any loss in performance. In addition, Nexto Series brings a complete tool for programming, configuration, simulation and debugging user application: MasterTool IEC XE. MasterTool IEC XE is flexible and easy to use software that provides the six programming languages defined by IEC 61131-3 standard: Structured Text (ST), Sequential Function Chart (SFC), Function Block Diagram (FBD), Ladder Diagram (LD), Instruction List (IL) and Continuous Function Chart (CFC). MasteTool IEC XE allows the use of different languages on the same application, providing to the user a powerful way to organize the application and to reuse codes used in previous applications.
    [Show full text]
  • USB 3.0 to SATA 2.5" Tool-Less Enclosure Quick Installation Guide
    USB 3.0 to SATA 2.5" Tool-less Enclosure Quick Installation Guide Introduction The USB 3.0 to SATA 2.5" Tool-less Enclosure is designed to work USB equipped computers. This enclosure provides large capacity mobile storage using 2.5" SATA hard disk drives through hot-swapping USB 3.0 interface. Key Features and Benefits • Quickly adds more storage space to your USB-enabled PC (USB 3.0 recommended) • Supports USB 3.0 data transfer rate up to 5Gb/s • Tool-less design and no driver installation required • Supports up to 4TB hard disk capacity 04-0790B 1 Note: For maximum data throughput, use a SATA 3Gb/s hard disk with the enclosure and connect to a fully functional USB 3.0 port. System Requirements • Notebook or desktop PC with an available USB 2.0/3.0 port (USB 3.0 recommended) • Windows® 8 (32-/64-bit) / 7 (32-/64-bit) / Vista (32-/64-bit) / XP (32-/64-bit) / Server 2003 & 2008 (32-/64-bit) / Server 2008 R2 Package Contents • USB 3.0 to SATA 2.5" Tool-less Enclosure • USB 3.0 Y-split (data & power) cable • 2 Sponges (optional) • Quick installation guide 2 Layout Top cover USB 3.0 micro-B connector Bottom cover Power/Activity LED Slider to release the cases Figure 1: Back Panel Layout USB 3.0 Y-split Cable Type-A power (white) Type-A data (blue) micro-B Figure 2: USB 3.0 Y-split Cable Connectors 3 Power and Activity LED The LED indicator illuminates when the enclosure is connected and powered up.
    [Show full text]
  • Honeywell's Next Generation Plcs Powerful, Compact, Versatile, Open Network
    Programmable Logic Controllers MasterLogic-200 Honeywell's next generation PLCs Powerful, compact, versatile, open network Programmable Logic Controllers MasterLogic-200 · Powerful & versatile · Scalable & modular · Compact pocket-size modules · CPU redundancy, power supply redundancy, network redundancy · Range of I/O modules-digital (source/sink,transistor/relay),analog (voltage/current) · Special modules-High Speed Counter, Position Control, RTD, Thermocouple · Open network-Profibus-DP, DeviceNet, Fast Ethernet, Modbus · Dedicated peer-to-peer networking of PLCs · Large I/O capacity and Remote I/O Contents Overview 4 Overview Introduction System Architecture 8 CPU & System configuration General Specifications CPU Specifications Highlights Introduction Network Fast Ethernet(FEnet) 15 Serial Communication(Snet) Profibus-DP(Pnet) DeviceNet(Dnet) Digital I/O Modules Input/Output Modules 20 Position Control Modules Analog I/O Modules Smart I/O(s) Thermocouple Module RTD Module High Speed Counter Modules Key Features Software 29 Project Management Online Functions Maintenance & Troubleshooting Monitoring PLC Event History Program Navigation & Editing Program Ease Simulation System Requirements SoftMaster-NM (Network setup & diagnostics) Special Interface Special Interface with Experion 37 PKS & Experion Vista MasterLogic-50 Other Related Products Master Panel 38 HCiX Series Product List 39 Product List Overview Introduction Key Features · Powerful & versatile processors - High speed i.e. (28ns/step, flash memory, hot-swapping) · CPU redundancy
    [Show full text]
  • 2020 Linux on IBM Z and Linuxone Client Workshop November 9-13
    2020 Linux on IBM Z and LinuxONE Client Workshop November 9-13 Securing Workloads with Red Hat OpenShift Container Platform on IBM Z / LinuxONE — Pradeep Parameshwaran Security & Compliance Lead, Linux on IBM Z & LinuxONE [email protected] Linux on IBM Z and LinuxONE Client WS 2020 / © 2020 IBM Corporation Contents • Why OpenShift on IBM Z ? • The cloud with the Privacy and Security • Deployment architecture: OpenShift on IBM Z • Security blueprint: OpenShift on IBM Z • Summary of native and augmented security capabilities IDC estimates that 71% of organizations are in the process of implementing containers and orchestration or are already using them regularly. Containers are the next generation of software-defined compute that enterprises will leverage to accelerate their digital transformation initiatives,” says Gary Chen, Research Director at IDC. “IDC estimates that 71% of organizations are in the process of implementing containers and orchestration or are already using them regularly, and IDC forecasts that the worldwide container infrastructure software opportunity is growing at a 63.9 % 5-year CAGR and is predicted to reach over $1.5B by 2022. 3 Why Red Hat OpenShift on IBM Z? OpenShift a smart Kubernetes platform 5 Build once • Fully integrated and automated architecture • Seamless Kubernetes deployment on any cloud or on-premises environment • Fully automated installation, from cloud infrastructure to OS to application services • One click platform and application updates • Auto-scaling of cloud resources • Enterprise-grade security
    [Show full text]
  • IBM Cloud Private with Linux on Z
    IBM Cloud Solution Brief IBM Cloud Private with Linux on IBM Z Empower how you build, deploy and manage cloud-native applications Introduction Highlights Many organizations have unique data sensitivity needs, such as internal policies, government regulations or industry compliance requirements. • Offers the benefits of a public cloud on a security-rich, scalable private cloud As a result, these organizations typically require private cloud. Yet in a platform for developing and delivering world of changing business demands, they also need to run demanding cloud-native apps applications and use multiple services both on-premise and on multiple • Helps make heritage applications cloud- clouds for the sake of agility. ready • Helps protect confidential and proprietary IBM Cloud™ Private with Linux® on IBM Z® provides the advantages of a Kubernetes and Docker workloads with IBM Secure Service Containers private cloud on a server platform optimized for data and cognitive • Enables organizations to build new services, and is designed to deliver the benefits of a public cloud in a microservice-based apps for improved security-rich, scalable and reliable environment. It enables enterprises to agility and innovation accelerate innovation using modern agile processes, integrates with • Designed to more securely use data and existing systems, and provides a strategic platform for multi-cloud services from external private cloud integration while maintaining the control and compliance that sources organizations need. • Supports heavy workloads with thousands of parallel users and thousands of Linux servers–in one box Connect almost anything on premise and in cloud IBM Cloud Private gives developers and IT operations a combination of critical capabilities to transform the enterprise.
    [Show full text]
  • Providing Dynamic Update in an Operating System
    Providing Dynamic Update in an Operating System Andrew Baumann, Gernot Heiser University of New South Wales & National ICT Australia Jonathan Appavoo, Dilma Da Silva, Orran Krieger, Robert W. Wisniewski IBM T.J. Watson Research Center Jeremy Kerr IBM Linux Technology Center Abstract Dynamic update [26] is used to avoid such downtime. It involves on-the-fly application of software updates to Dynamic update is a mechanism that allows software a running system without loss of service. The increased updates and patches to be applied to a running system unplanned down-time of computing infrastructure to ap- without loss of service or down-time. Operating systems ply updates, combined with the demand for continuous would benefit from dynamic update, but place unique de- availability, provides strong motivation to investigate dy- mands on any implementation of such features. These namic update techniques for operating systems. demands stem from the event-driven nature of operating In addition to the above mentioned impact on avail- systems, from their restricted run-time execution envi- ability, dynamically updatable systems have other bene- ronment, and from their role in simultaneously servicing fits. Such systems provide a good prototyping environ- multiple clients. ment. They allow, for example, a new page replacement, We have implemented a dynamic update mechanism file system, or network policy to be tested without re- in the K42 research operating system, and tested it us- booting. Further, in more mature systems such as main- ing previous modifications of the system by kernel de- frames, some user constraints prevent the system from velopers. Our system supports updates changing both ever being shutdown.
    [Show full text]
  • Architectural Decisions for Linuxone Hypervisors
    July 2019 Webcast Virtualization options for Linux on IBM Z & LinuxONE Richard Young Executive IT Specialist Virtualization and Linux IBM Systems Lab Services Wilhelm Mild IBM Executive IT Architect for Mobile, IBM Z and Linux IBM R&D Lab, Germany Agenda ➢ Benefits of virtualization • Available virtualization options • Considerations for virtualization decisions • Virtualization options for LinuxONE & Z • Firmware hypervisors • Software hypervisors • Software Containers • Firmware hypervisor decision guide • Virtualization decision guide • Summary 2 © Copyright IBM Corporation 2018 Why do we virtualize? What are the benefits of virtualization? ▪ Simplification – use of standardized images, virtualized hardware, and automated configuration of virtual infrastructure ▪ Migration – one of the first uses of virtualization, enable coexistence, phased upgrades and migrations. It can also simplify hardware upgrades by make changes transparent. ▪ Efficiency – reduced hardware footprints, better utilization of available hardware resources, and reduced time to delivery. Reuse of deprovisioned or relinquished resources. ▪ Resilience – run new versions and old versions in parallel, avoiding service downtime ▪ Cost savings – having fewer machines translates to lower costs in server hardware, networking, floor space, electricity, administration (perceived) ▪ To accommodate growth – virtualization allows the IT department to be more responsive to business growth, hopefully avoiding interruption 3 © Copyright IBM Corporation 2018 Agenda • Benefits of
    [Show full text]
  • IBM Z/VM – Frequently Asked Questions
    IBM Z August 2020 IBM z/VM Frequently Asked Questions for z/VM 7.2, z/VM 7.1 and z/VM 6.4 Worldwide LUQ12358-USEN-14 1 Table of Contents _Toc45360441 General Questions ........................................................................................................................................... 3 IBM z/VM Support for IBM z15 and IBM LinuxONE III ................................................................................ 10 Technical Questions - IBM z/VM 7.2, z/VM 7.1, and z/VM 6.4 .................................................................... 11 Efficiency and Scalability ............................................................................................................................... 21 System Ease of Use ....................................................................................................................................... 23 Hardware Currency ........................................................................................................................................ 25 Installation, Migration, and Serviceability .................................................................................................... 27 Statements of Direction from Announcements ............................................................................................ 28 Resources ...................................................................................................................................................... 31 2 General Questions What is IBM Z® and IBM® LinuxONE virtualization
    [Show full text]