Use este identificador para citar ou linkar para este item:
https://repositorio.ufms.br/handle/123456789/1634
Tipo: | Dissertação |
Título: | Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software |
Autor(es): | Duarte, Thales Farias |
Primeiro orientador: | Sotoma, Irineu |
Abstract: | Atualmente existe um grande número de processadores multi-core, e para se obter
melhor desempenho dos programas nestes processadores, o modelo de programação mais
utilizado é o multi-threaded. Este modelo utiliza uma combinação de bloqueios para o
controle de concorrência entre as threads, mas muitos problemas podem surgir com a
utilização errada desta técnica, tal como deadlocks e starvation. Em reação a estes problemas
apresentados, o modelo transacional de sincronização tem recebido atenção como
um modelo de programação alternativo, usando como base o conceito de transação para
garantir sincronismo entre threads concorrentes. Este modelo tira do programador a responsabilidade
sobre o controle de sincronização, e problemas como deadlocks e starvation
são evitados.
Neste trabalho implementamos o STM Builder, uma plataforma para desenvolvimento
de estratégias para Memória Transacional em Software, que foi criada com a modulariza-
ção da SwissTM. Junto com o STM Builder, desenvolvemos um framework de testes para
a avaliação das implementações realizadas, que executou os testes e gerou todos os grá cos
utilizados no trabalho automaticamente. O framework de testes utiliza os benchmarks
STMBench7, STAMP e o Microbenchmark de Árvore Rubro-Negra. Os grá cos gerados
pelo framework utilizam o gnuplot.
O STM Builder é capaz de testar várias variações no mesmo código, perdendo pouco
tempo com novas implementações e testando diversas formas da mesma implementação
rapidamente. No STM Builder há algumas variações do modelo transacional de sincroniza-
ção em software da SwissTM. Implementamos e testamos: novos gerentes de contenção,
como o RandomizedRounds (RR), gerenciamento de contenção de uma e duas fases, diferentes
formas de recuo de uma transação, e a técnica de invalidação no momento da
efetivação (Commit-time invalidation ).
Implementamos uma plataforma para desenvolvimento e avaliação de estratégias para
Memória Transacional em Software, que é formada pelo STM Builder e pelo framework
de testes, que comprovou facilitar implementações e testes de novas ideias. Nowadays many processors are multi-core and, in order to obtain better performance of the programs in these processors, the programming model used is the multi-threaded. This model uses a combination of locks to control concurrency between threads, but many problems can arise with the wrong use of this technique, such as deadlock and starvation. In response to these problems presented, the transactional model of synchronization has received attention as an alternative programming model, using as a basis the concept of transaction to ensure synchronization between concurrent threads. This model takes the programmer's responsibility for the synchronization control, and problems such as deadlock and starvation are avoided. In this work we implement the STM Builder, a platform for developing strategies for Software Transactional Memory, which was created from the modularization of SwissTM. Along with the STM Builder, we developed a test framework, which executed the tests and generated all graphics used on the work automatically. The test framework executes tests with benchmarks STMBench7, STAMP, and with Microbenchmark of Red-black Tree. The graphs generated by framework using the gnuplot. The STM Builder is able to test several variations on the same code, wasting little time with new implementations and testing various ways of the same implementation quickly. In STM Builder there are some variations of the transactional model of SwissTM. We implemented and tested: new contention managers, such as RandomizedRounds, contention management of one and two phases, di erent ways to backo a transaction, and the technique of Commit-time invalidation. We have implemented a platform for developing and evaluating strategies for Software Transactional Memory, which is formed by the STM Builder and the test framework, which demonstrated to facilitate implementation and testing of new ideas. |
Palavras-chave: | Programação (Computadores) Computer Programming Processamento Eletrônico de Dados - técnicas estruturadas Electronic Data Processing - structured techniques Microprocessadores Microprocessors Eletrônica Digital Digital Electronics |
Tipo de acesso: | Acesso Aberto |
URI: | https://repositorio.ufms.br/handle/123456789/1634 |
Data do documento: | 2012 |
Aparece nas coleções: | Programa de Pós-graduação em Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Thales Duarte.pdf | 1,28 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.