International Conference on Autonomic Computing Governor: Autonomic Throttling for Aggressive Idle Resource Scavenging Jonathan Strickland (1) Vincent Freeh (1) Xiaosong Ma (1 & 2) Sudharshan Vazhkudai (2) (1) Department of Computer Science, NC State Univ. (2) Mathematics and Computer Science Division, Oak Ridge National Laboratory
International Conference on Autonomic Computing Presentation Roadmap Introduction Model and approach System implementation Performance results Conclusion and future work
International Conference on Autonomic Computing Aggregating Desktop Computer Resources Personal computers pervasive Easily updated and well equipped Under-utilized Consolidate scattered resources by resource scavenging (resource stealing) Computing resources Condor, Entropia Creating massive compute power Storage resources Farsite, Kosha, FreeLoader Aggregate distributed spaces into shared storage (Courtesy: (Courtesy:
International Conference on Autonomic Computing Impact on Workstation Owners Foremost concern of resource donors Security and privacy impact Virtual machine/sandbox solutions Performance impact Existing approaches often too conservative “Stop” approach Stop scavenging when user activity detected Unable to utilize small pieces of idle time Does not overlap scavenging with native workload Priority-based approach Works for cycle-stealing Implicit, “best-effort” Range and granularity limited by operating system
International Conference on Autonomic Computing Objectives and Contributions Goal: systematic performance impact control framework Contributions: Governor Explicit, quantified approach toward performance impact control Extensible framework for arbitrary scavenging applications and native workloads User-level, OS-independent implementation Evaluation with two types of scavenging applications
International Conference on Autonomic Computing Presentation Roadmap Introduction Model and approach System implementation Performance results Conclusion and future work
International Conference on Autonomic Computing System Entities Active on donated workstations Resource scavenging application (scavenger) Native workload Governor process Controls execution of scavenger Limits impact on native workload to target level α (e.g., 20%)
International Conference on Autonomic Computing Performance Impact Performance impact Caused by resource scavenging application on workstation owner’s native workload Metrics: slow-down factor (Time scavenged – Time original ) / Time original May not reflect resource owner perceived impact Main approach: resource throttling Throttle level (β, 0<=β<1) Time scavenging / Time total Major challenge: to select appropriate β value
International Conference on Autonomic Computing Impact Benchmarking Characterize scavenger S against system resources Native workload as combination of resource consumption components Resource vector R = (r 1, r 2, …, r n ) Benchmark vector B = (B 1, B 2, …, B n ) Measure S’ impact on B i with various throttle levels Store impact curve Calculate target throttle level β i with given impact level α
International Conference on Autonomic Computing Native Workload Monitoring Native workloads typically complex and dynamic Online workload monitoring Activate corresponding β when non-trivial native resource consumption detected Resource trigger vector Т = ( τ 1, τ 2, …, τ n ) For each resource R i β i ’ = 1, 2, … n ) Overall β = min (β 1 ’, β 2 ’, … β n ’ ) Picking most restrictive β across resources β i, if consumption ≥ τ i 1, if consumption < τ i
International Conference on Autonomic Computing Governor Architecture scavenger system resources Resource vectors 0. impact benchmarking 1. monitor resource activity 2. compute overall 3. throttle scavenger Governor User target Adaptive Extensible and generic
International Conference on Autonomic Computing Presentation Roadmap Introduction Model and approach System implementation Performance results Conclusion and future work
International Conference on Autonomic Computing Dynamic Throttling Mechanism Fixed throttle interval “I” 1 second in our implementation Within each I, Governor Runs scavenger application for β*I Monitors native workload during (1-β)*I Adjust β for next I 0.2 … Scavenger phases Monitoring phases β=0.5 I β=0.3 I I β=0.6
International Conference on Autonomic Computing Resource Usage Monitoring and Triggers At beginning and end of each monitoring phase (1-β)*I Monitor resource usage CPU: /proc/stat (cycles) Disk: /proc/partitions (blocks) Network: /proc/net/dev (bytes) Triggers ( τ array) Resource Trigger value ( τ ) τ CPU 1% utilization τ IO 0 τ network 0
International Conference on Autonomic Computing Presentation Roadmap Introduction Model and approach System implementation Performance results Conclusion and future work
International Conference on Autonomic Computing Applications, Benchmarks, and Configurations Scavenger applications Search for signals in slices of radio telescope data Computation-intensive FreeLoader Prototype for aggregating storage in LAN environments I/O- and network-intensive Single-resource benchmarks CPU: EP from NAS benchmark suite I/O: large sequential file read Network: repeated downloading with wget Linux workstation 2.8GHz Pentium 4, 512MB memory, 80GB disk
International Conference on Autonomic Computing Impact Benchmarking Results SETI FreeLoader ResourceImpact level (α) β CPU β IO 1.0 β network 1.0 ResourceImpact level (α) β CPU β IO β network
International Conference on Autonomic Computing Multi-resource Workload: Kernel Compile Impact on native workload Impact on scavenger app.
International Conference on Autonomic Computing Synthetic Composite Workload Simulate common intermittent user activities Short sleep time between operations Writing 80MB data to file Browsing arbitrary directories in search of file Compressing data written previously and send via networks Browsing more directories Removing files written Takes about 150 seconds without concurrent user load
International Conference on Autonomic Computing Composite Exec. Time and Impact ResourceImpact level (α) % impact 142 0% % % % % % FreeLoader % impact 142 0% % % % % % Combine impact benchmarking results with real- time monitoring of composite workload Governor closely approximates target performance impact (α)
International Conference on Autonomic Computing Comparison with Priority Based Method
International Conference on Autonomic Computing Comparison with Priority Based Method (FreeLoader)
International Conference on Autonomic Computing Presentation Roadmap Introduction Model and approach System implementation Performance results Conclusion and future work
International Conference on Autonomic Computing Conclusion and Future Work Governor: extensible framework for quantitative performance impact control Contains actual performance impact Proactively consume idle resources Self-adaptive OS-independent and low-overhead Future work Connect impact control with user interfaces Studying memory resource throttling Evaluating with more scavengers
International Conference on Autonomic Computing Resource Utilization and β for Composite