Dissertação

{en_GB=Enhancing efficiency of Hybrid Transactional Memory via Dynamic Data Partitioning Schemes} {} EVALUATED

{pt=A memória transacional é um paradigma poderoso que promete simplificar o desenvolvimento de programas paralelos, enquanto permite obter desempenho semelhante ao dos mecanismos de locking. Na memória transacional, os programadores apenas têm de especificar que partes do código de um programa têm de ser executadas de forma atómica, e não como esta deve ser atingida. Este documento primeiro apresenta uma análise do estado da arte da memória transacional, analisando algumas das principais implementações da memória transacional baseada em software (STM), baseada em hardware (HTM), ou uma combinação dos dois (Hybrid TM). Com base na análise crítica do estado da arte, este documento propõe um novo algoritmo para uma implementação da memória transacional híbrida, à qual chamamos DMP-TM, que visa minimizar as percas de desempenho devido á sincronização entre HTM e STM, apoiando-se num novo mecanismo de particionamento dinâmico de memória. A ideia chave por detrás de DMP-TM é depender do mecanismo de proteção dos sistemas operativos para determinar partições de memória, nas quais HTM e STM podem operar, visto não existir interferência mútua. Este desenho do sistema contrasta com o desenho das implementações da Hybrid TM correntes, que possuem perdas de desempenho devido á sincronização dos metadados. Avaliámos DMP-TM através de benchmarks sintéticas, bem como benchmarks base na avaliação para a memória transacional. O nosso estudo experimental mostra que DMP-TM pode aumentar até 4x o desempenho comparado com outras implementações HTM e STM e até 10x o desempenho de outras implementações da Hybrid TM., en=Transactional Memory (TM) is a powerful paradigm that promises to simplify the development of concurrent programs, while still achieving performance similar to locking. With TM, programmers only need to specify which parts of the code have to appear as executed atomically, and not how atomicity should be achieved. This document first overviews the state of the art of TM, analyzing some of the main TM implemen- tations based on software (STM), hardware (HTM), or on combination thereof (Hybrid TM). In the light of the critical analysis of the state of art, this document proposes a novel Hybrid TM algorithm, which we call DMP-TM, that aims to minimize the synchronization overheads between HTM and STM by relying on a novel dynamic memory partitioning scheme. The key novel idea underlying DMP-TM is to leverage on operating system level memory protection mechanism to enforce dynamic memory partitions, in which HTM and STM can operate assuming no mutual interference. This design contrasts with current state of the Hybrid TM designs, which incur extra-overheads by checking the metadata. We evaluated DMP-TM using both synthetic and standard benchmarks for Transactional Memory. Our experimental study highlights that DMP-TM can achieve up to 4x time speedups when compared to state of the art HTM and STM and up to 10x speedups compared with state of the art Hybrid TM.}
{pt=Programação Paralela, Memória Transacional, Partição de memória, Eficiência, Memória Transacional Híbrida, en=Parallel Programming, Transactional Memory, Memory Partitioning, Efficiency, Hybrid Transactional Memory}

Novembro 2, 2016, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Paolo Romano

Departamento de Engenharia Informática (DEI)

Professor Associado