Title: Applications of Utility-theoretic Models in Software Configuration
1Applications of Utility-theoretic Models in
Software Configuration
- Vahe Poladian
- SSSG
- March 14, 2002
2Actual Chat of Two PDAs, circa 2100
Compumagic My battery lasts 10 times longer
than yours. Ha-ha!
Cybermatic Oh, yea? At least I have a decent
pipe to the net. Hows your museum edition
modem from 1995?
3Actual Conversation Continued
Marco de Polo Did you get The map to
Monroeville, PA, that I asked for 20 minutes
ago?
Compumagic Hang on, I am in the middle of a
bridge hand here. 10 MB out of a total of 64 GB
downloaded. Waiting to finish.
Marco de Polo What kind of configuration are
you running, anyway? And then to himself Must
have caught a virus. Packed the semi-truck
battery again, did not negotiate a decent net
service, and completely ignoring my utility.
What is with that!
4Why Utility Theory?
- Individuals make decisions to maximize their
utility given limited resources, - Utility theory explains such decisions,
- Provides models for determining optimal
allocation, given knowledge of resource
constraints, prices, and utility, - We believe similar models can be applied to the
problem of optimal software configuration,
specifically in mobile computing environments.
5Talk Outline
- Utility Theory by Example
- How Utility Theory Applies to Computing
- Related Work
- Issues Specific to Mobile Computing
6Example from Economics
- Limited Resource(s)
- money, 45 dollars of it,
- Goods
- apples and oranges, measured in pounds,
- Prices (resource to good conversion functions)
- 3 for a a pound of apples,
- 5 for a pound of oranges,
- 3apples 5oranges 45,
Feasible Region
Pounds of Apples
Monetary Constraint
Pounds of Oranges
7Example from Economics (contd.)
- Baskets
- Ordered pairs of (pounds of) apples and oranges,
- Utility
- A function from baskets to real numbers
indicating the value of a basket to user, - Indifference curves
- Contours that are made up of baskets of equal
utility, - Assume that the higher the curve, the better the
utility,
Contours of Equal Utility (Indifference Curves)
Optimal Point
Number of Apples
Monetary Constraint
Number of Oranges
8Talk Outline
- Utility Theory By Example
- How Utility Theory Applies to Computing
- Related Work
- Issues Specific to Mobile Computing
9Mobile Computing Scenario
- Hand-held computer, with two limited resources
battery and (flash, small amount of) memory, - 2 applications that work in disconnected mode
- An e-mail client, a map lookup program,
- Upload e-mail and map data for offline usage,
- Questions
- How to allocate memory between e-mail and map
data? - How to divide the battery life between using the
e-mail application and the map application?
10Computing Problem Mapped to Utility Theory
- Limited Resources
- Memory and energy,
- Services (similar to goods)
- E-mail and map, measured in number of e-mails
read /written and number of locations looked up, - Resource to service conversion functions
(prices) - How much memory and energy needed for processing
a specific number of e-mails? - For looking up a given number of locations?
11Computing Problem Mapped to Utility Theory
(contd.)
- Baskets
- Ordered pairs of (number of) e-mails processed
and locations looked up, - Utility
- A function from baskets to real numbers showing
value of basket to user, - Indifference curves
- Lookupsß Email(1-ß) const,
12Insights
- At the optimal point not every resource is
exhausted, - The optimal point depends on the shape and
position of the indifference curves not just
the resource constraints, - This resembles linear / convex programming,
- Quantities involved (pounds of apples, oranges)
need not be continuous, and can be discrete,
yielding an integer programming problem,
13Talk Outline
- Utility Theory By Example
- How Utility Theory Applies to in Computing
- Related Work
- Issues Specific to Mobile Computing
14Related Research
- The Amaranth project
- Q-RAM, QoS-based Resource Allocation Model,
- Chen Lee thesis and work leading to it,
- Thesis of S. Khan from the University of
Victoria, - I present here a portion of Chen Lees work,
15Problem Definition
- Given
- A computing machine with limited resources, such
as CPU, memory, network bandwidth, - Software applications that offer services.
Applications are configurable and can provide
various service quality and resource usage
trade-offs, - The space of configurations of the system, where
a configuration of the system is a snap-shot such
that the quality of service of each application
is fixed to a particular level, - The utility of a user with for each
configuration, - Determine
- A configuration of the system that maximizes the
users utility, while satisfying the resource
constraints,
16Chen Lee Approach
- Proposes and tackles the discrete version of the
problem, - Assumes that utility is increasing with respect
to the quality level of a single service, - Does not assume that the relationship between the
quality space and resource space is functional,
i.e., allows the possibility that a given
configuration (basket) can generally be achieved
by more than one resource combination, - Observes that the entire quality space, i.e. the
space of all the configurations or baskets, is a
Cartesian product of the points in individual
quality dimensions, - Samples a small number of points of the utility
with respect to individual quality dimensions, - Uses a function (e.g., simple addition, weighted
addition) to combine utility values from all the
dimensions,
17Chen Lee Solution
- Shows that the problem is equivalent to an
integer programming problem, - Proves that the problem reduces to the 0-1
knapsack problem, which is NP-hard. Thus, all
known optimal solutions must be exponential in
the size of the problem, - Proposes fast approximation algorithms, that
yield solutions close to the optimum, - Separately considers the case of one resource
- Dynamic programming algorithm,
18Dynamic Programming Solution
- Partition the total amount R of the resource into
small, equal portions R/M each (e.g., M can be
100). Start with one application, and bring in
applications one by one, - Let v(j, k) be the maximum utility achievable
when only first j applications are considered,
and the amount of resource available is only k
R/M, - Then v(j, k) can be described by considering
v(j-1,), by considering all allocation choices
for application number j,
19Dynamic Programming Illustrated
100 ?
?
1 ?
0 ?
1 2 3
Percentage of Resource, k
Applications considered, j
20Dynamic Programming Property
- Dynamic programming has a property
- The search space can be re-used when a change
occurs in the environment - in particular, when a new application is brought
into the system, computing the new optimal
configuration is fast, - This is desirable in mobile computing
environments, where changes in the resources or
utility necessitate frequent re-configuration of
the system,
21Solving the General Case
- Dynamic Programming Solution,
- Solution using an Integer Programming package
- using branch and bound method by giving a
heuristic, - Approximation algorithm using local search
technique,
22Talk Outline
- Utility Theory By Example
- How Utility Theory Applies to in Computing
- Related Work
- Issues Specific to Mobile Computing
23Interesting Problems in Mobile Computing
- Solving implementation issues specific to mobile
computers - Profiling resource usage. Ensuring that the
applications actual resource usage numbers
conform to the advertised values, - Ensuring that the overhead of the solution is not
too large, - Sampling users utility,
- Recently started work on these within the context
of project Aura - Characterizing forms of utility curves that arise
in mobile environments,
24Interesting Problems in Mobile Computing (contd.)
- Dynamically reconfiguring the system after a
change in the environment, in resources, or
utility, - Changes are frequent, as environment is highly
volatile, - Despite changes, continuity for users tasks need
to be provided, and distraction to the user needs
to be accounted for - If increase in resource allows a better version
of an application to be run instead of the
currently running version, should we switch, or
is the overhead of switching and distraction to
the user too much, - Computational resources of mobile computers are
limited, hence we are particularly interested in
solutions that allow fast computation of a new
optimal configuration after a change - Tap the optimizations research literature for
solutions that allow re-using part of the
computation of an existing configuration in
computing the new optimal configuration,
25STOP
- Questions, ideas, comments?
26Bonus Slide 1 Q-RAM Approach
- Assume two quality dimensions, p and q. Let (p,
q) denote a point in the quality hyperspace, - Assume two resources, r and t. Let r, t denote
a point in the resource hyperspace, - Same quality point, e.g. (10, 20) can be achieved
by multiple resource points, e.g., 3, 5, 5,
3, 4, 4, - Suppose 3, 5 can also satisfy (24, 7) and (17,
11). Of those three points in the quality
hyperspace, choose the one with highest utility.
Define a function g(3, 5) max (u((p, q)),
s.t 3, 5 satisfies (p, q)), - Take the convex hull of that function,