Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software

Detalhes bibliográficos
Ano de defesa: 2012
Autor(a) principal: Duarte, Thales Farias
Orientador(a): Sotoma, Irineu
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufms.br/handle/123456789/1634
Resumo: 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.
id UFMS_1c869ab00134abf94282a55c191d3766
oai_identifier_str oai:repositorio.ufms.br:123456789/1634
network_acronym_str UFMS
network_name_str Repositório Institucional da UFMS
repository_id_str
spelling 2012-09-19T20:24:14Z2021-09-30T19:55:12Z2012https://repositorio.ufms.br/handle/123456789/1634Atualmente 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.porProgramação (Computadores)Computer ProgrammingProcessamento Eletrônico de Dados - técnicas estruturadasElectronic Data Processing - structured techniquesMicroprocessadoresMicroprocessorsEletrônica DigitalDigital ElectronicsUma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Softwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisSotoma, IrineuDuarte, Thales Fariasinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFMSinstname:Universidade Federal de Mato Grosso do Sul (UFMS)instacron:UFMSTHUMBNAILThales Duarte.pdf.jpgThales Duarte.pdf.jpgGenerated Thumbnailimage/jpeg1351https://repositorio.ufms.br/bitstream/123456789/1634/4/Thales%20Duarte.pdf.jpg646af96d900aa398a61c5d5bcd65b41eMD54TEXTThales Duarte.pdf.txtThales Duarte.pdf.txtExtracted texttext/plain156945https://repositorio.ufms.br/bitstream/123456789/1634/3/Thales%20Duarte.pdf.txtb0648e8a1dd24e51aa612099ed83dfe4MD53ORIGINALThales Duarte.pdfThales Duarte.pdfapplication/pdf1315296https://repositorio.ufms.br/bitstream/123456789/1634/1/Thales%20Duarte.pdff4dd80851c09d07ce83fc64425d17ccbMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.ufms.br/bitstream/123456789/1634/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52123456789/16342021-09-30 15:55:12.615oai:repositorio.ufms.br:123456789/1634Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufms.br/oai/requestri.prograd@ufms.bropendoar:21242021-09-30T19:55:12Repositório Institucional da UFMS - Universidade Federal de Mato Grosso do Sul (UFMS)false
dc.title.pt_BR.fl_str_mv Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software
title Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software
spellingShingle Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software
Duarte, Thales Farias
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
title_short Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software
title_full Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software
title_fullStr Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software
title_full_unstemmed Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software
title_sort Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software
author Duarte, Thales Farias
author_facet Duarte, Thales Farias
author_role author
dc.contributor.advisor1.fl_str_mv Sotoma, Irineu
dc.contributor.author.fl_str_mv Duarte, Thales Farias
contributor_str_mv Sotoma, Irineu
dc.subject.por.fl_str_mv 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
topic 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
description 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.
publishDate 2012
dc.date.accessioned.fl_str_mv 2012-09-19T20:24:14Z
dc.date.issued.fl_str_mv 2012
dc.date.available.fl_str_mv 2021-09-30T19:55:12Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://repositorio.ufms.br/handle/123456789/1634
url https://repositorio.ufms.br/handle/123456789/1634
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMS
instname:Universidade Federal de Mato Grosso do Sul (UFMS)
instacron:UFMS
instname_str Universidade Federal de Mato Grosso do Sul (UFMS)
instacron_str UFMS
institution UFMS
reponame_str Repositório Institucional da UFMS
collection Repositório Institucional da UFMS
bitstream.url.fl_str_mv https://repositorio.ufms.br/bitstream/123456789/1634/4/Thales%20Duarte.pdf.jpg
https://repositorio.ufms.br/bitstream/123456789/1634/3/Thales%20Duarte.pdf.txt
https://repositorio.ufms.br/bitstream/123456789/1634/1/Thales%20Duarte.pdf
https://repositorio.ufms.br/bitstream/123456789/1634/2/license.txt
bitstream.checksum.fl_str_mv 646af96d900aa398a61c5d5bcd65b41e
b0648e8a1dd24e51aa612099ed83dfe4
f4dd80851c09d07ce83fc64425d17ccb
8a4605be74aa9ea9d79846c1fba20a33
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMS - Universidade Federal de Mato Grosso do Sul (UFMS)
repository.mail.fl_str_mv ri.prograd@ufms.br
_version_ 1845881950855757824