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 TamanhoFormato 
Thales Duarte.pdf1,28 MBAdobe PDFThumbnail
Visualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.