Dissertação

Enhancing efficiency of Hybrid Transactional Memory via Dynamic Data Partitioning Schemes EVALUATED

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.
Programação Paralela, Memória Transacional, Partição de memória, Eficiência, Memória Transacional Híbrida

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