2015 · 10 citations · 13 references
ComputingCloud ComputingComputer ScienceCloud InfrastructureDistributed SystemsFault-tolerant SystemsCost OptimizationCost-performance TradeoffsSoftware MaintenanceUpgrade PlanningDegradationExpected Completion Time MinimizationExpected Time To CompletionPareto AnalysisPareto Optimal SetPareto Set GenerationRolling UpdatesRolling Upgrades
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.
13
Towards robust distributed systems (abstract)
2000 · 784 citations · Full text
Understanding network failures in data centers
Phillipa Gill, Navendu Jain, Nachiappan Nagappan · 2011 · 715 citations · Full text
Ripal Nathuji, Aman Kansal, Alireza Ghaffarkhah · 2010 · 570 citations