Applications of Utility-theoretic Models in Software Configuration - PowerPoint PPT Presentation

About This Presentation
Title:

Applications of Utility-theoretic Models in Software Configuration

Description:

apples and oranges, measured in pounds, Prices (resource to good conversion ... Quantities involved (pounds of apples, oranges) need not be continuous, and can ... – PowerPoint PPT presentation

Number of Views:10
Avg rating:3.0/5.0
Slides: 27
Provided by: vpola
Learn more at: http://www.cs.cmu.edu
Category:

less

Transcript and Presenter's Notes

Title: Applications of Utility-theoretic Models in Software Configuration


1
Applications of Utility-theoretic Models in
Software Configuration
  • Vahe Poladian
  • SSSG
  • March 14, 2002

2
Actual 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?
3
Actual 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!
4
Why 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.

5
Talk Outline
  • Utility Theory by Example
  • How Utility Theory Applies to Computing
  • Related Work
  • Issues Specific to Mobile Computing

6
Example 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
7
Example 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
8
Talk Outline
  • Utility Theory By Example
  • How Utility Theory Applies to Computing
  • Related Work
  • Issues Specific to Mobile Computing

9
Mobile 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?

10
Computing 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?

11
Computing 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,

12
Insights
  • 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,

13
Talk Outline
  • Utility Theory By Example
  • How Utility Theory Applies to in Computing
  • Related Work
  • Issues Specific to Mobile Computing

14
Related 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,

15
Problem 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,

16
Chen 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,

17
Chen 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,

18
Dynamic 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,

19
Dynamic Programming Illustrated
100 ?
?
1 ?
0 ?
1 2 3
Percentage of Resource, k
Applications considered, j
20
Dynamic 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,

21
Solving 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,

22
Talk Outline
  • Utility Theory By Example
  • How Utility Theory Applies to in Computing
  • Related Work
  • Issues Specific to Mobile Computing

23
Interesting 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,

24
Interesting 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,

25
STOP
  • Questions, ideas, comments?

26
Bonus 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,
Write a Comment
User Comments (0)
About PowerShow.com