Uma plataforma para desenvolvimento e avaliação de estratégias para Memória Transacional em Software
| Ano de defesa: | 2012 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |