Vertelastic: um módulo de decisão para explorando elasticidade vertical no Autoelastic
Autor(a) principal: | |
---|---|
Data de Publicação: | 2018 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UNISINOS (RBDU Repositório Digital da Biblioteca da Unisinos) |
Texto Completo: | http://www.repositorio.jesuita.org.br/handle/UNISINOS/7623 |
Resumo: | O conceito de elasticidade está muito ligado à computação em nuvens, pois consiste na capacidade de contrair recursos computacionais de maneira dinâmica e em tempo real. Usualmente, em computação de alto desempenho (HPC), as aplicações são modeladas para serem utilizadas com técnica de balanceamento de carga, fazendo uso da tecnologia de máquinas virtual. A computação paralela há muito tem sido utilizada para resolver questões computacionais que envolvem a execução de muitos processos simultaneamente e demanda quantidade grande de cálculos, cuja premissa é que um grande trecho de código a ser processado pode ser quebrado em menores e, assim, o problema como um todo dividido e resolvido de forma mais rápida. HPC é um típico caso de uso de paralelismo computacional que tem como seu protocolo de comunicação mais comum o Message Passing Interface (MPI), porém quando estamos tratando de aplicações em MPI, o aproveitamento máximo da elasticidade se dá de forma trabalhosa, com a necessidade de reescrita de código, de conhecimento profundo do comportamento da aplicação, além de serem inevitáveis algumas interrupções na aplicação para recompilar novas e pô-la em produção. A fim de evitar a reescrita de código e o aproveitamento total dos hardwares que estão cada vez mais robustos propõe-se na pesquisa desta dissertação a possibilidade de implementação de elasticidade vertical para trabalhar com aplicação de alto desempenho. Um modulo de decisão chamado VertElastic, é incorporado ao framework AutoElastic permitindo assim que se expanda a possibilidade para as duas formas de elasticidade – vertical e horizontal, podendo ainda ser feita de forma fixa com a indicação de threholds ou com predição os valores sejam calculados automaticamente. Trabalhos abordam a elasticidade vertical com threshold, já outros se valem da elasticidade horizontal de forma proativa e/ou reativa, porém não se encontrou pesquisas que permitissem a flexibilidade de se utilizar elasticidade vertical ou horizontal conforme a necessidade de forma proativa ou reativa, para isso o VertElastic se utiliza da elasticidade assíncrona, proporcionando que a aplicação não seja bloqueada enquanto a elasticidade acontece, seja ela para aumentar ou diminuir o recurso computacional. O VertElastic demostra sua viabilidade em uma rotina de testes executados na ferramenta open source OpenNebula. A execução de uma aplicação CPU-Bound demostra que o VertElastic se mostrou entre 13% e 38% mais eficaz que a não utilização de nenhuma técnica de elasticidade. Os testes ainda mostraram que quanto maior o threshold utilizado menor é o ganho no consumo de recursos computacionais e maior o tempo de execução da aplicação. |
id |
USIN_37228c8de204afefe504b3c735e4c5fe |
---|---|
oai_identifier_str |
oai:www.repositorio.jesuita.org.br:UNISINOS/7623 |
network_acronym_str |
USIN |
network_name_str |
Repositório Institucional da UNISINOS (RBDU Repositório Digital da Biblioteca da Unisinos) |
repository_id_str |
|
spelling |
2019-03-07T14:25:20Z2019-03-07T14:25:20Z2018-09-25Submitted by JOSIANE SANTOS DE OLIVEIRA (josianeso) on 2019-03-07T14:25:20Z No. of bitstreams: 1 Gabriel Araujo Siccardi Moreira_.pdf: 1944250 bytes, checksum: ba14c1d555cd6aab9a45c10ed781a54e (MD5)Made available in DSpace on 2019-03-07T14:25:20Z (GMT). No. of bitstreams: 1 Gabriel Araujo Siccardi Moreira_.pdf: 1944250 bytes, checksum: ba14c1d555cd6aab9a45c10ed781a54e (MD5) Previous issue date: 2018-09-25O conceito de elasticidade está muito ligado à computação em nuvens, pois consiste na capacidade de contrair recursos computacionais de maneira dinâmica e em tempo real. Usualmente, em computação de alto desempenho (HPC), as aplicações são modeladas para serem utilizadas com técnica de balanceamento de carga, fazendo uso da tecnologia de máquinas virtual. A computação paralela há muito tem sido utilizada para resolver questões computacionais que envolvem a execução de muitos processos simultaneamente e demanda quantidade grande de cálculos, cuja premissa é que um grande trecho de código a ser processado pode ser quebrado em menores e, assim, o problema como um todo dividido e resolvido de forma mais rápida. HPC é um típico caso de uso de paralelismo computacional que tem como seu protocolo de comunicação mais comum o Message Passing Interface (MPI), porém quando estamos tratando de aplicações em MPI, o aproveitamento máximo da elasticidade se dá de forma trabalhosa, com a necessidade de reescrita de código, de conhecimento profundo do comportamento da aplicação, além de serem inevitáveis algumas interrupções na aplicação para recompilar novas e pô-la em produção. A fim de evitar a reescrita de código e o aproveitamento total dos hardwares que estão cada vez mais robustos propõe-se na pesquisa desta dissertação a possibilidade de implementação de elasticidade vertical para trabalhar com aplicação de alto desempenho. Um modulo de decisão chamado VertElastic, é incorporado ao framework AutoElastic permitindo assim que se expanda a possibilidade para as duas formas de elasticidade – vertical e horizontal, podendo ainda ser feita de forma fixa com a indicação de threholds ou com predição os valores sejam calculados automaticamente. Trabalhos abordam a elasticidade vertical com threshold, já outros se valem da elasticidade horizontal de forma proativa e/ou reativa, porém não se encontrou pesquisas que permitissem a flexibilidade de se utilizar elasticidade vertical ou horizontal conforme a necessidade de forma proativa ou reativa, para isso o VertElastic se utiliza da elasticidade assíncrona, proporcionando que a aplicação não seja bloqueada enquanto a elasticidade acontece, seja ela para aumentar ou diminuir o recurso computacional. O VertElastic demostra sua viabilidade em uma rotina de testes executados na ferramenta open source OpenNebula. A execução de uma aplicação CPU-Bound demostra que o VertElastic se mostrou entre 13% e 38% mais eficaz que a não utilização de nenhuma técnica de elasticidade. Os testes ainda mostraram que quanto maior o threshold utilizado menor é o ganho no consumo de recursos computacionais e maior o tempo de execução da aplicação.The concept of elasticity is closely linked to cloud computing because it consists of the ability to contract computational resources dynamically and in real time. Usually, in high performance computing (HPC), applications are modeled for use with load balancing technology, making use of virtual machine technology. Parallel computing has long been used to solve computational issues involving the execution of many processes simultaneously and demand large amounts of computations whose premise is that a large piece of code to be processed can be broken into smaller ones and thus the problem as a whole divided and resolved more quickly. HPC is a typical case of use of computer parallelism that has as its most common communication protocol Message Passing Interface (MPI), but when we are dealing with applications in MPI, the maximum use of elasticity occurs in a laborious way, with the need code rewriting, deep knowledge of application behavior, and some interruptions in the application to recompile new ones and put it into production are inevitable. In order to avoid the rewriting of code and the total use of hardwares that are increasingly robust, it is proposed in the research of this dissertation the possibility of implementing vertical elasticity to work with high performance application. A decision module called VertElastic is incorporated into the AutoElastic framework, thus allowing the possibility for both forms of elasticity - vertical and horizontal - to be expanded, and can be done in a fixed way with the indication of threholds or with prediction values are calculated automatically. Studies deal with vertical elasticity with threshold, while others use proactive and / or reactive horizontal elasticity, but no research was found that allowed the flexibility to use vertical or horizontal elasticity as needed proactively or reactively, for this the VertElastic uses the asynchronous elasticity, providing that the application is not blocked while the elasticity happens, be it to increase or decrease the computational resource. VertElastic demonstrates its feasibility in a testing routine run on the open source OpenNebula tool. The execution of a CPU-Bound application showed that VertElastic was 13% to 38% more effective than the non-use of any elasticity technique. The tests also showed that the higher the threshold used the lower the gain in the consumption of computational resources and the longer the execution time of the application.NenhumaMoreira, Gabriel Araujo Siccardihttp://lattes.cnpq.br/3053092998745332http://lattes.cnpq.br/2332604239081900Righi, Rodrigo RosaUniversidade do Vale do Rio dos SinosPrograma de Pós-Graduação em Computação AplicadaUnisinosBrasilEscola PolitécnicaVertelastic: um módulo de decisão para explorando elasticidade vertical no AutoelasticACCNPQ::Ciências Exatas e da Terra::Ciência da ComputaçãoComputação em NuvemElasticidadeComputação de alto desempenhoCloud computingElasticityHigh performance computinginfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://www.repositorio.jesuita.org.br/handle/UNISINOS/7623info:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UNISINOS (RBDU Repositório Digital da Biblioteca da Unisinos)instname:Universidade do Vale do Rio dos Sinos (UNISINOS)instacron:UNISINOSORIGINALGabriel Araujo Siccardi Moreira_.pdfGabriel Araujo Siccardi Moreira_.pdfapplication/pdf1944250http://repositorio.jesuita.org.br/bitstream/UNISINOS/7623/1/Gabriel+Araujo+Siccardi+Moreira_.pdfba14c1d555cd6aab9a45c10ed781a54eMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-82175http://repositorio.jesuita.org.br/bitstream/UNISINOS/7623/2/license.txt320e21f23402402ac4988605e1edd177MD52UNISINOS/76232019-03-07 11:26:34.821oai:www.repositorio.jesuita.org.br:UNISINOS/7623Ck5PVEE6IENPTE9RVUUgQVFVSSBBIFNVQSBQUsOTUFJJQSBMSUNFTsOHQQoKRXN0YSBsaWNlbsOnYSBkZSBleGVtcGxvIMOpIGZvcm5lY2lkYSBhcGVuYXMgcGFyYSBmaW5zIGluZm9ybWF0aXZvcy4KCkxpY2Vuw6dhIERFIERJU1RSSUJVScOHw4NPIE7Dg08tRVhDTFVTSVZBCgpDb20gYSBhcHJlc2VudGHDp8OjbyBkZXN0YSBsaWNlbsOnYSwgdm9jw6ogKG8gYXV0b3IgKGVzKSBvdSBvIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yKSBjb25jZWRlIMOgIApVbml2ZXJzaWRhZGUgZG8gVmFsZSBkbyBSaW8gZG9zIFNpbm9zIChVTklTSU5PUykgbyBkaXJlaXRvIG7Do28tZXhjbHVzaXZvIGRlIHJlcHJvZHV6aXIsICB0cmFkdXppciAoY29uZm9ybWUgZGVmaW5pZG8gYWJhaXhvKSwgZS9vdSAKZGlzdHJpYnVpciBhIHN1YSB0ZXNlIG91IGRpc3NlcnRhw6fDo28gKGluY2x1aW5kbyBvIHJlc3VtbykgcG9yIHRvZG8gbyBtdW5kbyBubyBmb3JtYXRvIGltcHJlc3NvIGUgZWxldHLDtG5pY28gZSAKZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBvdSB2w61kZW8uCgpWb2PDqiBjb25jb3JkYSBxdWUgYSBTaWdsYSBkZSBVbml2ZXJzaWRhZGUgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyAKcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBhIFNpZ2xhIGRlIFVuaXZlcnNpZGFkZSBwb2RlIG1hbnRlciBtYWlzIGRlIHVtYSBjw7NwaWEgYSBzdWEgdGVzZSBvdSAKZGlzc2VydGHDp8OjbyBwYXJhIGZpbnMgZGUgc2VndXJhbsOnYSwgYmFjay11cCBlIHByZXNlcnZhw6fDo28uCgpWb2PDqiBkZWNsYXJhIHF1ZSBhIHN1YSB0ZXNlIG91IGRpc3NlcnRhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgdm9jw6ogdGVtIG8gcG9kZXIgZGUgY29uY2VkZXIgb3MgZGlyZWl0b3MgY29udGlkb3MgCm5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRhIHN1YSB0ZXNlIG91IGRpc3NlcnRhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IApjb25oZWNpbWVudG8sIGluZnJpbmdlIGRpcmVpdG9zIGF1dG9yYWlzIGRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSB0ZXNlIG91IGRpc3NlcnRhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogCmRlY2xhcmEgcXVlIG9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciDDoCBTaWdsYSBkZSBVbml2ZXJzaWRhZGUgCm9zIGRpcmVpdG9zIGFwcmVzZW50YWRvcyBuZXN0YSBsaWNlbsOnYSwgZSBxdWUgZXNzZSBtYXRlcmlhbCBkZSBwcm9wcmllZGFkZSBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSAKaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvIGRhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyBvcmEgZGVwb3NpdGFkYS4KCkNBU08gQSBURVNFIE9VIERJU1NFUlRBw4fDg08gT1JBIERFUE9TSVRBREEgVEVOSEEgU0lETyBSRVNVTFRBRE8gREUgVU0gUEFUUk9Dw41OSU8gT1UgCkFQT0lPIERFIFVNQSBBR8OKTkNJQSBERSBGT01FTlRPIE9VIE9VVFJPIE9SR0FOSVNNTyBRVUUgTsODTyBTRUpBIEEgU0lHTEEgREUgClVOSVZFUlNJREFERSwgVk9Dw4ogREVDTEFSQSBRVUUgUkVTUEVJVE9VIFRPRE9TIEUgUVVBSVNRVUVSIERJUkVJVE9TIERFIFJFVklTw4NPIENPTU8gClRBTULDiU0gQVMgREVNQUlTIE9CUklHQcOHw5VFUyBFWElHSURBUyBQT1IgQ09OVFJBVE8gT1UgQUNPUkRPLgoKQSBTaWdsYSBkZSBVbml2ZXJzaWRhZGUgc2UgY29tcHJvbWV0ZSBhIGlkZW50aWZpY2FyIGNsYXJhbWVudGUgbyBzZXUgbm9tZSAocykgb3UgbyhzKSBub21lKHMpIGRvKHMpIApkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbywgZSBuw6NvIGZhcsOhIHF1YWxxdWVyIGFsdGVyYcOnw6NvLCBhbMOpbSBkYXF1ZWxhcyAKY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KBiblioteca Digital de Teses e Dissertaçõeshttp://www.repositorio.jesuita.org.br/oai/requestopendoar:2019-03-07T14:26:34Repositório Institucional da UNISINOS (RBDU Repositório Digital da Biblioteca da Unisinos) - Universidade do Vale do Rio dos Sinos (UNISINOS)false |
dc.title.pt_BR.fl_str_mv |
Vertelastic: um módulo de decisão para explorando elasticidade vertical no Autoelastic |
title |
Vertelastic: um módulo de decisão para explorando elasticidade vertical no Autoelastic |
spellingShingle |
Vertelastic: um módulo de decisão para explorando elasticidade vertical no Autoelastic Moreira, Gabriel Araujo Siccardi ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação Computação em Nuvem Elasticidade Computação de alto desempenho Cloud computing Elasticity High performance computing |
title_short |
Vertelastic: um módulo de decisão para explorando elasticidade vertical no Autoelastic |
title_full |
Vertelastic: um módulo de decisão para explorando elasticidade vertical no Autoelastic |
title_fullStr |
Vertelastic: um módulo de decisão para explorando elasticidade vertical no Autoelastic |
title_full_unstemmed |
Vertelastic: um módulo de decisão para explorando elasticidade vertical no Autoelastic |
title_sort |
Vertelastic: um módulo de decisão para explorando elasticidade vertical no Autoelastic |
author |
Moreira, Gabriel Araujo Siccardi |
author_facet |
Moreira, Gabriel Araujo Siccardi |
author_role |
author |
dc.contributor.authorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/3053092998745332 |
dc.contributor.advisorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/2332604239081900 |
dc.contributor.author.fl_str_mv |
Moreira, Gabriel Araujo Siccardi |
dc.contributor.advisor1.fl_str_mv |
Righi, Rodrigo Rosa |
contributor_str_mv |
Righi, Rodrigo Rosa |
dc.subject.cnpq.fl_str_mv |
ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação |
topic |
ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação Computação em Nuvem Elasticidade Computação de alto desempenho Cloud computing Elasticity High performance computing |
dc.subject.por.fl_str_mv |
Computação em Nuvem Elasticidade Computação de alto desempenho |
dc.subject.eng.fl_str_mv |
Cloud computing Elasticity High performance computing |
description |
O conceito de elasticidade está muito ligado à computação em nuvens, pois consiste na capacidade de contrair recursos computacionais de maneira dinâmica e em tempo real. Usualmente, em computação de alto desempenho (HPC), as aplicações são modeladas para serem utilizadas com técnica de balanceamento de carga, fazendo uso da tecnologia de máquinas virtual. A computação paralela há muito tem sido utilizada para resolver questões computacionais que envolvem a execução de muitos processos simultaneamente e demanda quantidade grande de cálculos, cuja premissa é que um grande trecho de código a ser processado pode ser quebrado em menores e, assim, o problema como um todo dividido e resolvido de forma mais rápida. HPC é um típico caso de uso de paralelismo computacional que tem como seu protocolo de comunicação mais comum o Message Passing Interface (MPI), porém quando estamos tratando de aplicações em MPI, o aproveitamento máximo da elasticidade se dá de forma trabalhosa, com a necessidade de reescrita de código, de conhecimento profundo do comportamento da aplicação, além de serem inevitáveis algumas interrupções na aplicação para recompilar novas e pô-la em produção. A fim de evitar a reescrita de código e o aproveitamento total dos hardwares que estão cada vez mais robustos propõe-se na pesquisa desta dissertação a possibilidade de implementação de elasticidade vertical para trabalhar com aplicação de alto desempenho. Um modulo de decisão chamado VertElastic, é incorporado ao framework AutoElastic permitindo assim que se expanda a possibilidade para as duas formas de elasticidade – vertical e horizontal, podendo ainda ser feita de forma fixa com a indicação de threholds ou com predição os valores sejam calculados automaticamente. Trabalhos abordam a elasticidade vertical com threshold, já outros se valem da elasticidade horizontal de forma proativa e/ou reativa, porém não se encontrou pesquisas que permitissem a flexibilidade de se utilizar elasticidade vertical ou horizontal conforme a necessidade de forma proativa ou reativa, para isso o VertElastic se utiliza da elasticidade assíncrona, proporcionando que a aplicação não seja bloqueada enquanto a elasticidade acontece, seja ela para aumentar ou diminuir o recurso computacional. O VertElastic demostra sua viabilidade em uma rotina de testes executados na ferramenta open source OpenNebula. A execução de uma aplicação CPU-Bound demostra que o VertElastic se mostrou entre 13% e 38% mais eficaz que a não utilização de nenhuma técnica de elasticidade. Os testes ainda mostraram que quanto maior o threshold utilizado menor é o ganho no consumo de recursos computacionais e maior o tempo de execução da aplicação. |
publishDate |
2018 |
dc.date.issued.fl_str_mv |
2018-09-25 |
dc.date.accessioned.fl_str_mv |
2019-03-07T14:25:20Z |
dc.date.available.fl_str_mv |
2019-03-07T14:25:20Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://www.repositorio.jesuita.org.br/handle/UNISINOS/7623 |
url |
http://www.repositorio.jesuita.org.br/handle/UNISINOS/7623 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade do Vale do Rio dos Sinos |
dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação em Computação Aplicada |
dc.publisher.initials.fl_str_mv |
Unisinos |
dc.publisher.country.fl_str_mv |
Brasil |
dc.publisher.department.fl_str_mv |
Escola Politécnica |
publisher.none.fl_str_mv |
Universidade do Vale do Rio dos Sinos |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UNISINOS (RBDU Repositório Digital da Biblioteca da Unisinos) instname:Universidade do Vale do Rio dos Sinos (UNISINOS) instacron:UNISINOS |
instname_str |
Universidade do Vale do Rio dos Sinos (UNISINOS) |
instacron_str |
UNISINOS |
institution |
UNISINOS |
reponame_str |
Repositório Institucional da UNISINOS (RBDU Repositório Digital da Biblioteca da Unisinos) |
collection |
Repositório Institucional da UNISINOS (RBDU Repositório Digital da Biblioteca da Unisinos) |
bitstream.url.fl_str_mv |
http://repositorio.jesuita.org.br/bitstream/UNISINOS/7623/1/Gabriel+Araujo+Siccardi+Moreira_.pdf http://repositorio.jesuita.org.br/bitstream/UNISINOS/7623/2/license.txt |
bitstream.checksum.fl_str_mv |
ba14c1d555cd6aab9a45c10ed781a54e 320e21f23402402ac4988605e1edd177 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UNISINOS (RBDU Repositório Digital da Biblioteca da Unisinos) - Universidade do Vale do Rio dos Sinos (UNISINOS) |
repository.mail.fl_str_mv |
|
_version_ |
1801845017138954240 |