Dissertação

{en_GB=Transactional Memory for heterogeneous CPU-GPU Systems} {} EVALUATED

{pt=Ao longo da última década a preocupação com o consumo energético, bem como a procura de maior poder de processamento levou as microarquitecturas a um paradigma altamente paralelo, com vários cores disponíveis em cada unidade. Especial atenção a GPUs, que de unidades rígidas e altamente pipelined passaram a uma versátil arquitetura manycore. Estas mudanças na arquitetura, bem como a sua capacidade de computação, levaram investigadores a usar GPUs para processamento de âmbito geral. Apesar destas arquiteturas paralelas permitirem, teoricamente, uma performance bastante alta, em contrapartida também impõe desafios de programação complexos, especialmente no que toca a sincronizar acessos a dados partilhados. Como tal, aplicações que extraem o paralelismo inerente de sistemas heterógenos com GPU e CPU são particularmente difíceis de desenvolver. Neste contexto, Memória Transacional (TM) foi proposta para facilitar programação paralela.TM é uma abstração, que procura esconder a complexidade de sincronismo de dados partilhados em sistemas com múltiplas threads . Na área de TM a literatura é prolifica, existindo vários modelos para CPUs, e recentemente para GPU. Esta dissertação propõe Memória Transacional Heterógena (HeterosTM), o primeiro (do conhecimento do autor) sistema de TM capaz de escalonar threads simultaneamente no CPU e no GPU. Para minimizar o impacto na performance, HeterosTM usa um modelo especulativo, com verificação de erros para garantir correção dos resultados, que amortizam os custos de garantir consistência entre unidades. A arquitetura deste sistema é apresentada e o sistema é testado recorrendo a uma benchmark sintética e a uma aplicação real., en=Over the course of the last decade, concerns with power consumption and demand for increasing processing power have lead micro-architectures to a highly parallel paradigm, with multiple cores available in each processing unit. Notably the Graphical Processor Unit (GPU), previously a rigid, highly pipelined unit, now uses a versatile manycore architecture. These architectural changes, along with their raw computation power, led researchers to use GPUs for general purpose computing, Whilst these parallel architectures allow for great peak performances, they also raise complex programming problems, especially in regards to synchronizing accesses to shared data. As a result, applications that strive to exploit the parallelism potential of heterogeneous systems equipped with both GPUs and CPUs are notoriously difficult to develop. In this context, Transactional Memory (TM) has been proposed to facilitate concurrent programming. TM is an abstraction that moves the complexity of synchronizing shared data access in multi-threaded systems away from the programmer. Literature on TM has been prolific, and several TM implementations have been proposed targeting either CPUs or, more recently,GPUs. This dissertation proposes Heterogeneous Transactional Memory (HeterosTM) the first (to the best of the author’s knowledge) TM system capable of supporting concurrent execution of applications that exploit both CPUs and GPUs. In order to minimize synchronization overheads, HeterosTM relies on speculative techniques, which aim to amortize the costs of enforcing consistency among transactions executing on the different units. This system’s architecture is presented and the tested using both a synthetic benchmark and a real application.}
{pt=Memória Transacional, Unidades de Processamento de Gráficos, Computação de Propósito Geral em GPUs, Sistemas Heterogéneos, en=Transactional Memory, Graphical Processor Units, General Purpose Computing on GPUs, Heterogeneous System}

novembro 24, 2016, 14:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Aleksandar Ilic

Departamento de Engenharia Electrotécnica e de Computadores (DEEC)

Professor Auxiliar

ORIENTADOR

Paolo Romano

Departamento de Engenharia Informática (DEI)

Professor Associado