Title: Governor: Autonomic Throttling for Aggressive Idle Resource Scavenging
1Governor 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
2Presentation Roadmap
- Introduction
- Model and approach
- System implementation
- Performance results
- Conclusion and future work
3Aggregating 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
- SETI_at_home, Folding_at_home
- Creating massive compute power
- Storage resources
- Farsite, Kosha, FreeLoader
- Aggregate distributed spaces into
- shared storage
(Courtesy SETI_at_home)
(Courtesy Folding_at_home)
4Impact 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
5Objectives 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
6Presentation Roadmap
- Introduction
- Model and approach
- System implementation
- Performance results
- Conclusion and future work
7System 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
a (e.g., 20)
8Performance Impact
- Performance impact
- Caused by resource scavenging application on
workstation owners native workload - Metrics slow-down factor
- (Timescavenged Timeoriginal) / Timeoriginal
- May not reflect resource owner perceived impact
- Main approach resource throttling
- Throttle level (ß, 0ltßlt1)
- Timescavenging / Timetotal
- Major challenge to select appropriate ß value
9Impact Benchmarking
- Characterize scavenger S against system resources
- Native workload as combination of resource
consumption components - Resource vector
- R (r1, r2, , rn)
- Benchmark vector
- B (B1, B2, , Bn)
- Measure S impact on Bi with various throttle
levels - Store impact curve
- Calculate target throttle level ßi with given
impact level a
10Native Workload Monitoring
- Native workloads typically complex and dynamic
- Online workload monitoring
- Activate corresponding ß when non-trivial native
resource consumption detected - Resource trigger vector
- ? (t1, t2, , tn)
- For each resource Ri
- ßi
- Overall ß min (ß1 , ß2 , ßn )
- Picking most restrictive ß across resources
ßi, if consumption ti
1, if consumption lt ti
11Governor Architecture
0. impact benchmarking
User
target ?
system resources
Resource vectors (b1, b2 , ...) (t1, t2 , ...)
1. monitor resource activity
scavenger
3. throttle scavenger
2. compute overall b
- Adaptive
- Extensible and generic
Governor
12Presentation Roadmap
- Introduction
- Model and approach
- System implementation
- Performance results
- Conclusion and future work
13Dynamic 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
14Resource 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 (t array)
Resource Trigger value (t)
t CPU 1 utilization
t IO 0
t network 0
15Presentation Roadmap
- Introduction
- Model and approach
- System implementation
- Performance results
- Conclusion and future work
16 Applications, Benchmarks, and Configurations
- Scavenger applications
- SETI_at_home
- 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
17Impact Benchmarking Results
SETI
FreeLoader
Resource Impact level (a) Impact level (a) Impact level (a) Impact level (a)
Resource 0.05 0.10 0.20 0.25
ßCPU 0.02 0.05 0.10 0.2
ßIO 1.0 1.0 1.0 1.0
ßnetwork 1.0 1.0 1.0 1.0
Resource Impact level (a) Impact level (a) Impact level (a) Impact level (a)
Resource 0.05 0.10 0.20 0.25
ßCPU 0.30 0.40 0.70 0.90
ßIO 0.05 0.10 0.20 0.25
ßnetwork 0.10 0.20 0.30 0.50
18Multi-resource Workload Kernel Compile
Impact on native workload
Impact on scavenger app.
19Synthetic 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
20 Composite Exec. Time and Impact
- Combine impact benchmarking results with
real-time monitoring of composite workload - Governor closely approximates target performance
impact (a)
Resource Impact level (a) Impact level (a) Impact level (a) Impact level (a) Impact level (a) Impact level (a)
Resource 0.0 0.05 0.10 0.20 0.25 1.0
SETI_at_home impact 142 0 148 4.0 154 8.4 168 18.5 180 26.8 261 83.8
FreeLoader impact 142 0 150 5.6 157 10.6 172 21.1 180 26.8 211 48.6
21Comparison with Priority Based Method (SETI_at_home)
22Comparison with Priority Based Method (FreeLoader)
23Presentation Roadmap
- Introduction
- Model and approach
- System implementation
- Performance results
- Conclusion and future work
24Conclusion 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
25Resource Utilization and ß for Composite