Autor(es):
Mariano, Artur Miguel Matos
Data: 2012
Identificador Persistente: http://hdl.handle.net/1822/28068
Origem: RepositóriUM - Universidade do Minho
Descrição
Dissertação de mestrado em Engenharia de Informática Current computational platforms have become continuously more and more heterogeneous and parallel over the last years, as a consequence of incorporating accelerators whose architectures are parallel and different from the CPU. As a result, several frameworks were developed to aid to program these platforms mainly targeting better productivity ratios. In this context, GAMA framework is being developed by the research group involved in this work, targeting
both regular and irregular algorithms to efficiently run in heterogeneous platforms.
Scheduling is a key issue of GAMA-like frameworks. The state of the art solutions of scheduling on heterogeneous platforms are efficient for regular applications but lack adequate mechanisms for irregular ones. The scheduling of irregular applications is particularly complex due to the unpredictability and the differences on the execution time of their composing computational tasks.
This dissertation work comprises the design and validation of a dynamic scheduler’s model and implementation, to simultaneously address regular and irregular algorithms. The devised scheduling mechanism is validated within the GAMA framework, when running relevant scientific algorithms, which include the SAXPY, the Fast Fourier Transform and two n-Body solvers. The proposed mechanism is validated regarding its efficiency in finding good scheduling decisions and the efficiency and scalability of GAMA, when using it.
The results show that the model of the devised dynamic scheduler is capable of working in heterogeneous systems with high efficiency and finding good scheduling decisions in the general tested cases. It achieves not only the scheduling decision that represents the real capacity of the devices in the platform, but also enables GAMA to achieve more than 100% of efficiency as defined in [3], when running a relevant scientific irregular algorithm.
Under the designed scheduling model, GAMA was also able to beat CPU and GPU efficient libraries of SAXPY, an important scientific algorithm. It was also proved GAMA’s scalability under the devised dynamic scheduler, which properly leveraged the platform computational resources, in trials with one central quad-core CPU-chip and two GPU accelerators. As plataformas computacionais actuais tornaram-se cada vez mais heterogéneas e paralelas
nos últimos anos, como consequência de integrarem aceleradores cujas arquitecturas são
paralelas e distintas do CPU. Como resultado, várias frameworks foram desenvolvidas para
programar estas plataformas, com o objectivo de aumentar os níveis de produtividade de
programação. Neste sentido, a framework GAMA está a ser desenvolvida pelo grupo de
investigação envolvido nesta tese, tendo como objectivo correr eficientemente algoritmos regulares
e irregulares em plataformas heterogéneas.
Um aspecto chave no contexto de frameworks congéneres ao GAMA é o escalonamento.
As soluções que compõem o estado da arte de escalonamento em plataformas heterogéneas são
eficientes para aplicaçóes regulares, mas ineficientes para aplicações irregulares. O escalonamento
destas é particularmente complexo devido à imprevisibilidade e ás diferenças no tempo
de computação das tarefas computacionais que as compõem.
Esta dissertação propõe o design e validação de um modelo de escalonamento e respectiva
implementação, que endereça tanto aplicações regulares como irregulares. O mecanismo de
escalonamento desenvolvido é validado na framework GAMA, executando algoritmos científicos
relevantes, que incluem a SAXPY, a Transformada Rápida de Fourier e dois algoritmos
de resolução do problema n-Corpos. O mecanismo proposto é validado quanto à sua eficiência
em encontrar boas decisões de escalonamento e quanto à eficiência e escalabilidade do
GAMA, quando fazendo uso do mesmo.
Os resultados obtidos mostram que o modelo de escalonamento proposto é capaz de executar
em plataformas heterogéneas com alto grau de eficiência, uma vez que encontra boas
decisões de escalonamento na generalidade dos casos testados. Além de atingir a decisão
de escalonamento que melhor representa o real poder computacional dos dispositivos na
plataforma, também permite ao GAMA atingir mais de 100% de eficiência tal como definida
em [3], executando um importante algoritmo científico irregular.
Integrando o modelo de escalonamento desenvolvido, o GAMA superou ainda bibliotecas
eficientes para CPU e GPU na execução do SAXPY, um importante algoritmo científico.
Foi também provada a escalabilidade do GAMA sob o modelo desenvolvido, que aproveitou
da melhor forma os recursos computacionais disponíveis, em testes para um CPU-chip de 4
núcleos e dois GPUs.
Tipo de Documento
Dissertação de Mestrado
Idioma
Inglês
Orientador(es)
Proença, Alberto José; Barbosa, João Carlos Garcia da Cunha