Dissertação

Transactional Memory for heterogeneous CPU-GPU Systems EVALUATED

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.
Memória Transacional, Unidades de Processamento de Gráficos, Computação de Propósito Geral em GPUs, Sistemas Heterogéneos

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