# Presentation: 224097

## 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 2005

## Presentation Roadmap

**Introduction**
- Model and approach
- System implementation
- Performance results
- Conclusion and future work

- International Conference on Autonomic Computing 2005

## 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**
**SETI@home, Folding@home **
**Creating massive compute power**
- Storage resources
**Farsite, Kosha, FreeLoader**
**Aggregate distributed spaces into **
**	****shared storage**

**(Courtesy: SETI@home)**

**(Courtesy: Folding@home)**

- International Conference on Autonomic Computing 2005

**Notes:**
SETI: Search for Extraterrestrial Intelligence / downloads and analyzes radio telescope data 
283,627 hosts, 212 countries

## 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 2005

## 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 2005

## Presentation Roadmap

**Introduction**
**Model and approach**
- System implementation
- Performance results
- Conclusion and future work

- International Conference on Autonomic Computing 2005

## 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 2005

## 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 2005

## 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 2005

## 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******’*** =
- Overall ***β****** = ****min (**β**1**’* , *β**2**’* , ... *β**n**’* )
- Picking most restrictive ***β****** ***across resources

***β******i, *** if consumption ≥ ***τ******i***

***1******, *** if consumption < ***τ******i***

- International Conference on Autonomic Computing 2005

## Governor Architecture

**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 2005

## Presentation Roadmap

**Introduction**
**Model and approach**
**System implementation**
- Performance results
- Conclusion and future work

- International Conference on Autonomic Computing 2005

## 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***

- International Conference on Autonomic Computing 2005

## 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 2005

## Presentation Roadmap

**Introduction**
**Model and approach**
**System implementation**
**Performance results**
- Conclusion and future work

- International Conference on Autonomic Computing 2005

##  Applications, Benchmarks, and Configurations

- Scavenger applications
**SETI@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

- International Conference on Autonomic Computing 2005

## Impact Benchmarking Results

**SETI**

**FreeLoader**

| Resource | Impact level (α) |  |  |  |
| --- | --- | --- | --- | --- |
|  | 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 (α) |  |  |  |
| --- | --- | --- | --- | --- |
|  | 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 |

- International Conference on Autonomic Computing 2005

## Multi-resource Workload: Kernel Compile

**Impact on native workload**

**Impact on scavenger app.**

- International Conference on Autonomic Computing 2005

## 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 2005

## 	Composite Exec. Time and Impact

| Resource | Impact level (α) |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
|  | 0.0 | 0.05 | 0.10 | 0.20 | 0.25 | 1.0 |
| SETI@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% |

- Combine impact benchmarking results with real-time monitoring of composite workload
- Governor closely approximates target performance impact (α)

- International Conference on Autonomic Computing 2005

## Comparison with Priority Based Method (SETI@home)

- International Conference on Autonomic Computing 2005

## Comparison with Priority Based Method (FreeLoader)

- International Conference on Autonomic Computing 2005

## Presentation Roadmap

**Introduction**
**Model and approach**
**System implementation**
**Performance results**
**Conclusion and future work**

- International Conference on Autonomic Computing 2005

## 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 2005

## Resource Utilization and β for Composite

- International Conference on Autonomic Computing 2005