I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento...

34
I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo Damián Parrino 21 / 10 / 2010

Transcript of I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento...

Page 1: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES

“Análisis de Rendimiento para Soluciones de Cloud Computing”

Autor: Mg. Ing. Marcelo Damián Parrino

21 / 10 / 2010

Page 2: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Proposición Investigar algunos de los posibles algoritmos Investigar algunos de los posibles algoritmos

aplicables al análisis de rendimiento de aplicables al análisis de rendimiento de soluciones disponibles de “Cloud Computing”, soluciones disponibles de “Cloud Computing”, para poder evaluar el rendimiento comparado para poder evaluar el rendimiento comparado de cada una de ellas.de cada una de ellas.

Seleccionar el conjunto de algoritmos más Seleccionar el conjunto de algoritmos más adecuado, ajustarlo y probarlo para evaluar de adecuado, ajustarlo y probarlo para evaluar de un manera objetiva las soluciones de un manera objetiva las soluciones de “Computación en la Nube” de diferentes “Computación en la Nube” de diferentes proveedores del mercado, logrando una visión proveedores del mercado, logrando una visión más clara y objetiva de las capacidades de más clara y objetiva de las capacidades de computo provistas por cada uno de ellos.computo provistas por cada uno de ellos.

Page 3: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Investigación - Objetivos

Investigar puntualmente algunos de los algoritmos disponibles junto con sus posibles optimizaciones y mejoras, que permitan obtener datos objetivos para el análisis de rendimiento de las soluciones de “Cloud Computing”

Desarrollar una aplicación de software que implemente las pruebas de rendimiento planteadas, registrando los resultados para su posterior análisis y comparación

Evaluar y analizar los resultados obtenidos a partir de la implementación de las pruebas. El análisis de los resultados permitirá evaluar el desempeño y rendimiento objetivo de las soluciones disponibles de “Cloud Computing”

Page 4: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Computación en la Nube

Es un paradigma que permite ofrecer servicios de computación a través de Internet. Todo se ofrece como servicio

Los usuarios pueden acceder a los servicios disponibles en la nube sin la necesidad de gestionar los recursos que aquellos servicios utilizan

Ofrece una infraestructura de TI capaz de escalar prácticamente de manera ilimitada para cubrir la demanda de los usuarios

Page 5: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Computación en la Nube

Page 6: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Google App Engine

Permite ejecutar aplicaciones Web en la infraestructura de Google

Admite aplicaciones escritas en varios lenguajes de programación (Java, Python, Ruby)

Ofrece un servicio de almacenamiento de datos distribuido que incluye un motor de búsqueda y transacciones

Se puede utilizar de forma totalmente gratuita

Page 7: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Google App Engine

Page 8: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Microsoft Windows Azure

Sistema operativo basado en Cloud Services Brinda funciones que proporcionan soporte

para el desarrollo, el alojamiento de servicios remotos y la gestión del propio sistema, todo ello en la nube

Arquitectura dividida en capas Capa 0: Global Foundational Services (GFS) Capa 1: Gestión y coordinación de N máquinas Capa 2: Servicios para la creación de aplicaciones Capa 3: Aplicaciones alojadas dentro de Azure

Page 9: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Microsoft Windows Azure

Page 10: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Amazon Web Services (EC2)

AWS provee capacidad computacional virtual con posibilidad de crecimiento en la nube

Amazon EC2 permite computar dentro de la nube

Amazon S3 permite almacenar dentro de la nube

El servicio es elástico: brinda la posibilidad de incrementar o reducir la capacidad de las instancias en cuestión de minutos

Page 11: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Amazon Web Services

Page 12: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Benchmarks: Whetstone

Diseñado por Brian Wichmann Primer benchmark sintético, basado en el

análisis de 949 programas científicos Primera implementación Fortran, 1972 Mide la velocidad de ejecución de una

variedad de instrucciones de punto flotante en datos escalares o vectoriales

Intenta estimar la velocidad de la CPU con la Unidad de Punto Flotante (FPU)

Page 13: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Benchmarks: Dhrystone

Diseñado por Reinkol Weicker (1984) Benchmark sintético representativo de

sistemas que manejan enteros Contiene muchas instrucciones simples,

llamadas a procedimiento y condicionales, y pocas de coma flotante y bucles

Intenta medir la velocidad del sistema en cuanto a rendimiento no numérico

Page 14: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Benchmarks: Linpack

Desarrollado por Jack Dongarra (1976) Propósito original: resolver sistemas de

ecuaciones Uso muy intensivo de las operaciones de

coma flotante Mayor parte del tiempo ejecutando BLAS

(Subrutinas de Álgebra Lineal Básica) Describe la performance para resolver un

problema de matrices generales

Page 15: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Desarrollo: Framework

+execute()+getLog()+getName()+getResults()+getTotalRuns()+log()+resetLog()+run()+setStartTime()+setEndTime()

-startTime-endTime-log-runs

Benchmark

+execute()+getName()

-cycles

Whetstone

+execute()+getName()

-size

Linpack

+getName()+setAverageTime()

DummyBench

+execute()+getName()

-loops

Dhrystone

1

* +addBenchmark()+runSet()+getResults()

-aSet : Benchmark-aViewer : ResultViewer

BenchmarkSet

+getAverage()+setBenchmark()+viewLogs()+viewResults()+getMax()

-aBench : Benchmark-average

ResultViewer

-drawBar()

ResultHtmlViewer

1

1

-benchs : BenchmarkSet

CloudServlet

1

1

Page 16: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Desarrollo: Google App Engine

Herramientas de desarrollo Java y de estándares API comunes

SDK de Google App Engine cuenta con un plugin para el entorno de desarrollo Eclipse, permitiendo crear, probar y subir aplicaciones de App Engine desde el propio IDE

Incluye una aplicación de servidor Web que emula todos los servicios de App Engine desde el equipo local

Page 17: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Desarrollo: Google App Engine

Page 18: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Desarrollo: Microsoft Azure

SDK para Visual Studio de Windows Azure proporciona un entorno simulado para el desarrollo y prueba de servicios en el equipo local Development storage Development fabric

Azure provee soporte para diferentes lenguajes de la familia .NET Se decidió utilizar el lenguaje C# dada su

similitud con Java

Page 19: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Desarrollo: Microsoft Azure

Page 20: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Desarrollo: Amazon EC2

AWS Toolkit incluye un plugin de código abierto para Eclipse que facilita el desarrollo, la depuración e implementación de aplicaciones Java utilizando Amazon Web Services

Se decidió utilizar una Java Web Starter AMI (“Amazon Machine Image”) provista por AWS Fedora Core 8 de 32 bits, Java JDK 7, Tomcat

5.5, Apache 2.2.9 y MySQL 5.0.

Page 21: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Desarrollo: Amazon EC2

Page 22: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Ejecución: Google App Engine

Whetstone

Ejecuciones 100

Tiempo Total 30329 msegs

Tiempo Promedio 303,29 msegs

Tiempo Máximo 369 msegs

Dhrystone

Ejecuciones 100

Tiempo Total 13557 msegs

Tiempo Promedio 135,57 msegs

Tiempo Máximo 170 msegs

Linpack

Ejecuciones 100

Tiempo Total 19249 msegs

Tiempo Promedio 192,49 msegs

Tiempo Máximo 246 msegs

Resultados de los benchmarks ejecutados en Google App Engine:

Page 23: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Ejecución: Microsoft Azure

Whetstone

Ejecuciones 100

Tiempo Total 88602 msegs

Tiempo Promedio 886,02 msegs

Tiempo Máximo 999 msegs

Dhrystone

Ejecuciones 100

Tiempo Total 80412 msegs

Tiempo Promedio 804,12 msegs

Tiempo Máximo 890 msegs

Linpack

Ejecuciones 100

Tiempo Total 17328 msegs

Tiempo Promedio 173,28 msegs

Tiempo Máximo 296 msegs

Resultados de los benchmarks ejecutados en Microsoft Azure:

Page 24: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Ejecución: Amazon EC2

Whetstone

Ejecuciones 100

Tiempo Total 60590 msegs

Tiempo Promedio 605,9 msegs

Tiempo Máximo 713 msegs

Dhrystone

Ejecuciones 100

Tiempo Total 30143 msegs

Tiempo Promedio 301,43 msegs

Tiempo Máximo 349 msegs

Linpack

Ejecuciones 100

Tiempo Total 41280 msegs

Tiempo Promedio 412,8 msegs

Tiempo Máximo 682 msegs

Resultados de los benchmarks ejecutados en Amazon EC2:

Page 25: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Evaluación de las pruebas

Whetstone (t) Google App Engine Microsoft Azure Amazon EC2

Promedio 303,29 886,02 605,9

Máximo 369 999 713

Dhrystone (t) Google App Engine Microsoft Azure Amazon EC2

Promedio 135,57 804,12 301,43

Máximo 170 890 349

Linpack (t) Google App Engine Microsoft Azure Amazon EC2

Promedio 192,49 173,28 412,8

Máximo 246 296 682

Page 26: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Análisis de resultados (I)Whetstone

0

200

400

600

800

1000

1200

1 12 23 34 45 56 67 78 89 100

Ejecución

Msecs Google App Engine

Microsoft Azure

Amazon EC2

Page 27: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Análisis de resultados (II)Dhrystone

0

100

200

300

400

500

600

700

800

900

1000

1 12 23 34 45 56 67 78 89 100

Ejecución

Msecs

Google App Engine

Microsoft Azure

Amazon EC2

Page 28: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Análisis de resultados (III)Linpack

0

100

200

300

400

500

600

700

800

1 11 21 31 41 51 61 71 81 91

Ejecución

Msecs Google App Engine

Microsoft Azure

Amazon EC2

Page 29: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Evaluación de resultados

Google App Engine fue claramente superior a las otras dos alternativas (Amazon EC2 y Microsoft Azure) en Whetstone y Dhrystone

En el benchmark Linpack Google App Engine fue mínimamente superado en ocasiones por Microsoft Azure

Google App Engine es la mejor alternativa de cómputo en la nube mínimos tiempos de ejecución mejores tiempos máximos mejores tiempos promedios

Page 30: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Conclusión Se definió un conjunto de tres pruebas

ampliamente difundidas (Whetstone, Dhrystone y Linpack)

Se desarrolló un Framework de pruebas que simplificara el desarrollo de las pruebas de software planteadas

El Framework se puede aplicar a cualquier solución de Cloud Computing que permita la ejecución de un “Web Service”

Útil como puntapié inicial para la evaluación y comparación del poder computacional en soluciones de Cloud Computing

Page 31: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Conclusión Se realizó la evaluación de los resultados

obtenidos y se pudo comprobar las diferencias de rendimiento computacional de cada una de las “nubes”

La solución más costosa en el ámbito monetario no asegura la mejor performance a nivel de procesamiento para una aplicación en particular

No debe aplicarse para la selección de un proveedor si el núcleo de la aplicación que se ejecutará en la Nube no tiene un componente crítico de procesamiento computacional

Page 32: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Futuras Líneas de Investigación Extensión del Framework para soportar benchmarks

y pruebas relacionadas con el almacenamiento de datos en la nube

Optimización e incorporación de otros benchmarks reconocidos para obtener resultados mas detallados

Desarrollo de pruebas inéditas que utilicen llamadas a funciones específicas de las APIs disponibles para cada nube computacional

Implementación del Framework en otros lenguajes de programación, permitiendo comparar el rendimiento del conjunto de pruebas en una misma nube, pero en un lenguaje e intérprete diferente

Page 33: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Gracias

MerciGrazie

Thank You

Obrigado

Danke

Japonés

Español

Francés

Ruso

Alemán

Italiano

Inglés

Portugués

Árabe

Chino Tradicional

Chino Simplificado

Hindú

Tamil

Tailandés

Coreano

Page 34: I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo.

Preguntas

¿ ?