Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas
Autor(a) principal: | |
---|---|
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_ |
1813898892612206593 |