140 likes | 249 Views
Enabling autonomic behavior in systems software with hot swapping. Paper by: J. Appavoo, et al. Presentation by: Justin Moles. Hot Swapping Concept. Autonomic systems must be able to identify problems and reconfigure or redesign themselves to adapt
E N D
Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation by: Justin Moles
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
Autonomic Features • Performance • System Monitoring • Flexibility and Maintainability • System Availability • Extensibility • Testing
Example Applications • Optimizing for the common case • Optimizing for wide range of values • Access Patterns • Exploiting Architecture Features • Multiprocessor Optimizations • Client Specific Optimizations
Hot Swapping Procedure • Triggering hot swapping. • Choosing the target. • Performing the swap. • Transferring state. • Dynamically adding object types.
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
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
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.
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.
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
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
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