Lynceus: Tuning and Provisioning Data Analytic Jobs on a Budget
Many enterprises need to run data analytic jobs on the cloud. Significant cost savings can be achieved if one can find the right combination of virtual machine type, cluster size, and parameter settings for the job (e.g., hyper-parameters of a machine learning algorithm). Unfortunately, this task is very challenging given that the search space is composed of hundreds or even thousands of different configurations. Lynceus is a new tool to provision and tune data analytic applications on the cloud. It does so automatically and in a cost-efficient manner. Lynceus implements a new budget-aware approach that builds the performance model of the target job by profiling the job on the best set of cloud/parameter configurations possible given constraints of both quality of service and monetary nature. Lynceus departs from state-of-the-art approaches that simply aim to reduce the number of configurations to try, disregarding the corresponding profiling costs, and that hence achieve a worse trade-off between the accuracy of the model and the cost to build it. We evaluate Lynceus on several heterogeneous data analytic jobs, running on different frameworks and with search spaces of different sizes. We compare Lynceus with the state-of-the-art approach, implemented by recent systems such as CherryPick, and show that it can consistently identify better (i.e., less expensive) configurations. This leads to cost reductions that range from 1.7x to 1.9x on average, and from 2x to 4x at the 90-th percentile.
READ FULL TEXT