Escalonamento on-line eficiente de programas fork-join recursivos do tipo divisão e conquista em MPI

Esta Dissertação de Mestrado propõe dois novos algoritmos para tornar mais eficiente o escalonamento on-line de tarefas com dependências estritas em agregados de computadores que usam como middleware para troca de mensagens alguma implementação da MPI (até a versão 2.1). Esses algoritmos foram proje...

Full description

Bibliographic Details
Main Author: Mor, Stefano Drimon Kurz
Other Authors: Maillard, Nicolas Bruno
Format: Others
Language:Portuguese
Published: 2010
Subjects:
Mpi
MPI
Online Access:http://hdl.handle.net/10183/23235
id ndltd-IBICT-oai-www.lume.ufrgs.br-10183-23235
record_format oai_dc
spelling ndltd-IBICT-oai-www.lume.ufrgs.br-10183-232352019-01-22T01:36:19Z Escalonamento on-line eficiente de programas fork-join recursivos do tipo divisão e conquista em MPI Efficent on-line scheduling of recursive fork-join programs on MPI Mor, Stefano Drimon Kurz Maillard, Nicolas Bruno Processamento paralelo Processamento : Alto desempenho Mpi Programação paralela Balanceamento : Carga MPI Scheduling Dynamic Fork-join Recursive Esta Dissertação de Mestrado propõe dois novos algoritmos para tornar mais eficiente o escalonamento on-line de tarefas com dependências estritas em agregados de computadores que usam como middleware para troca de mensagens alguma implementação da MPI (até a versão 2.1). Esses algoritmos foram projetados tendo-se em vista programas construídos no modelo de programação fork/join, onde a operação de fork é usada sobre uma chamada recursiva da função. São eles: 1. O algoritmo RatMD, implementado através de uma biblioteca de primitivas do tipo map-reduce, que funciona para qualquer implementação MPI, com qualquer versão da norma. Utilizado para minimizar o tempo de execução de uma computação paralela; e 2. O algoritmo RtMPD, implementado através de um sistema distribuído sobre daemons gerenciadores de processos criados dinamicamente com a implementação MPICH2 (que implementa a MPI-2). Utilizado para permitir execuções de instâncias maiores de programas paralelos dinâmicos. Ambos se baseiam em roubo de tarefas, que é a estratégia de balanceamento de carga mais difundida na literatura. Para ambos os algoritmos apresenta-se modelagem téorica de custos. Resultados experimentais obtidos ficam dentro dos limites teóricos calculados. RatMD provê uma redução no tempo de execução de até 80% em relação ao algoritmo usual (baseado em round-robin), com manutenção do speedup próximo ao linear e complexidade espacial idêntica à popular implementação com round-robin. RtMPD mantém, no mínimo, o mesmo desempenho que a implementação canônica do escalonamento em MPICH2, dobrando-se o limite físico de processos executados simultaneamente por cada nó. This Master’s Dissertation proposes two new algorithms for improvement on on-line scheduling of dynamic-created tasks with strict dependencies on clusters of computers using MPI (up to version 2.1) as its middleware for message-passing communication. These algorithms were built targeting programs written on the fork-join model, where the fork operation is always called over an recursive function call. They are: 1. RatMD, implemented as a map-reduce library working for any MPI implementation, on whatever norm’s version. Used for performance gain; and 2. RtMPD, implemented as a distributed system over dynamic-generated processes manager daemons with MPICH2 implentation of MPI. Used for executing larger instances of dynamic parallel programs. Both algorithms are based on the (literature consolidated) work stealing technique and have formal guarantees on its execution time and load balancing. Experimental results are within theoretical bounds. RatMD shows an improvement on the performance up to 80% when paired with more usual algorithms (based on round-robin strategy). It also provides near-linear speedup and just about the same space-complexity on similar implementations. RtMPD keeps, at minimum, the very same performance of the canonical MPICH2 implementation, near doubling the physical limit of simultaneous program execution per cluster node. 2010-06-01T04:18:24Z 2010 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://hdl.handle.net/10183/23235 000740305 por info:eu-repo/semantics/openAccess application/pdf reponame:Biblioteca Digital de Teses e Dissertações da UFRGS instname:Universidade Federal do Rio Grande do Sul instacron:UFRGS
collection NDLTD
language Portuguese
format Others
sources NDLTD
topic Processamento paralelo
Processamento : Alto desempenho
Mpi
Programação paralela
Balanceamento : Carga
MPI
Scheduling
Dynamic
Fork-join
Recursive
spellingShingle Processamento paralelo
Processamento : Alto desempenho
Mpi
Programação paralela
Balanceamento : Carga
MPI
Scheduling
Dynamic
Fork-join
Recursive
Mor, Stefano Drimon Kurz
Escalonamento on-line eficiente de programas fork-join recursivos do tipo divisão e conquista em MPI
description Esta Dissertação de Mestrado propõe dois novos algoritmos para tornar mais eficiente o escalonamento on-line de tarefas com dependências estritas em agregados de computadores que usam como middleware para troca de mensagens alguma implementação da MPI (até a versão 2.1). Esses algoritmos foram projetados tendo-se em vista programas construídos no modelo de programação fork/join, onde a operação de fork é usada sobre uma chamada recursiva da função. São eles: 1. O algoritmo RatMD, implementado através de uma biblioteca de primitivas do tipo map-reduce, que funciona para qualquer implementação MPI, com qualquer versão da norma. Utilizado para minimizar o tempo de execução de uma computação paralela; e 2. O algoritmo RtMPD, implementado através de um sistema distribuído sobre daemons gerenciadores de processos criados dinamicamente com a implementação MPICH2 (que implementa a MPI-2). Utilizado para permitir execuções de instâncias maiores de programas paralelos dinâmicos. Ambos se baseiam em roubo de tarefas, que é a estratégia de balanceamento de carga mais difundida na literatura. Para ambos os algoritmos apresenta-se modelagem téorica de custos. Resultados experimentais obtidos ficam dentro dos limites teóricos calculados. RatMD provê uma redução no tempo de execução de até 80% em relação ao algoritmo usual (baseado em round-robin), com manutenção do speedup próximo ao linear e complexidade espacial idêntica à popular implementação com round-robin. RtMPD mantém, no mínimo, o mesmo desempenho que a implementação canônica do escalonamento em MPICH2, dobrando-se o limite físico de processos executados simultaneamente por cada nó. === This Master’s Dissertation proposes two new algorithms for improvement on on-line scheduling of dynamic-created tasks with strict dependencies on clusters of computers using MPI (up to version 2.1) as its middleware for message-passing communication. These algorithms were built targeting programs written on the fork-join model, where the fork operation is always called over an recursive function call. They are: 1. RatMD, implemented as a map-reduce library working for any MPI implementation, on whatever norm’s version. Used for performance gain; and 2. RtMPD, implemented as a distributed system over dynamic-generated processes manager daemons with MPICH2 implentation of MPI. Used for executing larger instances of dynamic parallel programs. Both algorithms are based on the (literature consolidated) work stealing technique and have formal guarantees on its execution time and load balancing. Experimental results are within theoretical bounds. RatMD shows an improvement on the performance up to 80% when paired with more usual algorithms (based on round-robin strategy). It also provides near-linear speedup and just about the same space-complexity on similar implementations. RtMPD keeps, at minimum, the very same performance of the canonical MPICH2 implementation, near doubling the physical limit of simultaneous program execution per cluster node.
author2 Maillard, Nicolas Bruno
author_facet Maillard, Nicolas Bruno
Mor, Stefano Drimon Kurz
author Mor, Stefano Drimon Kurz
author_sort Mor, Stefano Drimon Kurz
title Escalonamento on-line eficiente de programas fork-join recursivos do tipo divisão e conquista em MPI
title_short Escalonamento on-line eficiente de programas fork-join recursivos do tipo divisão e conquista em MPI
title_full Escalonamento on-line eficiente de programas fork-join recursivos do tipo divisão e conquista em MPI
title_fullStr Escalonamento on-line eficiente de programas fork-join recursivos do tipo divisão e conquista em MPI
title_full_unstemmed Escalonamento on-line eficiente de programas fork-join recursivos do tipo divisão e conquista em MPI
title_sort escalonamento on-line eficiente de programas fork-join recursivos do tipo divisão e conquista em mpi
publishDate 2010
url http://hdl.handle.net/10183/23235
work_keys_str_mv AT morstefanodrimonkurz escalonamentoonlineeficientedeprogramasforkjoinrecursivosdotipodivisaoeconquistaemmpi
AT morstefanodrimonkurz efficentonlineschedulingofrecursiveforkjoinprogramsonmpi
_version_ 1718938982195134464