Autonomic Systems Justin Moles, Winter 2006 Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Current methods for negotiating firewalls for the Condor ® system Bruce Beckles (University of Cambridge Computing Service) Se-Chang Son (University of.
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Remote Procedure Call (RPC)
COMPSCI 105 S Principles of Computer Science 12 Abstract Data Type.
GPGPU Introduction Alan Gray EPCC The University of Edinburgh.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Chapter 8 Hardware Conventional Computer Hardware Architecture.
NUMA Tuning for Java Server Applications Mustafa M. Tikir.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design.
Threads Section 2.2. Introduction to threads A thread (of execution) is a light-weight process –Threads reside within processes. –They share one address.
1 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,
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
1 New Architectures Need New Languages A triumph of optimism over experience! Ian Watson 3 rd July 2009.
Communication in Distributed Systems –Part 2
1 Supporting Hot-Swappable Components for System Software Kevin Hui, Jonathan Appavoo, Robert Wisniewski, Marc Auslander, David Edelsohn, Ben Gamsa Orran.
Experience with K42, an open- source, Linux-compatible, scalable operation-system kernel IBM SYSTEM JOURNAL, VOL 44 NO 2, 2005 J. Appovoo 、 M. Auslander.
1 I/O Management in Representative Operating Systems.
PRASHANTHI NARAYAN NETTEM.
1 Presenter: Chien-Chih Chen Proceedings of the 2002 workshop on Memory system performance.
H-1 Network Management Network management is the process of controlling a complex data network to maximize its efficiency and productivity The overall.
Proxy Design Pattern Source: Design Patterns – Elements of Reusable Object- Oriented Software; Gamma, et. al.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Jonathan Walpole (based on a slide set from Vidhya Sivasankaran)
CS533 Concepts of Operating Systems Jonathan Walpole.
Distributed Shared Memory: A Survey of Issues and Algorithms B,. Nitzberg and V. Lo University of Oregon.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
2013/10/21 Yun-Chung Yang An Energy-Efficient Adaptive Hybrid Cache Jason Cong, Karthik Gururaj, Hui Huang, Chunyue Liu, Glenn Reinman, Yi Zou Computer.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
The Alternative Larry Moore. 5 Nodes and Variant Input File Sizes Hadoop Alternative.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
Adaptive Multi-Threading for Dynamic Workloads in Embedded Multiprocessors 林鼎原 Department of Electrical Engineering National Cheng Kung University Tainan,
CprE 458/558: Real-Time Systems
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Program Development Cycle
Full and Para Virtualization
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 3.
UDI Technology Benefits Slide 1 Uniform Driver Interface UDI Technology Benefits.
Best detection scheme achieves 100% hit detection with
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Parallel Performance Wizard: A Generalized Performance Analysis Tool Hung-Hsun Su, Max Billingsley III, Seth Koehler, John Curreri, Alan D. George PPW.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Application of Design Patterns to Geometric Decompositions V. Balaji, Thomas L. Clune, Robert W. Numrich and Brice T. Womack.
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
Design Patterns: MORE Examples
The Mach System Sri Ramkrishna.
Introduction to Design Patterns
Chapter 1: Introduction
Chapter 1: Introduction
Real-time Software Design
Protocol Architectures
CSCI1600: Embedded and Real Time Software
Page Replacement.
Chapter 2: System Structures
Outline Midterm results summary Distributed file systems – continued
Fault Tolerance Distributed Web-based Systems
Chapter 2: The Linux System Part 3
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Multithreaded Programming
Concurrency: Mutual Exclusion and Process Synchronization
Outline Chapter 2 (cont) OS Design OS structure
CS510 - Portland State University
Self-Managed Systems: an Architectural Challenge
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
CSCI1600: Embedded and Real Time Software
Presentation transcript:

Autonomic Systems Justin Moles, Winter 2006 Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation by: Justin Moles

2 Hot Swapping Concept Autonomic systems must be able to identify problems and reconfigure or redesign themselves to adapt One possible approach is to swap modules of code on the fly to improve performance or fix a problem as needed The new code then could handle the situation and swap back the old code once it’s finished

3 Autonomic Features Performance System Monitoring Flexibility and Maintainability System Availability Extensibility Testing

4 Example Applications Optimizing for the common case Optimizing for wide range of values Access Patterns Exploiting Architecture Features Multiprocessor Optimizations Client Specific Optimizations

5 Hot Swapping Procedure Triggering hot swapping. Choosing the target. Performing the swap. Transferring state. Dynamically adding object types.

6 Hot Swapping vs. Adaptive Code Many autonomic systems rely on adaptive code to provide the changing behavior implicit in such systems Hot Swapping can replace adaptive code as a strategy effectively given a structure to support this technique

7 Hot Swapping vs. Adaptive Code

8 Hot Swapping in K42

9 Key Technologies in K42 Object-Oriented Design Much kernel functionality is implemented in application’s address space Easily ported to many different hardware setups Specifically designed to run on multiple processors Clustered objects allows transparent distribution of services Designed to support a mix of real-time, time- shared and fine-grained applications Has a deferred object deletion similar to RCU

10 Hot Swapping Algorithm The Hot Swapping algorithm has 3 basic stages. The first stages occurs when the object in question (impl. A) asks to be swapped out, either after completing its task or to increase performance.

11 Hot Swapping Algorithm cont. In the second stage a mediator is called to facilitate the exchange between the two objects It has 3 stages as well. In the first it forwards all calls to original object and tracks them until it is sure all calls begun before it was initiated have completed. The second mediator stage blocks all incoming calls until the tracked calls have completed. In addition the two objects negotiate a format in which to pass data. In last stage, all blocked calls are forwarded to new object and the pointer is reset to the new object with no go between.

12 Algorithm Analysis Has several advantages Has no overhead in normal operation Can be designed to run in parallel to reduce workload Is a generic solution, separates complexity of swap from the objects being swapped Only state transfer involves objects

13 Status Based on two benchmarks, PostMark and SPEC SDET Comparison is made between shared and distributed FCM models Each benchmark runs better with a certain model and suffers on other Hot Swapping ensures that each runs with the proper model automatically Results in a 7% increase for Postmark and a 8% increase SPEC SDET, which scales based on CPU

14 Conclusion and My Opinion Hot Swapping is an interesting and effective means of achieving autonomic behavior However, it is a security nightmare Overall I believe it needs more work to be a realistic autonomic option