1 Supporting Hot-Swappable Components for System Software Kevin Hui, Jonathan Appavoo, Robert Wisniewski, Marc Auslander, David Edelsohn, Ben Gamsa Orran.

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

Processes Management.
Autonomic Systems Justin Moles, Winter 2006 Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
1 The Compressor: Concurrent, Incremental and Parallel Compaction. Haim Kermany and Erez Petrank Technion – Israel Institute of Technology.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
Chapter 1 Computer System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Operating Systems Input/Output Devices (Ch , 12.7; , 13.7)
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
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,
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
1 Lecture 21: Synchronization Topics: lock implementations (Sections )
Computer System Overview
1 Computer System Overview OS-1 Course AA
Context Switch in Reconfigurable System Sun, Yuan-Ling ESL of CSIE, CCU
Run time vs. Compile time
1 CSIT431 Introduction to Operating Systems Welcome to CSIT431 Introduction to Operating Systems In this course we learn about the design and structure.
Computer System Overview
Chapter 9 Virtual Memory Produced by Lemlem Kebede Monday, July 16, 2001.
Chapter 11 Operating Systems
Computer System Overview Chapter 1. Basic computer structure CPU Memory memory bus I/O bus diskNet interface.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
Operating Systems (CSCI2413) Lecture 3 Processes phones off (please)
6/10/2005 FastOS PI Meeting/Workshop K42 Internals Dilma da Silva for K42 group IBM TJ Watson Research.
CS533 Concepts of Operating Systems Jonathan Walpole.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Memory Management ◦ Operating Systems ◦ CS550. Paging and Segmentation  Non-contiguous memory allocation  Fragmentation is a serious problem with contiguous.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocesor Operating System By: Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael.
Chapter 1 Computer System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Computer Systems Overview. Page 2 W. Stallings: Operating Systems: Internals and Design, ©2001 Operating System Exploits the hardware resources of one.
Computer System Overview Chapter 1. Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users.
The HDF Group Multi-threading in HDF5: Paths Forward Current implementation - Future directions May 30-31, 2012HDF5 Workshop at PSI 1.
I/O Management and Disk Structure Introduction to Operating Systems: Module 14.
Research Methods1 Research Presentation. Research Methods2 General Guidelines on designing the presentation How many slides do I need? –Depends on how.
The Structure of Processes (Chap 6 in the book “The Design of the UNIX Operating System”)
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Java Software Solutions Lewis and Loftus Chapter 14 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Advanced Flow of Control --
Authors: Haowei Yuan, Tian Song, and Patrick Crowley Publisher: ICCCN 2012 Presenter: Chai-Yi Chu Date: 2013/05/22 1.
The Vesta Parallel File System Peter F. Corbett Dror G. Feithlson.
1 Providing Dynamic Update in an Operating System By Liao,Hsiao-Win Andrew Baumann, Gernot Heiser University of New South Wales & National ICT Australia.
Sequential Hardware Prefetching in Shared-Memory Multiprocessors Fredrik Dahlgren, Member, IEEE Computer Society, Michel Dubois, Senior Member, IEEE, and.
Pipes & Filters Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
Operating System Isfahan University of Technology Note: most of the slides used in this course are derived from those of the textbook (see slide 4)
Precomputation- based Prefetching By James Schatz and Bashar Gharaibeh.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Demand Paging.
CS510 Concurrent Systems Jonathan Walpole. RCU Usage in Linux.
Lecture 1: Review of Computer Organization
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
Static block can be used to check conditions before execution of main begin, Suppose we have developed an application which runs only on Windows operating.
1 Read-Copy Update Paul E. McKenney Linux Technology Center IBM Beaverton Jonathan Appavoo Department.
® July 21, 2004GC Summer School1 Cycles to Recycle: Copy GC Without Stopping the World The Sapphire Collector Richard L. Hudson J. Eliot B. Moss Originally.
Assembly Language Co-Routines
Chapter 1 Computer System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Computer Systems Overview. Lecture 1/Page 2AE4B33OSS W. Stallings: Operating Systems: Internals and Design, ©2001 Operating System Exploits the hardware.
1 Computer System Overview Chapter 1. 2 Operating System Exploits the hardware resources of one or more processors Provides a set of services to system.
1.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 1: Introduction What Operating Systems Do √ Computer-System Organization.
Chapter 1 Computer System Overview
Tornado Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
Chapter 9: Virtual Memory
Operating System I/O System Monday, August 11, 2008.
Page Replacement.
Overview Continuation from Monday (File system implementation)
Multithreaded Programming
Software Transactional Memory Should Not be Obstruction-Free
TORNADO OPERATING SYSTEM
Chapter 1 Computer System Overview
Module IV Memory Organization.
Presentation transcript:

1 Supporting Hot-Swappable Components for System Software Kevin Hui, Jonathan Appavoo, Robert Wisniewski, Marc Auslander, David Edelsohn, Ben Gamsa Orran Krieger, Bryan Rosenburg, Michael Stumm HOTOS 2001 Hung, Chin-Chieh ESL, Dept. of CSIE, CCU 8/25/2005

2 Outline Introduction Design Overview Implementation Highlights Preliminary Results Conclusion

3 Outline Introduction Design Overview Implementation Highlights Preliminary Results Conclusion

4 Introduction A hot-swappable component Can be replace at running time Online upgrades Improve performance Simplify software

5 Introduction The necessary of hot-swappable component 1. Instantiate a replacement component 2. Quiescent state 3. Transfer state 4. Swap component 5. Deallocate the old component

6 Problems of Hot-Swappable Component 1. Establish a quiescent state Safely transfer and swap 2. Transfer state The most easy way is not efficient 3. Swap all of the references held by client The references now refer to the new one

7 Design Goals 1. Zero performance overhead for that will not be swapped 2. Complete transparency to client component 3. Minimal code impact on components that wish to be swaped 4. Zero impact on other components 5. Good performance and scalability

8 Outline Introduction Design Overview Implementation Highlights Preliminary Results Conclusion

9 Design Overview The algorithm is as follows: 1. Establish a quiescent state 2. Transfer the component state 3. Update the references to the component

10 Establish a quiescent state Swap the indirection pointer Point to an interposing object Track all thread Could pass the call to original object Wait for the termination of all calls Use a efficient means Blocks all new call

11 Transfer the component state Best common format To make state transfer efficient Avoid canonical form A list or array For example A hash table to be passed directly through a pointer

12 Update the references to the component Changing the indirection pointer Refer to the new object Relesaing all the threads blocked in the interposing object Deallocating the original object and the temporary interposing object

13 Outline Introduction Design Overview Implementation Highlights Preliminary Results Conclusion

14 Implementation Highlights The interposing object is called the mediator Three phases of the swapping operation 1. Forward 2. Block 3. Completed

15 Forward Phase Tracks new incoming calls By identifiers and increments an in-flight call counter Stores thread identifiers In a hash table This phase continues until the swap initiation has the lowest generation number A generation number in K42

16 Block Phase Check the new call Belong to the in-flight thread(in hash table) Yes, forward to the original component No, the thread is suspended The call counter reached 0 A quiescent state

17 Completed Phase Remove the mediator Future call be directly handled by the new component Resume all thread

18 Outline Introduction Design Overview Implementation Highlights Preliminary Results Conclusion

19 Preliminary Results Benchmarks A toy component (simple counter) A substantial component of the K42 memory management subsystem

20 Preliminary Results Counter Simple:Partitioned/Shared counter

21 Preliminary Results File Cache Manager(FCM) Simple:Partitioned/Shared FCM

22 Outline Introduction Design Overview Implementation Highlights Preliminary Results Conclusion

23 Conclusion Describe the hot-swapping mechanism Totally transparent to the clients Minimize Impact on performance The limitation of this mechanism Threads are relatively short-lived Many Server-based system are short-lived

24 Thanks for your listening