Abstract: Modern data analytic and machine learning jobs
find in the cloud a natural deployment platform to satisfy their
notoriously large resource requirements. Yet, to achieve cost
efficiency, it is crucial to identify a deployment configuration that
satisfies user-defined QoS constraints (e.g., on execution time),
while avoiding unnecessary over-provisioning.
This paper introduces Lynceus, a new approach for the
optimization of cloud-based data analytic jobs that improves over
state-of-the-art approaches by enabling significant cost savings
both in terms of the final recommended configuration and of the
optimization process used to recommend configurations.
Unlike existing solutions, Lynceus optimizes in a joint fashion
both the cloud-related (i.e., which and how many machines to
provision) and the application-level (e.g. the hyper-parameters
of a machine learning algorithm) parameters. This allows for a
reduction of the cost of recommended configurations by up to
3.7X at the 90-th percentile with respect to existing approaches,
which treat the optimization of cloud-related and application level
parameters as two independent problems.
Further, Lynceus reduces the cost of the optimization process
(i.e., the cloud cost incurred for testing configurations) by
up to 11X. Such an improvement is achieved thanks to two
mechanisms: i) a timeout approach which allows to abort the
exploration of configurations that are deemed suboptimal, while
still extracting useful information to guide future explorations
and to improve its predictive model Γ’β¬β differently from recent
works, which either incur the full cost for testing suboptimal
configurations or are unable to extract any knowledge from
aborted runs; ii) a long-sighted and budget-aware technique
that determines which configurations to test by predicting the
long-term impact of each exploration Γ’β¬β unlike state-of-the-art
approaches for the optimization of cloud jobs, which adopt greedy
optimization methods.
Vahe Poladian, Mary Shaw and
David Garlan. Modeling Uncertainty of Predictive Inputs in Anticipatory Dynamic Configuration. In Proceedings of the International Workshop on Living with Uncertainties (IWLU'07), co-located with the 22nd International Conference on Automated Software Engineering (ASE'07),, Atlanta, GA, USA. November 5, 2007.
http://godzilla.cs.toronto.edu/IWLU/program.html.
Abstract: Dynamic adaptive systems based on multiple concurrent applications typically employ optimization models to decide how to allocate scarce resources among the applications and how to tune their runtime settings for optimal quality-of-service according to the preferences of an end user.
Traditionally, such systems have avoided dealing with uncertainty by assuming that current snapshots of the relevant inputs are precise and by solving for an optimal system point. To achieve dynamic behavior, a system performs an optimization loop upon discovering changes in the input variables (e.g. changes in the available level of resources) and adapts the applications according to the new optimal solution. Unfortunately, when certain adaptation actions incur costs, such reactive adaptation strategies suffer from a significant shortcoming: several locally optimal decisions over time may often be less than optimal globally.
By using predictive information about the future values of the problem inputs, we can model and implement an anticipatory adaptation strategy that helps improve the global behavior of the system in many situations. However, modeling predictions requires representing and dealing with uncertainty from different sources. In this paper, we describe our proposed approach to represent multiple sources of uncertainty and outline algorithms for solving the anticipatory configuration problem with predictive inputs.
Abstract: An important emerging requirement for computing systems is the ability to adapt at run time, taking advantage of local computing devices, and coping with dynamically changing resources. Three specific technical challenges in satisfying this requirement are to (1) select an appropriate set of applications or services to carry out a user s task, (2) allocate (possibly scarce) resources among those applications, and (3) reconfigure the applications or resource assignments if the situation changes. In this paper we show how to provide a shared infrastructure that automates configuration decisions given a specification of the user s task. The heart of the approach is an analytical model and an efficient algorithm that can be used at run time to make near-optimal (re)configuration decisions. We validate this approach both analytically and by applying it to a representative scenario.
Vahe Poladian, Shawn Butler, Mary Shaw and
David Garlan. Time is Not Money: The case for multi-dimensional accounting in value-based software engineering. In Fifth Workshop on Economics-Driven Software Engineering Research (EDSER-5). May, 2003.
Abstract: 'Time is money', or so goes the old saying. Perhaps influenced by this aphorism, some strategies for incorporating costs in the analysis of software design express all costs in currency units for reasons of simplicity and tractability. Indeed, in theoretical economics all costs can, in principle, be expressed in dollars. Software engineering problems, however, often present situations in which converting all costs to a common currency is problematical. In this paper we pinpoint some of these situations and the underlying causes of the problems, and we argue that it is often better to treat costs as a multidimensional value, with dimensions corresponding to distinct types of resources. We go on to highlight the differences among cost dimensions that need to be considered when developing cost-benefit analyses, and we suggest mechanisms for mediating among heterogeneous cost dimensions.