Avaliaç˜Ao Das Alteraç˜Oes Nos Tempos De Execuç˜Ao Em Aplicaç
Total Page:16
File Type:pdf, Size:1020Kb
1 Avaliac¸ao˜ das alterac¸oes˜ nos tempos de execuc¸ao˜ em aplicac¸oes˜ paralelas executadas em cluster f´ısicos e virtuais Lucas Santana Carneiro, Autor. Angelo Amancioˆ Duarte, Orientador Resumo—Este artigo apresenta a avaliac¸ao˜ das alterac¸oes˜ para a construc¸ao˜ de clusters apareceu. Grandes empresas com dos tempos de execuc¸ao˜ de um benchmark paralelo em um servic¸os de Cloud Computing, como a Amazon [3], a IBM cluster quando este utiliza gerenciadores de trabalho, ou quando [4] e a Microsoft [5], passaram a oferecer soluc¸oes˜ de High o mesmo esta´ virtualizado em uma plataforma de nuvem, Performance Computing (HPC) sobre a plataforma da nuvem. buscando identificar os fatores que influenciam no desempenho As instanciasˆ de cluster EC2 (Elastic Compute Cloud) da das aplicac¸oes˜ em execuc¸ao,˜ quando os gestores sao˜ utilizados. Amazon possibilitam economia aos clientes, pois, o aluguel Para realizar as avaliac¸oes,˜ testes foram executados nos clusters utilizando o mesmo conjunto de computadores, mantendo dos recursos utilizados nos clusters e´ cobrado sob demanda as mesmas configurac¸oes˜ de hardware modificando apenas [6]. Outra vantagem oferecida por este tipo de servic¸o e´ que os gestores utilizados. Apos´ a realizac¸ao˜ dos testes os dados os clientes podem definir cargas de trabalho com recursos obtidos foram analisados, identificando os fatores envolvidos flex´ıveis [6]. Alem´ da reduc¸ao˜ dos custos e da flexibilizac¸ao˜ de nas alterac¸oes˜ dos tempos de execuc¸ao˜ entre as diferentes recursos ao utilizar as instanciasˆ de cluster EC2, os clientes configurac¸oes˜ testadas. tambem´ nao˜ precisam esperar para submeter seus trabalhos, como ocorre em clusters compartilhados, pois os recursos sao˜ Palavras-chave: Cluster virtual, Cloud computing, Gestor de disponibilizados ao serem alocados [6]. trabalhos, benchmarks, Analise´ de desempenho. Apesar das vantagens apresentadas pelas plataformas de computac¸ao˜ em Nuvem, pesquisadores em HPC ainda sao˜ re- I. INTRODUC¸ AO˜ lutantes em usar tecnologias de virtualizac¸ao,˜ devido a fatores Os altos custos para a aquisic¸ao˜ de supercomputadores como o compartilhamento de recursos (que pode prejudicar para pesquisa promoveram uma busca por alternativas mais o desempenho dos codigos)´ e tambem´ pelas plataformas de eficientes. O exemplo mais popular de soluc¸ao˜ de baixo custo virtualizac¸ao˜ nao˜ permitirem a explorac¸ao˜ de todos os recursos sao˜ os clusters Beowulf [1]. Um cluster Beowulf pode ser uma de hardware dispon´ıveis para aumento de desempenho [7]. soluc¸ao˜ acess´ıvel para universidades e empresas, de pequeno a Com o objetivo de entender a influenciaˆ da infraestrutura medio´ porte, obterem processamento de alto desempenho, a um do cluster sobre o desempenho de aplicac¸oes˜ cient´ıficas, o custo significativamente mais baixo que um supercomputador presente trabalho comparou o desempenho de clusters f´ısicos [1]. dedicados, clusters f´ısicos compartilhados e clusters virtuais, Apesar de possuir custos de aquisic¸ao˜ menores que super- utilizando um pacote de benchmark, tendo como foco a analise´ computadores, obter um cluster beowulf dedicado - aquele que do impacto dos gestores de trabalho em cluster compartilhados e´ utilizado apenas por um grupo de usuarios´ para executar e da plataforma de virtualizac¸ao˜ dos clusters virtuais. aplicac¸oes˜ espec´ıficas - ainda e´ caro, pois para se alcanc¸ar Para facilitar a compreensao˜ do trabalho, o presente ar- altos n´ıveis de desempenho sao˜ necessarios´ grandes inves- tigo esta´ articulado em cinco sec¸oes,˜ a Sec¸ao˜ 2 e´ destinada timentos na aquisic¸ao˜ dos recursos computacionais, aumen- a` contextualizac¸ao˜ de conceitos importantes sobre clusters, tando tambem´ os custos com a manutenc¸ao˜ destes recursos. computac¸ao˜ em Nuvem, gestores de trabalho e benchmarks. Neste contexto, clusters colaborativos comec¸aram a surgir, Ja´ na Sec¸ao˜ 3 sao˜ apresentados os materiais e metodos´ que principalmente em universidades, nas quais, alunos e profes- foram aplicados para a obtenc¸ao˜ dos resultados. A Sec¸ao˜ sores tem acesso de forma compartilhada a clusters e em 4 apresenta os resultados alcanc¸ados com a execuc¸ao˜ dos parcerias entre universidades e empresas privadas como no testes com o benchmark nos clusters e as analises´ realizadas caso do cluster Santos Dumont do Laboratorio´ Nacional de sobre tais resultados. As considerac¸oes˜ finais do trabalho sao˜ Computac¸ao˜ Cient´ıfica (LNCC) [2]. Para controlar e monitorar apresentadas na Sec¸ao˜ 5. o uso nestes clusters, sao˜ usados gestores de trabalho (do inglesˆ workload managers), que coordenam as tarefas subme- tidas pelos usuarios.´ Tais gestores criam cotas de recursos e II. FUNDAMENTAC¸ AO˜ TEORICA´ gerenciam as demandas de execuc¸ao˜ em filas de trabalho, de modo a organizar a utilizac¸ao˜ e evitar o monopolio´ do cluster Nesta Sec¸ao˜ sao˜ apresentados os principais conceitos utili- por apenas um usuario.´ zados no desenvolvimento do projeto e que sao˜ fundamentais Com o surgimento e popularizac¸ao˜ da Computac¸ao˜ em para o entendimento do trabalho, alem´ de um levantamento Nuvem (do inglesˆ Cloud Computing), uma nova alternativa dos trabalhos relacionados ao tema. 2 A. Clusters D. Gestores de Trabalho Clusters sao˜ conjuntos de elementos operacionais indepen- Gestores de Trabalho (workload manager, job scheduler ou dentes, que cooperam entre si e possuem algum meio de Cluster Management Software) sao˜ programas que gerenciam coordenac¸ao˜ [8]. Em computac¸ao,˜ os elementos operacionais as tarefas submetidas a um cluster, criando filas de execuc¸ao˜ sao˜ conjuntos de computadores, ou processadores, (conhecidos e escalonamento a partir de prioridades [1]. Esses programas como nos´ de computoˆ ou compute nodes), integrados por meio monitoram o estado e as tarefas do cluster e escalonam os de conexao˜ pela rede [8]. A alocac¸ao˜ dos recursos em um processos. cluster e´ realizada por um gerenciador centralizado. Todos os Para executar os trabalhos no cluster, os usuarios´ devem nos´ de um cluster trabalham de forma cooperativa como um enviar suas aplicac¸oes˜ ao gestor de trabalhos, que os agrupa recurso unico´ e toda a interac¸ao˜ dos usuarios´ com os clusters em filas que, a depender da disponibilidade dos recursos e da e´ realizada por meio de um sistema centralizado [9]. prioridade do usuario,´ envia o trabalho para ser executado nos Nos clusters Beowulf, a arquitetura utilizada normalmente nos´ de computo.ˆ e´ de maquinas´ de proposito´ geral, ou estac¸oes˜ de trabalho, di- Um gerenciador de trabalho deve apresentar as seguintes ferentemente de supercomputadores que possuem arquiteturas caracter´ısticas [1]: especializadas [1, 10]. Desta forma, um cluster Beowulf possui desempenho inferior a um supercomputador, porem,´ ele pode 1) Enfileiramento (queueing): ato de coletar e enfileirar ser uma soluc¸ao˜ acess´ıvel para obter processamento de alto os processos que serao˜ colocados em execuc¸ao˜ em um desempenho a um custo menor [1]. conjunto de recursos. 2) Escalonamento (scheduling): escolha do proximo´ pro- B. Cloud computing cesso a ser executado de acordo com as pol´ıticas e o O termo cloud surgiu como uma metafora´ da Internet, sendo algoritmo de escalonamento. a imagem da nuvem usada para representar uma estrutura 3) Monitoramento (monitoring): proveˆ aos usuarios,´ que nao˜ conhecemos em detalhes e que esta´ geograficamente administradores e ao sistema de escalonamento dispersa ou em um local que nao˜ pode ser especificado. Cloud informac¸oes˜ sobre o estados das tarefas e dos recursos. Computing e´ uma revitalizac¸ao˜ do termo e pode ser utilizado 4) Gerenciamento de Recursos: inicializa, paralisa e para definir o uso de servidores virtuais disponibilizados por limpa todos os trabalhos executados no cluster. Geren- terceiros atraves´ da internet [11]. cia tambem´ as mudanc¸as na quantidade de recursos do Cloud computing e´ um novo paradigma de computac¸ao˜ no cluster, por exemplo, quando um novo compute node qual recursos virtualizados sao˜ disponibilizados como servic¸os, e´ adicionado ou para de funcionar, ou quando ha´ um atraves´ da Internet, de forma dinamicamente escalavel,´ permi- aumento de memoria´ nos nos.´ tindo aos usuarios´ utilizar diversos dispositivos para acessa-los.´ 5) Contabilidade: auditoria dos recursos utilizados pelas Algumas vantagens da tecnologia de computac¸ao˜ em nuvem aplicac¸oes˜ em execuc¸ao˜ no cluster. sao:˜ alta disponibilidade, reduc¸ao˜ de custos e escalabilidade facil´ [12]. E. Trabalhos relacionados Buscando formalizar esse novo paradigma, o National Insti- Evangelinos e Hill [16] realizaram uma analise´ utilizando tute of Standards and Technology (NIST) criou uma definic¸ao˜ um cluster virtual na plataforma de nuvem da Amazon para Cloud Computing, no qual cloud e´ definido como um EC2, buscando avaliar a utilizac¸ao˜ de Cloud Computing em modelo que permite acesso sob demanda de forma conveni- aplicac¸oes˜ paralelas cient´ıficas de alto desempenho, envol- ente, para uma rede de recursos compartilhados, com esforc¸o vendo a modelagem de problemas climaticos´ da atmosfera e interac¸ao˜ m´ınima para adquirir ou liberar esses recursos [13]. oceanica.ˆ Como resultado do trabalho verificou-se que o desempenho alcanc¸ado no cluster virtual e´ inferior ao de- C. Benchmark sempenho de centros de supercomputac¸ao˜ dedicados, porem´ Em computac¸ao,˜ benchmark e´ o ato de executar programas equiparaveis´ ao desempenho de cluster de baixo custo. Para buscando avaliar o desempenho de um dispositivo ou de uma os autores, os resultados sao˜