Summary:
Scheduling data processing workflows (dataflows) on the cloud is a very complex
and challenging task. It is essentially an optimization problem, very similar
to query optimization, that is characteristically different from traditional
problems in two aspects: Its space of alternative schedules is very rich, due
to various optimization opportunities that cloud computing offers; its
optimization criterion is at least two-dimensional, with monetary cost of using
the cloud being at least as important as query completion time. In this paper,
we study scheduling of dataflows that involve arbitrary data processing
operators in the context of three different problems: 1) minimize completion
time given a fixed budget, 2) minimize monetary cost given a deadline, and 3)
find trade-offs between completion time and monetary cost without any a-priori
constraints. We formulate these problems and present an approximate
optimization framework to address them that uses resource elasticity in the
cloud. To investigate the effectiveness of our approach, we incorporate the
devised framework into a prototype system for dataflow evaluation and
instantiate it with several greedy, probabilistic, and exhaustive search
algorithms. Finally, through several experiments that we have conducted with
the prototype elastic optimizer on numerous scientific and synthetic dataflows,
we identify several interesting general characteristics of the space of
alternative schedules as well as the advantages and disadvantages of the
various search algorithms. The overall results are quite promising and indicate
the effectiveness of our approach.
Keywords:
Algorithms, Design, Economics, Experimentation, Performance