PIPEL: modelo de gerência da elasticidade para aplicações organizadas em pipeline

Orientador(a) (dc.contributor.advisor)Righi, Rodrigo da Rosa
Lattes Orientador(a) (dc.contributor.advisorLattes)http://lattes.cnpq.br/2332604239081900pt_BR
Autor(a) (dc.contributor.author)Meyer, Vinícius
Autor(a) Lattes (dc.contributor.authorLattes)http://lattes.cnpq.br/4959450647445224pt_BR
Data de Disponibilização (dc.date.accessioned)2016-10-05T11:54:32Z
dc.date.available (dc.date.available)2016-10-05T11:54:32Z
Data da defesa / Data do evento (dc.date.issued)2016-08-23
Abstract (dc.description.abstract)In the computing environment workflows has become a standard for many scientific experiments. Scientific workflows consist of several applications structured in an activity flow, where the output of one becomes the input of another. A pipeline application is a type of workflow that receives a set of tasks, which must pass through all stages of this application in a sequential manner, which can lead to a prohibitive execution time. Considering this problem, pipeline applications can benefit from the use of different resources for each stage, or performed in a distributed way. However, specific dependencies and distributed computing problems arise due to the interaction between the processing stages and the mass of data that must be processed. The input stream for applications that use pipeline standards can be intense, erratic or irregular. According to the task flow behavior some stages may have degraded performance, delaying subsequent stages and ultimately interfering in the application’s performance. An alternative to solve this is to allocate the maximum available resources (over-provisioning) in each application stage. However, this technique can generate a high infrastructure costs and the possibility that some resources remain idle in certain moments. Thus, the elasticity in cloud computing environments appears as an alternative, exploring the pay-as-you-go concept. In this context, we propose an elastic model based on the PaaS layer (Platform as a Service) cloud, named Pipel. This model allows pipeline applications to take advantage of the dynamic resource provisioning capabilities of cloud computing infrastructure. Pipel uses a reactive approach, using thresholds for elasticity decisions based on the CPU load of virtual machines in each application stage. Each stage has a load balancer (called stage controller) and a number of operating resources. The stage controller receives the tasks that the stage should run, allocates in a queue and then distribute the tasks in virtual machines available at each stage. According to established rules Pipel performs elasticity actions on the cloud environment. To validate this proposal we developed a prototype that has been tested in two different scenarios: (i) without elasticity and (ii) with elasticity. In each scenario we used four different processing loads: (i) Increasing; (ii) Decreasing; (iii) Constant and (iv) Oscillating. The results showed a reduction of 38% of the application’s execution time using the elasticity provided by Pipel.en
Resumo (dc.description.resumo)No ambiente da computação workflows tornam-se um padrão crescente para diversos experimentos científicos. Workflows científicos são compostos por várias aplicações estruturadas em um fluxo de atividades, onde o resultado de uma delas torna-se a entrada de outra. Uma aplicação pipeline é um tipo de workflow que recebe um conjunto de tarefas, as quais devem passar por todas as fases desta aplicação de forma sequencial, o que pode levar a um tempo de execução proibitivo. Tendo em vista este problema, aplicações pipeline podem se beneficiar da utilização de recursos distintos para cada um dos estágios, ou seja, executadas em plataformas distribuídas. Entretanto, dependências e necessidade especificas da computação distribuída surgem devido à interação entre os estágios de processamento e a grande quantidade de dados que devem ser processadas. O fluxo de entrada para aplicações que utilizam padrões pipeline pode ser intenso, inconstante ou irregular. De acordo com o comportamento do fluxo de tarefas, alguns estágios da aplicação podem ter seu desempenho prejudicado, atrasando os estágios subsequentes e por fim interferindo no desempenho da aplicação. Uma alternativa para resolver isto é alocar o máximo de recursos disponíveis (over-provisioning) em cada estágio da aplicação. Entretanto, esta técnica pode gerar um alto custo de infraestrutura, além da possibilidade que em alguns momentos os recursos fiquem ociosos. Sendo assim, a elasticidade em ambiente de nuvem computacional aparece como uma alternativa, explorando o conceito “pagar somente pelo que usar” (pay-as-you-go). Nesse contexto é proposto um modelo de elasticidade baseado na camada PaaS (Plataform as a Service) da nuvem, intitulado de Pipel. Este modelo permite que aplicações pipeline tirem vantagem do provisionamento dinâmico de recursos da infraestrutura de nuvem computacional. Pipel utiliza uma abordagem reativa, fazendo uso de thresholds para a tomada de decisões da elasticidade, baseados na carga de CPU das máquinas virtuais em cada estágio da aplicação. Cada estágio possui um balanceador de carga (chamado de controlador de estágio) e um determinado número de recursos em operação. O controlador do estágio recebe as tarefas que o estágio deve executar, as aloca em uma fila onde são distribuídas nas máquinas virtuais disponíveis em seu estágio. De acordo com regras estabelecidas Pipel realiza ações de elasticidade sobre o ambiente de nuvem. Para validar esta proposta foi desenvolvido um protótipo, o qual foi testado em dois cenários: (i) sem uso de elasticidade e (ii) com uso da elasticidade. Em cada cenário utilizou-se quatro cargas de processamento: (i) Crescente; (ii) Decrescente; (iii) Constante e (iv) Oscilante. Os resultados apresentam uma redução de 38% no tempo da execução da aplicação com o uso da elasticidade provida por Pipel.pt_BR
Agência de fomento (dc.description.sponsorship)Nenhumapt_BR
URI (dc.identifier.uri)http://www.repositorio.jesuita.org.br/handle/UNISINOS/5772
Idioma (dc.language)pt_BRpt_BR
Nome da instituição (dc.publisher)Universidade do Vale do Rio dos Sinospt_BR
País da Instituição (dc.publisher.country)Brasilpt_BR
Departamento (dc.publisher.department)Escola Politécnicapt_BR
Sigla da Instituição (dc.publisher.initials)Unisinospt_BR
Programa (dc.publisher.program)Programa de Pós-Graduação em Computação Aplicadapt_BR
Direitos de acesso ao documento (dc.rights)openAccesspt_BR
Assunto (dc.subject)Computação em nuvempt_BR
Assunto (dc.subject)Pipelinept_BR
Assunto (dc.subject)Elasticidadept_BR
Assunto (dc.subject)Cloud computingen
Assunto (dc.subject)Pipelineen
Assunto (dc.subject)Elasticityen
Tema (CNPq) (dc.subject.cnpq)ACCNPQ::Ciências Exatas e da Terra::Ciência da Computaçãopt_BR
Título (dc.title)PIPEL: modelo de gerência da elasticidade para aplicações organizadas em pipelinept_BR
Tipo de arquivo (dc.type)Dissertaçãopt_BR

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
Vinícius Meyer_.pdf
Tamanho:
1.44 MB
Formato:
Adobe Portable Document Format
Descrição:
pipel_gerencia

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2.12 KB
Formato:
Item-specific license agreed upon to submission
Descrição: