6/10/2002 1
A A Utility Utility-
- Centered Approach
Centered Approach to Designing Dependable Internet Services to Designing Dependable Internet Services
George Candea, Armando Fox George Candea, Armando Fox and other ROC and other ROC-
- ers
ers Stanford University Stanford University
ROC Retreat / Lake Tahoe / June 10, 2002 2 George Candea
Motivation Motivation
- Tradable properties (“
Tradable properties (“ilities ilities”) in system design: functionality, ”) in system design: functionality, usability, maintainability, performance, portability, security, usability, maintainability, performance, portability, security, availability, development cost, … availability, development cost, …
- Examples of
Examples of multiway multiway tradeoffs: tradeoffs:
- Inktomi
Inktomi: data quality : data quality ↔ ↔ performance+ availability+ cost performance+ availability+ cost
- Akamai
Akamai: : security+ manageability security+ manageability ↔ ↔ performance+ availability+ cost performance+ availability+ cost
- Yahoo:
Yahoo: cost+ portability cost+ portability ↔ ↔ performance+ functionality performance+ functionality
- Key observation: tradeoffs improve service by providing a
Key observation: tradeoffs improve service by providing a better match between service properties and app requirements better match between service properties and app requirements
- Small systems: right mix is a matter of optimization
Small systems: right mix is a matter of optimization Giant scale: indispensable to the very possibility of building s Giant scale: indispensable to the very possibility of building sys ys
ROC Retreat / Lake Tahoe / June 10, 2002 3 George Candea
Issues Issues
- Making the right tradeoffs is mostly
Making the right tradeoffs is mostly art art
- 75% of system deployments fail or don’t meet requirements
75% of system deployments fail or don’t meet requirements (Yankee Group, 1998) (Yankee Group, 1998)
- Deployment costs exceed expectations (Forrester Research:
Deployment costs exceed expectations (Forrester Research: 25% of Fortune 1000 reported 10 25% of Fortune 1000 reported 10-
- 49% higher costs)
49% higher costs)
- To make it
To make it engineering engineering, we need three things: , we need three things:
1.
- 1. A straightforward model for the design space
A straightforward model for the design space
2.
- 2. Simple, but comprehensive vocabulary for describing properties
Simple, but comprehensive vocabulary for describing properties and the outcome of making tradeoffs and the outcome of making tradeoffs
3.
- 3. Step
Step-
- by
by-
- step process for trading properties among each other to
step process for trading properties among each other to maximize usefulness of system maximize usefulness of system
ROC Retreat / Lake Tahoe / June 10, 2002 4 George Candea
Proposed Process Proposed Process
1. 1.
Identify set of relevant axes that span design space in Identify set of relevant axes that span design space in req req spec spec
(“spanning set” (“spanning set” any interesting tradeoff can be expressed in terms of the axes) any interesting tradeoff can be expressed in terms of the axes)
2. 2.
State system utility functions State system utility functions w.r.t w.r.t. each axis . each axis
3. 3.
Identify major design areas; Identify major design areas; choose representative design for each; then choose representative design for each; then
- find their coordinates in design space
find their coordinates in design space
- compute overall utility by combining individual utilities
compute overall utility by combining individual utilities
4. 4.
Choose design area that maximizes utility; repeat w/in scope of Choose design area that maximizes utility; repeat w/in scope of chosen area chosen area
- iterative process, with successive refining
iterative process, with successive refining
ROC Retreat / Lake Tahoe / June 10, 2002 5 George Candea
Bank of America Bank of America (
(http://
http://www.bofa.com www.bofa.com)
)
- System model: service takes inputs and must return
System model: service takes inputs and must return
- utputs within specified amount of time
- utputs within specified amount of time
- Spanning set for design space:
Spanning set for design space:
- Q
Quality of data: consistency with real account uality of data: consistency with real account
- A
Availability: % of requests that are completed as required vailability: % of requests that are completed as required
- P
Performance: Throughput and latency for reads/writes erformance: Throughput and latency for reads/writes
- S
Security: ITSEC levels ecurity: ITSEC levels
- C
Cost of ownership: $ amount/year (including initial cost,
- st of ownership: $ amount/year (including initial cost,
amortized over expected lifetime of system) amortized over expected lifetime of system)
ROC Retreat / Lake Tahoe / June 10, 2002 6 George Candea
bofa.com bofa.com : Quality of Data (Fidelity)
: Quality of Data (Fidelity)
Quality [%] Utility [normalized]
- Utility = how useful is a given level of quality
Utility = how useful is a given level of quality
100