Multi-objective optimisation of rolling upgrade allowing for failures in clouds

Daniel Sun, Daniel Guimarans, Alan Fekete, Vincent Gramoli, Liming Zhu

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

4 Citations (Scopus)


Rolling upgrade is a practical industry technique for online updating of software in distributed systems. This paper focuses on rolling upgrade of software versions in virtual machine instances on cloud computing platforms, when various failures may occur. An operator can choose the number of instances that are updated in one round and system environments to minimise completion time, availability degradation, and monetary cost for entire rolling upgrade, and hence this is a multi-objective optimisation problem. To predict completion time in the presence of failures, we offer a stochastic model that represents the dynamics of rolling upgrade. To reduce the computational effort of decision making for large scale complex systems, we propose a technique that can find a Pareto set quickly via an upper bound of the expected completion time. Then an optimum of the original problem can be chosen from this set of potential solutions. We validate our approach to minimise the objectives, through both experiments in Amazon Web Service (AWS) and simulations.

Original languageEnglish
Title of host publicationProceedings - 2015 IEEE 34th Symposium on Reliable Distributed Systems Workshops, SRDS 2015
EditorsPascal Felber, Nalini Venkatasubramanian
Place of PublicationPiscataway NJ USA
PublisherIEEE, Institute of Electrical and Electronics Engineers
Number of pages6
ISBN (Electronic)9781467393027
Publication statusPublished - 2015
Externally publishedYes
EventSymposium on Reliable Distributed Systems 2015 - Montreal, Canada
Duration: 28 Sep 20151 Oct 2015
Conference number: 34th


ConferenceSymposium on Reliable Distributed Systems 2015
Abbreviated titleSRDS 2015
Internet address


  • Cloud computing
  • Markov model
  • Multi-objective optimisation
  • Rolling upgrade
  • software version
  • Upper bound

Cite this