Presentation on theme: "Autonomic Systems Justin Moles, Winter 2006 Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation."— 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
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