Do the best cloud configurations grow on trees? An experimental evaluation of black box algorithms for optimizing cloud workloads

Muhammad Bilal, Marco Serafini, Marco Canini, Rodrigo Rodrigues

Research output: Contribution to journalArticlepeer-review

Abstract

Cloud configuration optimization is the procedure to determine the number and the type of instances to use when deploying an application in cloud environments, given a cost or performance objective. In the absence of a performance model for the distributed application, black-box optimization can be used to perform automatic cloud configuration. Numerous black-box optimization algorithms have been developed; however, their comparative evaluation has so far been limited to the hyper-parameter optimization setting, which differs significantly from the cloud configuration problem. In this paper, we evaluate 8 commonly used black-box optimization algorithms to determine their applicability for the cloud configuration problem. Our evaluation, using 23 different workloads, shows that in several cases Bayesian optimization with Gradient boosted regression trees performs better than methods chosen by prior work.
Original languageEnglish (US)
Pages (from-to)2563-2575
Number of pages13
JournalProceedings of the VLDB Endowment
Volume13
Issue number12
DOIs
StatePublished - Aug 2020

Bibliographical note

KAUST Repository Item: Exported on 2021-02-16
Acknowledgements: Muhammad Bilal was supported by a fellowship from the Erasmus Mundus Joint Doctorate in Distributed Computing (EMJD-DC) program funded by the European Commission (EACEA) (FPA2012-0030). Work done in part while author was interning at KAUST. This research was supported by Fundac ̧ ̃ao para a Ciˆen-cia e a Tecnologia (FCT), under projects UIDB/50021/2020 andCMUP-ERI/TIC/0046/2014.

Fingerprint

Dive into the research topics of 'Do the best cloud configurations grow on trees? An experimental evaluation of black box algorithms for optimizing cloud workloads'. Together they form a unique fingerprint.

Cite this