SuMo: analysis and optimization of Amazon EC2 instances

P. Kokkinos, T. A. Varvarigou, A. Kretsis, P. Soumplis, E. A. Varvarigos

Research output: Contribution to journalArticleResearchpeer-review

7 Citations (Scopus)


The analysis and optimization of public clouds gains momentum as an important research topic, due to their widespread exploitation by individual users, researchers and companies for their daily tasks. We identify primitive algorithmic operations that should be part of a cloud analysis and optimization tool, such as resource profiling, performance spike detection and prediction, resource resizing, and others, and we investigate ways the collected monitoring information can be processed towards these purposes. The analyzed information is valuable in driving important virtual resource management decisions. We also present an open-source tool we developed, called SuMo,which contains the necessary functionalities for collecting monitoring data from Amazon Web Services (AWS), analyzing them and providing resource optimization suggestions. SuMo makes easy for anyone to analyze AWS instances behavior, incorporating a set of basic modules that provide profiling and spikef detection functionality. It can also be used as a basis for the development of new such analytic procedures for AWS. SuMo contains a Cost and Utilization Optimization (CUO) mechanism, formulated as an Integer Linear Programming (ILP) problem, for optimizing the cost and the utilization of a set of running Amazon EC2 instances. This CUO mechanism receives information on the currently used set of instances (their number, type, utilization) and proposes a new set of instances for serving the same load that minimizes cost and maximizes utilization and performance efficiency.

Original languageEnglish
Pages (from-to)255-274
Number of pages20
JournalJournal of Grid Computing
Issue number2
Publication statusPublished - 3 Jun 2015
Externally publishedYes


  • Amazon web services
  • Analysis
  • Optimization
  • Public clouds
  • Toolkit

Cite this