Work

Human-driven Optimization

Public Deposited

The optimization problems associated with adaptive and autonomic computing systems are often difficult to pose well and solve efficiently. A key challenge is that for many applications, particularly interactive applications, the user or developer is unlikely or unable to provide either the objective function f, or constraints. It is a key problem encountered broadly in adaptive and autonomic computing. This dissertation argues for using human-driven optimization techniques to solve optimization problems. In particular, it consists of two core ideas. In human-driven specification, we use direct human input from users to pose specific optimization problems, namely to determine the objective function f and expose hidden constraints. Once we have a well-specified problem, we are left with the need to search for a solution in a very large solution space. In human-driven search, we use direct human input to guide the search for a good solution, a valid configuration x that optimizes f(x). My research happens in three contexts. The main context is the Virtuoso system for utility and grid computing based on virtual machines (VMs) interconnected with overlay networks. Virtuoso provides instances of optimization problems and a framework for evaluating solutions to them. In particular, the virtual execution environment of Virtuoso makes possible low-level, application- and developer-independent adaptation mechanisms such as CPU reservations, VM migration, overlay topology configuration and routing, and network reservations. The high-level optimization problem in Virtuoso is how to dynamically optimize, at run-time, the performance of existing, unmodified distributed applications running on existing, unmodified operating systems. These applications can be batch, batch parallel and interactive applications. The second context of my research is power management for laptops. Existing Dynamic voltage and Frequency Scaling (DVFS) techniques are commonly used to reduce power consumption but they are conservative and pessimistic about both the user and the processor. How to further prolong battery life and reduce heat dissipation is the problem that is addressed. The last context of my research is IT configuration, a process whereby individual components are assembled and adjusted to construct a working solution. Visible complexity--of setting configuration knobs, installing and updating software, diagnosing and repairing problems, and so on--is a challenge for IT. How to reduce such complexity is a challenging problem. As the first step, I explored the decision complexity presented to the non-expert system administrator, which represents a significant part of the whole IT complexity. To show the feasibility and effectiveness of my techniques, in this dissertation, I describe how I address increasingly difficult optimization problems in the Virtuoso context using human-driven specification or search. Those problems cover single machine CPU scheduling, multiple machine CPU scheduling, and multiple machine VM mapping for interactive (desktop), batch and batch parallel applications. I also present how I apply human-driven techniques to solving power management problems on laptop computers. In general, solving each of these problems involves the design and development of systems mechanisms, adaptive algorithms and user interfaces. I evaluate each element of my work through a user study. I also discuss my work on modeling user decision complexity in IT configuration systems, as the first step towards applying human-driven techniques in that domain

Last modified
  • 08/01/2018
Creator
DOI
Subject
Keyword
Date created
Resource type
Rights statement

Relationships

Items