1 / 26

Applications of Utility-theoretic Models in Software Configuration

This paper explores the application of utility theory to determine optimal software configurations for mobile computing environments. It discusses how utility theory can be used to allocate limited resources and make decisions based on resource constraints, prices, and utility. The paper also provides examples and insights from economics and related research in the field.

rguzik
Download Presentation

Applications of Utility-theoretic Models in Software Configuration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. How’s 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, • 3*apples + 5*oranges = 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. Number of Map Lookups Done Memory Constraint Line Energy Constraint Line Number of E-mails processed 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. Contours of Equal Utility (Indifference Curves) Number of Map Lookups Done Optimal Point Memory Constraint Line Energy Constraint Line Number of E-mails processed 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. Contours of Equal Utility (Indifference Curves) Number of Map Lookups Done Optimal Point Memory Constraint Line Energy Constraint Line Number of E-mails Processed 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 Lee’s 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 user’s 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 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 user’s 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 user’s 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,

More Related