Medindo o Desempenho de Implantações de OpenStack, CloudStack e OpenNebula em Aplicações Científicas

Share Embed


Descrição do Produto

Medindo o Desempenho de Implantac¸o˜ es de OpenStack, CloudStack e OpenNebula em Aplicac¸o˜ es Cient´ıficas Adriano Vogel1 , Carlos A. F. Maron2 , Dalvan Griebler1,2 Claudio Schepke3 1

Laborat´orio de Pesquisas Avanc¸adas para Computac¸a˜ o em Nuvem (LARCC) Faculdade Trˆes de Maio (SETREM) – Trˆes de Maio – RS – Brasil 2

3

Pontif´ıcia Universidade Cat´olica do Rio Grande do Sul (PUCRS) Porto Alegre – RS – Brasil

Universidade Federal do Pampa (UNIPAMPA), Laborat´orio de Estudos Avanc¸ados (LEA), Alegrete – RS – Brasil [email protected],[email protected] [email protected],[email protected]

Resumo. Ambientes de nuvem possibilitam a execuc¸a˜ o de aplicac¸o˜ es sob demanda e s˜ao uma alternativa para aplicac¸o˜ es cient´ıficas. O desempenho e´ um dos principais desafios, devido ao uso da virtualizac¸a˜ o que induz perdas e variac¸o˜ es. O objetivo do trabalho foi implantar ambientes de nuvem privada com diferentes ferramentas de IaaS, medindo o desempenho de aplicac¸o˜ es paralelas. Consequentemente, os resultados apresentaram poucos contrastes.

1. Introduc¸a˜ o Computac¸a˜ o em nuvem e´ um paradigma emergente que oferece recursos computacionais como servic¸os. O servic¸o mais popular e importante e´ o de IaaS (Infraestrutura como Servic¸o) tanto em provedores de nuvem p´ublica quanto em nuvens privadas (para o dom´ınio exclusivo de uma instituic¸a˜ o). A relevˆancia do servic¸o de IaaS e´ resultado dos demais servic¸os de nuvem (PaaS, SaaS, entre outros) serem camadas de software executadas em ambientes IaaS, o que causa uma dependˆencia por poder computacional, robustez e eficiˆencia [Iosup et al. 2011, Buyya et al. 2013, Vogel et al. 2016]. Para garantir QoS (Quality of Service) em ambientes de nuvem, o desempenho e eficiˆencia na utilizac¸a˜ o dos recursos s˜ao vitais. Por´em, a utilizac¸a˜ o da virtualizac¸a˜ o nestes ambientes causa alguns tipos de perdas no desempenho das aplicac¸o˜ es. Al´em disso, para an´alise de QoS, as medic¸o˜ es de desempenho das execuc¸o˜ es s˜ao complexas e exaustivas. Dessa forma, esse s˜ao fatores que motivam pesquisas com o desempenho de aplicac¸o˜ es. Nesse estudo, cargas de trabalho renomadas s˜ao executadas em ambientes de nuvem privada. Essa avaliac¸a˜ o continua estudos anteriores que introduziram medic¸o˜ es nas ferramentas OpenStack e OpenNebula em outros ambientes computacionais. Por exemplo, o trabalho [Maron et al. 2014] fez uma introduc¸a˜ o ao desempenho da infraestrutura e o [Maron et al. 2015] avaliou a eficiˆencia e speedup com alguns kernels do NAS usando estac¸o˜ es de trabalho. Por outro lado, esta abordagem apresenta uma nova implantac¸a˜ o e avaliac¸a˜ o de instˆancias oferecidas por trˆes implementac¸o˜ es de nuvem. Al´em disso, um n´umero maior de kernels foi executado com resultados das m´edias de tempo em um ambiente computacional mais robusto.

Esse trabalho e´ dividido em 4 sec¸o˜ es. A Sec¸a˜ o 2 apresenta os estudos relacionados. Na Sec¸a˜ o 3 s˜ao mostrados os resultados dos experimentos nas implantac¸o˜ es de nuvem. A u´ ltima parte apresenta a conclus˜ao e os trabalhos futuros desse estudo.

2. Trabalhos Relacionados A opc¸a˜ o de utilizar computac¸a˜ o em nuvem para HPC vem recebendo uma crescente atenc¸a˜ o da literatura. O estudo de [Akioka and Muraoka 2010] e [Jackson et al. 2010] analisam o desempenho de instˆancias da EC2, usando o HPL (High-Performance Linpack) e experimentos do NAS. Os resultados de desempenho na nuvem comparados com m´aquinas f´ısicas mostram perdas de desempenho, devido ao compartilhamento de recursos e pelo uso de virtualizac¸a˜ o, principalmente nas aplicac¸o˜ es distribu´ıdas que dependem do desempenho de rede. Por outro lado, o estudo de [Krishnan et al. 2014] analisou o desempenho de 3 arquiteturas para HPC usando uma aplicac¸a˜ o de previs˜ao do tempo. O primeiro ambiente foi baseado em um tradicional cluster Beowulf, o segundo ambiente foi de nuvem p´ublica com instˆancias oferecidas pela AWS e o terceiro ambiente foi um cluster virtual usando o KVM. O estudo conclui que ambientes de nuvem podem ser eficientes e ter ganhos de desempenho pela f´acil escalabilidade. Os trabalhos apresentam uma vis˜ao para desempenho em ambientes de nuvem e nativos. Nesse estudo o desempenho tamb´em e´ analisado usando aplicac¸o˜ es consolidadas (NAS) utilizadas em alguns trabalhos relacionados. Por outro lado, enquanto a maioria dos trabalhos analisam ambientes de nuvens p´ublicas, supercomputadores ou clusters nativos, em nosso estudo as aplicac¸o˜ es s˜ao executadas em nuvem privada. Ainda, o tempo de execuc¸a˜ o e´ considerado para a an´alise dos resultados, algo n˜ao analisado nos trabalhos relacionados. Esse estudo tamb´em contrasta com os relacionados pois as execuc¸o˜ es s˜ao realizadas em nuvens privadas, possibilitando a utilizac¸a˜ o de todo o poder computacional das m´aquinas f´ısicas, algo imposs´ıvel em instˆancias de nuvem p´ublica.

3. Resultados Para a execuc¸a˜ o de experimentos, trˆes clusters isolados foram criados usando 4 m´aquinas idˆenticas, cada uma com 24 GB de RAM (1333 MHz), processador Intel Xeon X5560 (quad-core 2.80GHz), discos SATA II (7200 RPM) e conectados em uma rede Gigabit (10/1000). No ambiente nativo e nas instˆancias foi utilizado o sistema operacional Ubuntu Server 14.04 (kernel 3.19.0). Optou-se por implementar os ambientes usando virtualizac¸a˜ o completa atrav´es do KVM (vers˜ao 2.0.0) e as ferramentas de nuvem OpenStack vers˜ao Kilo, OpenNebula 4.12 e CloudStack 4.5.2. A arquitetura das implantac¸o˜ es foi similar. Usando as diferentes ferramentas de IaaS, cada ambiente teve um servidor agindo como gerente de nuvem, o qual controla a infraestrutura (recursos e usu´arios) e aloca as instˆancias nos nodos. Controlados pelo gerente de nuvem, o virtualizador e agente de nuvem foram instalados em cada servidor (nodo) que ofereciam os recursos virtuais para as instˆancias de nuvem. Ambas as implantac¸o˜ es utilizaram os volumes distribu´ıdos pela rede, OpenNebula e CloudStack usando o protocolo NFS (Network File System) e imagens QCOW (QEMU Copy On Write) e OpenStack usou o protocolo iSCSI (Internet Small Computer System Interface) e imagens LVM (Logical Volume Management). Em ambas as implantac¸o˜ es a conectividade entre as instˆancias foi usando as Bridges Linux e o driver VirtIO. Para aumentar

o poder de processamento, em cada servidor foi alocada apenas uma instˆancia que tinha todos os recursos dispon´ıveis. Para os testes de desempenho, o NPB-3.3 foi executado em MPI (Message-Passing Interface) com at´e 16 processos (usando 2 m´aquinas) e OMP (Open Multi-Processing) at´e 8 threads. Esse conjunto de experimentos e´ consolidado para testes de poder computacional. Foi utilizada a classe B com os kernels BT, FT, IS, MG, CG, EP, LU e SP os quais foram repetidos 40 vezes em cada ambiente. Na Figura 1 s˜ao mostrados os resultados dos kernels OMP. A Figura 2 apresenta os resultados do MPI. De modo geral, os resultados dos kernels NPB-OMP apresentam tempos de execuc¸a˜ o semelhantes. Percebe-se alguns contrastes nas m´edias, principalmente, quando o n´umero de processos e´ maior, o que tamb´em aumenta a variac¸a˜ o devido aos m´ultiplos processos criados nos servidores. Nas execuc¸o˜ es com NPB-OMP CG e IS fica mais evidente a concorrˆencia ao canal de mem´oria devido as caracter´ısticas da aplicac¸a˜ o. CloudStack Nativo

OpenStack OpenNebula

OpenStack OpenNebula

75

25 3 4 5 6 Número de Threads OpenStack OpenNebula

7

8

1

2

CloudStack Nativo

3 4 5 6 Número de Threads

OpenStack OpenNebula

(C) NPB−OMP−EP (Tempo Médio)

7

8

50

2

3 4 5 6 Número de Threads

7

8

2

3 4 5 6 Número de Threads

7

100

7

8

1

1

2

3 4 5 6 Número de Threads

3 4 5 6 Número de Threads OpenStack OpenNebula

7

7

8

CloudStack Nativo

(H) NPB−OMP−SP (Tempo Médio)

18 16 14 12 10 8 6 4 2 0

8

2

CloudStack Nativo

(G) NPB−OMP−MG (Tempo Médio)

50

1

150

0 3 4 5 6 Número de Threads OpenStack OpenNebula

25

25

200

50 2

CloudStack Nativo

Tempo (s)

Tempo (s)

75

CloudStack Nativo

250

1

75

1

8 7 6 5 4 3 2 1 0

(D) NPB−OMP−FT (Tempo Médio)

100

OpenStack OpenNebula

(F) NPB−OMP−LU (Tempo Médio) Tempo (s)

Tempo (s)

100

50

2

CloudStack Nativo

(E) NPB−OMP−IS (Tempo Médio)

125 Tempo (s)

Tempo (s)

300 275 250 225 200 175 150 125 100 75 50 1

Tempo (s)

CloudStack Nativo

(B) NPB−OMP−CG (Tempo Médio)

Tempo (s)

OpenStack OpenNebula

(A) NPB−OMP−BT (Tempo Médio)

240 220 200 180 160 140 120 100 80 60 40

8

1

2

3 4 5 6 Número de Threads

7

8

˜ Figura 1. NAS OMP tempo de execuc¸ao. CloudStack Nativo

OpenStack OpenNebula

OpenStack OpenNebula

4

9

75

0 4

8

16

1 2

75 50

25 16

1 2

4

8 Processos

200 150 100 50 0

16

1 2

4

16

8

16

Processos

CloudStack Nativo

OpenStack OpenNebula

(G) NPB−MPI−MG (Tempo Médio) Tempo (s)

Tempo (s)

50

8

OpenStack OpenNebula

CloudStack Nativo

300 250

Processos CloudStack Nativo

(D) NPB−MPI−FT (Tempo Médio)

75

Processos

4

Processos OpenStack OpenNebula

100

8 9

4 2

(C) NPB−MPI−EP (Tempo Médio)

4

6

25

CloudStack Nativo

100

1 2

8

50 1 2

Tempo (s)

Tempo (s)

100

16

OpenStack OpenNebula

(F) NPB−MPI−LU (Tempo Médio)

10

125

Processos OpenStack OpenNebula

CloudStack Nativo

(E) NPB−MPI−IS (Tempo Médio)

150 Tempo (s)

Tempo (s)

325 300 275 250 225 200 175 150 125 100 75 50 1

Tempo (s)

CloudStack Nativo

(B) NPB−MPI−CG (Tempo Médio)

CloudStack Nativo

(H) NPB−MPI−SP (Tempo Médio)

14 12 10 8 6 4 2 0

Tempo (s)

OpenStack OpenNebula

(A) NPB−MPI−BT (Tempo Médio)

350 300 250 200 150 100 50

1 2

4

8 Processos

16

1

4

9

16

Processos

˜ Figura 2. NAS MPI tempo de execuc¸ao.

As m´edias dos tempos de execuc¸a˜ o do MPI nas instˆancias em ambiente distintos foram pr´oximos, o ambiente nativo teve ganhos com um n´umero maior de processos (at´e 16), por´em o overhead nos ambientes virtualizados foi pequeno. Entre as ferramentas, as m´edias de MPI-CG com 16 processos foram melhores nas instˆancias da ferramenta OpenNebula, o mesmo se repete com o kernel SP. De modo geral, alguns tempos de execuc¸a˜ o diferentes sugerem um impacto causado pelo experimento ao inv´es dos ambientes. Outro

aspecto relevante observado e´ que em experimentos que usam intensivamente a rede tiveram algum tipo de perda nos ambientes virtualizados, o que e´ relacionado com os desafios da comunicac¸a˜ o inter-processos, que depende principalmente de baixas latˆencias de rede.

4. Conclus˜oes Este estudo apresentou uma avaliac¸a˜ o de instˆancias de ambientes de nuvem privada atrav´es da execuc¸a˜ o de experimentos do NAS. As m´edias dos tempos de execuc¸a˜ o em diferentes implantac¸o˜ es foram similares na maioria dos kernels, o que indica que ambas as ferramentas podem oferecer recursos computacionais de forma eficiente e competitiva para aplicac¸o˜ es cient´ıficas. Al´em disso, os resultados atingidos eram esperados, pois tecnologias iguais foram propositalmente implantadas para verificar se haveriam discrepˆancias. Assim, confirma-se que n˜ao existe influˆencias no desempenho durante a execuc¸a˜ o de cargas de trabalho nas instˆancias de uma nuvem privada. Os experimentos realizados nos trabalhos anteriores apontaram diferenc¸as entre as ferramentas [Maron et al. 2014] [Maron et al. 2015], constatando assim que embora fora usado o mesmo virtualizador, tal resultado foi em func¸a˜ o do uso de tecnologias diferentes na implantac¸a˜ o. Os trabalhos futuros ser˜ao a customizac¸a˜ o da infraestrutura (virtualizadores, tecnologias de armazenamento e rede) das implantac¸o˜ es para testar e comparar o desempenho das func¸o˜ es de gerenciamento das ferramentas (i.e., orquestrac¸a˜ o, alta disponibilidade e escalonamento).

Referˆencias [Akioka and Muraoka 2010] Akioka, S. and Muraoka, Y. (2010). HPC benchmarks on Amazon EC2. In Advanced Information Networking and Applications Workshops (WAINA), 2010 IEEE 24th International Conference on, pages 1029–1034. [Buyya et al. 2013] Buyya, R., Vecchiola, C., and Selvi, S. (2013). Mastering Cloud Computing. McGraw Hill. [Iosup et al. 2011] Iosup, A., Yigitbasi, N., and Epema, D. (2011). On the performance variability of production cloud services. In Cluster, Cloud and Grid Computing (CCGrid), 2011 11th IEEE/ACM International Symposium on, pages 104–113. [Jackson et al. 2010] Jackson, K. R., Ramakrishnan, L., Muriki, K., Canon, S., Cholia, S., Shalf, J., Wasserman, H. J., and Wright, N. J. (2010). Performance analysis of high performance computing applications on the amazon web services cloud. In Cloud Computing Technology and Science (CloudCom), 2010 IEEE Second International Conference on, pages 159–168. [Krishnan et al. 2014] Krishnan, S., Veeravalli, B., Krishna, V. H., and Sheng, W. C. (2014). Performance Characterisation and Evaluation of WRF Model on Cloud and HPC Architectures. In High Performance Computing and Communications (HPCC, CSS, ICESS), pages 1280–1287. [Maron et al. 2014] Maron, C. A. F., Griebler, D., Vogel, A., and Schepke, C. (2014). Avaliac¸a˜ o e Comparac¸a˜ o do Desempenho das Ferramentas OpenStack e OpenNebula. In 12th Escola Regional de Redes de Computadores (ERRC), pages 1–5, Canoas. Sociedade Brasileira de Computac¸a˜ o. [Maron et al. 2015] Maron, C. A. F., Griebler, D., Vogel, A., and Schepke, C. (2015). Em Direc¸a˜ o a` Comparac¸a˜ o do Desempenho das Aplicac¸o˜ es Paralelas nas Ferramentas OpenStack e OpenNebula. In 15th Escola Regional de Alto Desempenho do Estado do Rio Grande do Sul (ERAD/RS), Gramado, RS, Brazil. Sociedade Brasileira de Computac¸a˜ o. [Vogel et al. 2016] Vogel, A., Griebler, D., Maron, C. A. F., Schepke, C., and Fernandes, L. G. L. (2016). Private IaaS Clouds: A Comparative Analysis of OpenNebula, CloudStack and OpenStack. In 24rd Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), Heraklion Crete, Greece. IEEE.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.