Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas

Detalhes bibliográficos
Autor(a) principal: Galante, Guilherme
Data de Publicação: 2014
Tipo de documento: Tese
Idioma: por
Título da fonte: Repositório Institucional da UFPR
Texto Completo: http://hdl.handle.net/1884/36134
Resumo: Orientador : Prof. Dr. Luis Carlos Erpen de Bona
id UFPR_225b5523e7b1d60b149685bc0fab11c6
oai_identifier_str oai:acervodigital.ufpr.br:1884/36134
network_acronym_str UFPR
network_name_str Repositório Institucional da UFPR
repository_id_str 308
spelling Galante, GuilhermeUniversidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em InformáticaBona, Luis Carlos Erpen de2014-09-30T13:14:25Z2014-09-30T13:14:25Z2014http://hdl.handle.net/1884/36134Orientador : Prof. Dr. Luis Carlos Erpen de BonaTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 28/04/2014Inclui referênciasResumo: A elasticidade pode ser definida como a capacidade de um sistema de modificar dinamicamente os recursos computacionais utilizados por uma aplicação. Embora diversos mecanismos de elasticidade tenham sido propostos, ainda apresentam uma série de limitações ao fornecer suporte à elasticidade para aplicações científicas. Neste trabalho, propõe-se uma abordagem para o desenvolvimento de aplicações científicas elásticas, na qual o controle da elasticidade é feito em nível de programação. Isso significa que o controle de elasticidade é incorporado ao código-fonte, permitindo que as ações de alocação e desalocação de recursos possam ser realizadas pela própria aplicação e não dependa de mecanismos externos ou interação com o usuário. A construção de aplicações elásticas de acordo com abordagem proposta baseia-se no conceito de primitivas de elasticidade, um conjunto de funções que permitem que as aplicações comuniquem-se com a nuvem para solicitar ou liberar recursos, bem como para coletar informações do ambiente virtual e da nuvem. Assim, é possível desenvolver controladores de elasticidade sob medida que permitem que aplicações ajustem seus próprios recursos de acordo com suas demandas ou de modo a satisfazer algum critério específico, por exemplo, custo ou desempenho. A abordagem também permite que bibliotecas e frameworks de programação paralela possam ser construídas ou adaptadas de modo a oferecer elasticidade de modo transparente. Para permitir a construção de aplicações elásticas utilizando a abordagem proposta, desenvolveu-se o framework Cloudine. O Cloudine fornece as primitivas de elasticidade e um ambiente de execução, o qual oferece o suporte para a execução das aplicações elásticas na nuvem. A exploração da elasticidade em nível de programação é validada por um conjunto de experimentos realizados utilizando o Cloudine. O framework é utilizado com sucesso para fornecer elasticidade a um conjunto de aplicações, dentre as quais destacam-se uma aplicação de montagem de genomas (SAND) e um modelo climático (OLAM). O Cloudine também é usado para estender a biblioteca OpenMP do GCC (libgomp) para oferecer elasticidade de modo automático e transparente.Abstract: Elasticity is defined as the ability to adaptively scale resources up and down in order to meet varying application demands. Although several mechanisms to provide this feature are offered by public cloud providers and in some academic works, we argue that these solutions present limitations in providing elasticity for scientific applications, since they are not developed to this purpose and cannot consider the particularities of this class of applications. In this thesis we propose an approach for exploring the elasticity in scientific applications, in which the elasticity control is embedded within application code and the elasticity actions (allocation and deallocation of resources) are performed by the application itself, based in its runtime requirements or internal events. The development of embedded elasticity controllers is based on the concept of elasticity primitives, which are basic functions that allow to perform requests for allocation or deallocation of resources directly to the cloud. Thus, it is possible to develop tailor made elasticity controllers that enable applications to adjust its own resources according to its demands or to satisfy some specific criteria, such as cost or performance. It is also possible to develop elasticity-aware parallel processing middleware that transparently support applications elasticity. To enable the construction of elastic applications using the presented approach, we developed the Cloudine framework. Cloudine provides the primitive set and a runtime environment, which supports the execution of elastic application in the cloud. The proposed approach is validated by a set of experiments using Cloudine. The framework was successfully used to provide elasticity to a number of applications, among which we highlight a genome assembler (SAND) and a climate model (OLAM). The Cloudine is also used to extend the GCC’s OpenMP library (libgomp) to provide automatic allocation of resources.115f. : il., algumas color, tabs., grafs.application/pdfDisponível em formato digitalTesesCiência da computaçãoExplorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicasinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisporreponame:Repositório Institucional da UFPRinstname:Universidade Federal do Paraná (UFPR)instacron:UFPRinfo:eu-repo/semantics/openAccessORIGINALR - T - GUILHERME GALANTE.pdfapplication/pdf3708788https://acervodigital.ufpr.br/bitstream/1884/36134/1/R%20-%20T%20-%20GUILHERME%20GALANTE.pdfa72b3983e0184f26977f5e93f6a03bfcMD51open accessTEXTR - T - GUILHERME GALANTE.pdf.txtR - T - GUILHERME GALANTE.pdf.txtExtracted Texttext/plain266870https://acervodigital.ufpr.br/bitstream/1884/36134/2/R%20-%20T%20-%20GUILHERME%20GALANTE.pdf.txt7b2bf9e34f10cc8cb1b59e6905817751MD52open accessTHUMBNAILR - T - GUILHERME GALANTE.pdf.jpgR - T - GUILHERME GALANTE.pdf.jpgGenerated Thumbnailimage/jpeg1211https://acervodigital.ufpr.br/bitstream/1884/36134/3/R%20-%20T%20-%20GUILHERME%20GALANTE.pdf.jpgbf61e670e1a314bb345f1e3b598f2881MD53open access1884/361342016-04-07 10:11:01.051open accessoai:acervodigital.ufpr.br:1884/36134Repositório de PublicaçõesPUBhttp://acervodigital.ufpr.br/oai/requestopendoar:3082016-04-07T13:11:01Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)false
dc.title.pt_BR.fl_str_mv Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas
title Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas
spellingShingle Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas
Galante, Guilherme
Teses
Ciência da computação
title_short Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas
title_full Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas
title_fullStr Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas
title_full_unstemmed Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas
title_sort Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas
author Galante, Guilherme
author_facet Galante, Guilherme
author_role author
dc.contributor.other.pt_BR.fl_str_mv Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informática
dc.contributor.author.fl_str_mv Galante, Guilherme
dc.contributor.advisor1.fl_str_mv Bona, Luis Carlos Erpen de
contributor_str_mv Bona, Luis Carlos Erpen de
dc.subject.por.fl_str_mv Teses
Ciência da computação
topic Teses
Ciência da computação
description Orientador : Prof. Dr. Luis Carlos Erpen de Bona
publishDate 2014
dc.date.accessioned.fl_str_mv 2014-09-30T13:14:25Z
dc.date.available.fl_str_mv 2014-09-30T13:14:25Z
dc.date.issued.fl_str_mv 2014
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1884/36134
url http://hdl.handle.net/1884/36134
dc.language.iso.fl_str_mv por
language por
dc.relation.pt_BR.fl_str_mv Disponível em formato digital
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 115f. : il., algumas color, tabs., grafs.
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPR
instname:Universidade Federal do Paraná (UFPR)
instacron:UFPR
instname_str Universidade Federal do Paraná (UFPR)
instacron_str UFPR
institution UFPR
reponame_str Repositório Institucional da UFPR
collection Repositório Institucional da UFPR
bitstream.url.fl_str_mv https://acervodigital.ufpr.br/bitstream/1884/36134/1/R%20-%20T%20-%20GUILHERME%20GALANTE.pdf
https://acervodigital.ufpr.br/bitstream/1884/36134/2/R%20-%20T%20-%20GUILHERME%20GALANTE.pdf.txt
https://acervodigital.ufpr.br/bitstream/1884/36134/3/R%20-%20T%20-%20GUILHERME%20GALANTE.pdf.jpg
bitstream.checksum.fl_str_mv a72b3983e0184f26977f5e93f6a03bfc
7b2bf9e34f10cc8cb1b59e6905817751
bf61e670e1a314bb345f1e3b598f2881
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)
repository.mail.fl_str_mv
_version_ 1801860858571128833