ISC HPC Blog
Optimizing Application Performance on the Cloud by Simulation
What is iCanCloud?
iCanCloud is a simulation platform aimed to model and simulate cloud computing systems, which is targeted to those users who deal closely with those kinds of systems. The main objective of iCanCloud is to predict the trade-offs between cost and performance of a given set of applications executed in a specific hardware, and then provide to users useful information about such costs. However, iCanCloud can be used by a wide range of users, from basic active users to developers of large distributed applications.
When dealing with application porting onto cloud infrastructures, especially those provided by third party institutions in a pay-as-you-go basis, the eternal question of which type and number of instantiated resources arise. A widespread solution has been that of intensive application profiling along with the study of its behavior on real cloud resources and then develop an execution model. This process takes time and money if you want to consider each type of virtual machine offered by an IaaS provider.
In the beginning
The previous considerations were our starting point in a research line that in the beginning put together three Spanish universities: Universidad Complutense de Madrid (UCM, http://www.ucm.es/), Universidad Carlos III (UC3M, http://www.uc3m.es/) and Universidad Nacional de Estudios a Distancia (UNED, http://www.uned.es/) about 2 years ago.
The application of the scientific method in iCanCloud’s development has been always a constant for us, and this has been reflected in the associated research publications you’ll find at the end of this blog entry.
Additionally, validation of iCanCloud has been done using a real life application pertaining to a bleeding edge area: the exploration of planet Mars. This application that will allow the orientation of the next generation landers pertaining to the Mars MetNet Mission (http://metnet.fmi.fi/ ), which brings together Spain, Finland and Russia, was previously ported. Also, this seminal work produced an execution model along with a metric that evaluates possible solutions by means of cost and performance.
iCanCloud performed the next step, reproducing the same results obtained by the initial research work and completing the “cloud circle” for the evaluation of the chosen application.
Both existing and non-existing cloud computing architectures can be easily modeled and simulated. The same goes to cloud brokering policies, thanks to iCanCloud’s flexible cloud hypervisor module. Out of the box, iCanCloud provides simulates the Amazon EC2 infrastructure.
Customizable VMs can be used to quickly simulate uni-core/multi-core systems. Storage systems have been not forgotten, as iCanCloud provides a wide range of configurations for storage systems, which include models for local storage systems, remote storage systems, like NFS, and parallel storage systems, like parallel file systems and RAID systems.
iCanCloud provides a user-friendly GUI to ease the generation and customization of large distributed models. This GUI is especially useful for: managing a repository of pre-configured VMs, managing a repository of pre-configured Cloud systems, managing a repository of pre-configured experiments, launching experiments from the GUI, and generating graphical reports.
Advanced user will find that iCanCloud provides a POSIX-based API and an adapted MPI library for modeling and simulating applications. Also, several methods for modeling applications can be used in iCanCloud: using traces of real applications; using a state graph; and programming new applications directly in the simulation platform.
iCanCloud is open-source, free and available at the following website: http://icancloudsim.org/. You are very invited not only to download it, but also to provide us feedback on how we could improve it.
The iCanCloud Simulator
- Nuñez, J.L. Vazquez-Poletti, A.C. Caminero, G.G. Castañe, J. Carretero and I.M. Llorente: iCanCloud: A Flexible and Scalable Cloud Infrastructure Simulator. Journal of Grid Computing, Special issue on Data Intensive Computing in the Clouds, 2012, to appear.
- Núñez, G. González, J.L. Vázquez-Poletti, A.C. Caminero, J. Carretero and I.M. Llorente: Design of a Flexible and Scalable Hypervisor Module for Simulating Cloud Computing Environments. International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS 2011), The Hague (Netherlands), June 2011. Proceedings published by IEEE Xplore, pp. 265-270, 2011.
- Núñez, J.L. Vázquez-Poletti, A.C. Caminero, J. Carretero and I. M. Llorente: Design of a New Cloud Computing Simulation Platform. 1st International Workshop on Cloud for High Performance Computing (C4HPC) on the 11th International Conference on Computational Science and Its Applications (ICCSA'11), Santander (Spain), June 2011. Proceedings published in Lecture Notes in Computer Science (LNCS). Volume 6784, pp. 582-593, 2011. Springer Verlag.
The Application used for validation
- P. Romero, G. Barderas, J.L. Vázquez-Poletti and I.M. Llorente: Chronogram to detect Phobos Eclipses on Mars with the MetNet Precursor Lander. Planetary and Space Science, vol. 59, n. 13, 2011, pp. 1542-1550.
- J.L. Vázquez-Poletti, G. Barderas, I.M. Llorente and P. Romero: A Model for Efficient Onboard Actualization of an Instrumental Cyclogram for the Mars MetNet Mission on a Public Cloud Infrastructure. PARA2010: State of the Art in Scientific and Parallel Computing, Reykjavík (Iceland), June 2010. Proceedings published in Lecture Notes in Computer Science (LNCS). Volume 7133, pp. 33-42, 2012. Springer Verlag.