Tratamento Flexível e Eficiente da Migração de Objetos Java em Aplicações Bulk Synchronous Parallel

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)Graebin, Lucas
Autor(a) Lattes (dc.contributor.authorLattes)http://lattes.cnpq.br/9822251293572355pt_BR
Data de Disponibilização (dc.date.accessioned)2015-07-16T15:53:35Z
dc.date.available (dc.date.available)2015-07-16T15:53:35Z
Data da defesa / Data do evento (dc.date.issued)2012-04-26
Abstract (dc.description.abstract)Process migration is an useful mechanism for runtime load balancing, mainly in heterogeneous and dynamic environments. In particular, this technique is important for Bulk Synchronous Parallel (BSP) applications. This kind of application is based in rounds, or supersteps, where the time of each superstep is determined by the slowest process. In this context, this work presents the jMigBSP system. It was designed to act over BSP-based Java applications and its differential approach concerns the offering of the rescheduling facility in two ways: (i) by using migration directives in the application code directly and; (ii) through automatic load balancing at middleware level. In addition, the presented library makes the object interaction easier by providing one-sided asynchronous communication. The development of jMigBSP was guided by the following ideas: efficiency and flexibility. First of all, the efficiency topic involves the performance relation with compiled languages (native code), as well as the time spent in the rescheduling algorithm itself. Moreover, the flexibility is present in the treatment of automatic object rescheduling. The evaluation of jMigBSP comprised the development and execution of two BSP applications in a multicluster environment: (i) fast Fourier transform and; (ii) Fractal image compression. Two heuristics were used for selecting the candidate objects for migration in the evaluation. The first heuristic chooses the BSP object that presents the highest PM (Potential of Migration) value. The second heuristic selects a percentage of objects based on the highest PM value. The results showed that jMigBSP offers an opportunity to get performance in an effortless manner to the programmer since its does not need modifications in the application code. jMigBSP makes possible gains of performance up to 29% as well as produces a low overhead when compared with a C-based library. Furthermore, an average overhead of 5,52% was observed in the rescheduling algorithm. In general, the results demonstrate in practice the theory of process migration, where computationally intensive applications (CPU-bound) are most benefited by the entities transferring (processes, tasks or objects) to faster processors. Considering that the selection of a percentage of objects for migration showed an efficient heuristic, future work includes the development of new mechanisms that select a collection of objects without the need to setup particular parameters to the rescheduler.en
Resumo (dc.description.resumo)Migração de processos é um pertinente mecanismo para oferecer balanceamento dinâmico de carga, principalmente em ambientes dinâmicos e heterogêneos. Em especial, esse tópico é importante para aplicações BSP (Bulk Synchronous Parallel) uma vez que elas compreendem execuções em fases, onde o tempo de cada superetapa é determinado pelo processo mais lento. Nesse contexto, esse trabalho apresenta o sistema jMigBSP. Ele permite a escrita de aplicações BSP em Java e seu diferencial diz respeito às facilidades de reescalonamento de objetos em duas maneiras: (i) usando diretivas de migração no código da aplicação e; (ii) através do balanceamento de carga automático em nível de middleware. Além das abordagens de reescalonamento, jMigBSP facilita a interação entre os objetos através de métodos para comunicação assíncrona e one-sided. O desenvolvimento de jMigBSP foi guiado pelas ideias de eficiência e flexibilidade. Em primeiro lugar, a eficiência é marcada pela preocupação com o seu desempenho se comparado com linguagens compiladas, bem como no próprio algoritmo de reescalonamento. Além disso, a flexibilidade está presente no tratamento do reescalonamento automático de objetos. A avaliação de jMigBSP compreendeu o desenvolvimento e a execução de duas aplicações BSP em um ambiente multicluster: (i) transformada rápida de Fourier e; (ii) compressão de imagens. Duas heurísticas para a seleção dos objetos candidatos à migração foram aplicadas na avaliação. A primeira seleciona um objeto BSP com o maior valor de PM (Potencial de Migração). A segunda escolhe uma percentagem de objetos baseado no maior PM. Os resultados mostram que jMigBSP oferece a oportunidade de ganhos de desempenho sem alterações no código da aplicação. jMigBSP torna possível ganhos de desempenho na casa de 29%, bem como produz uma baixa sobrecarga quando comparado com uma biblioteca de código nativo. Além disso, uma sobrecarga média de 5,52% foi observada no algoritmo de reescalonamento. Em geral, os resultados obtidos mostram na prática a teoria da migração de processos, onde aplicações computacionalmente intensivas (CPU-bound) são mais beneficiadas com a transferência de entidades (processos, tarefas, objetos etc.) para processadores mais rápidos. Considerando que a seleção de uma percentagem de objetos para migração se mostrou uma heurística eficiente, trabalhos futuros compreendem o desenvolvimento de outras que selecionam uma coleção de objetos sem a necessidade de parâmetros particulares para o reescalonador.pt_BR
Agência de fomento (dc.description.sponsorship)Nenhumapt_BR
URI (dc.identifier.uri)http://www.repositorio.jesuita.org.br/handle/UNISINOS/4497
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)Bulk synchronous parallelpt_BR
Assunto (dc.subject)Javapt_BR
Assunto (dc.subject)Reescalonamentopt_BR
Assunto (dc.subject)Balanceamento de cargapt_BR
Assunto (dc.subject)Reschedulingen
Assunto (dc.subject)Load balancingen
Tema (CNPq) (dc.subject.cnpq)ACCNPQ::Ciências Exatas e da Terra::Ciência da Computaçãopt_BR
Título (dc.title)Tratamento Flexível e Eficiente da Migração de Objetos Java em Aplicações Bulk Synchronous Parallelpt_BR
Tipo de arquivo (dc.type)Tesept_BR

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
LUCAS.pdf
Tamanho:
1.24 MB
Formato:
Adobe Portable Document Format
Descrição:
tratamento_flexível

Licença do pacote

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