Return to search

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

Submitted by Nara Lays Domingues Viana Oliveira (naradv) on 2015-07-16T15:53:35Z
No. of bitstreams: 1
LUCAS.pdf: 1303250 bytes, checksum: 9f822df40e01702f7d665e6b6a631bf2 (MD5) / Made available in DSpace on 2015-07-16T15:53:35Z (GMT). No. of bitstreams: 1
LUCAS.pdf: 1303250 bytes, checksum: 9f822df40e01702f7d665e6b6a631bf2 (MD5)
Previous issue date: 2012 / Nenhuma / 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. / 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.

Identiferoai:union.ndltd.org:IBICT/oai:www.repositorio.jesuita.org.br:UNISINOS/4497
Date26 April 2012
CreatorsGraebin, Lucas
Contributorshttp://lattes.cnpq.br/2332604239081900, Righi, Rodrigo da Rosa
PublisherUniversidade do Vale do Rio dos Sinos, Programa de Pós-Graduação em Computação Aplicada, Unisinos, Brasil, Escola Politécnica
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguageEnglish
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis
Sourcereponame:Repositório Institucional da UNISINOS, instname:Universidade do Vale do Rio dos Sinos, instacron:UNISINOS
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0019 seconds