Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava
| Autor(a) principal: | |
|---|---|
| Data de Publicação: | 2013 |
| Tipo de documento: | Dissertação |
| Idioma: | por |
| Título da fonte: | Repositório Institucional da UFPel - Guaiaca |
| Texto Completo: | http://guaiaca.ufpel.edu.br/handle/prefix/5667 |
Resumo: | The parallel computing has allowed a considerable performance gain in programs execution, dividing them into discrete parts solved concurrently using multiple computational resources. Despite its benefits, this paradigm increases the complexity in the development of algorithms, because it is necessary to take into account several aspects not present in sequential programming, such as the necessity to ensure mutual exclusion of tasks performed in parallel. Memory transactions are atomic execution units. Its use allows the programmer to focus on determining where atomicity is required, rather than the mechanisms needed to guarantee it. With this abstraction, the developer identifies the operations that form a critical section, while the transactional system determines how to execute that critical section isolatedly from other program threads. CMTJava (DU BOIS; ECHEVARRIA, 2009) is a Java extension for programming with transactional memory. This work describes the implementation of a new system to manage the concurrent execution of transactions. The system developed employs a hybrid conflict detection strategy, called mixed invalidation (SPEAR et al., 2006). Write/write conflits are detected eagerly and read/write conflicts are lazily detected. On the former implementation, both conflict types are detected by the end of the transaction execution. According to results obtained in a red-black tree microbenchmark, the mixed conflict detection strategy employed yields better performance than the previous work when the number of conflicts is high. In particular, the STM system developed is more efficient than the former implementation in most cases tested, being two times more efficient for executing search transactions in a red-black tree with 50000 elements. |
| id |
UFPL_e61694097cbc6fffa18f0800e68bd43a |
|---|---|
| oai_identifier_str |
oai:guaiaca.ufpel.edu.br:prefix/5667 |
| network_acronym_str |
UFPL |
| network_name_str |
Repositório Institucional da UFPel - Guaiaca |
| repository_id_str |
|
| spelling |
Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJavaA conflict detection system with mixed invalidation for the CMTJava languageComputaçãoMemórias transacionaisProgramação concorrenteSTMTransactional memoryConcurrent programmingCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOThe parallel computing has allowed a considerable performance gain in programs execution, dividing them into discrete parts solved concurrently using multiple computational resources. Despite its benefits, this paradigm increases the complexity in the development of algorithms, because it is necessary to take into account several aspects not present in sequential programming, such as the necessity to ensure mutual exclusion of tasks performed in parallel. Memory transactions are atomic execution units. Its use allows the programmer to focus on determining where atomicity is required, rather than the mechanisms needed to guarantee it. With this abstraction, the developer identifies the operations that form a critical section, while the transactional system determines how to execute that critical section isolatedly from other program threads. CMTJava (DU BOIS; ECHEVARRIA, 2009) is a Java extension for programming with transactional memory. This work describes the implementation of a new system to manage the concurrent execution of transactions. The system developed employs a hybrid conflict detection strategy, called mixed invalidation (SPEAR et al., 2006). Write/write conflits are detected eagerly and read/write conflicts are lazily detected. On the former implementation, both conflict types are detected by the end of the transaction execution. According to results obtained in a red-black tree microbenchmark, the mixed conflict detection strategy employed yields better performance than the previous work when the number of conflicts is high. In particular, the STM system developed is more efficient than the former implementation in most cases tested, being two times more efficient for executing search transactions in a red-black tree with 50000 elements.Sem bolsaA computação paralela permitiu um considerável ganho de desempenho na execução dos programas, dividindo-os em partes discretas resolvidas concorrentemente usando múltiplos recursos computacionais. Apesar dos seus benefícios, esse paradigma aumenta a complexidade no desenvolvimento dos algoritmos, pois é necessário levar em conta vários aspectos inexistentes na codificação de programas sequenciais, como por exemplo, garantir a exclusão mútua das tarefas executadas paralelamente. Transações de memória são unidades de execução atômica. Sua utilização permite ao programador focar em determinar onde a atomicidade é necessária, ao invés dos mecanismos necessários para garanti-la. Com essa abstração, o desenvolvedor identifica as operações que formam uma seção crítica, enquanto que o sistema transacional determina como executar aquela seção crítica isoladamente em relação aos outros fluxos de execução do programa. CMTJava (DU BOIS; ECHEVARRIA, 2009) é uma extensão de Java para programação com memórias transacionais. Neste trabalho descreve-se a implementação de um novo sistema para gerenciamento da execução concorrente das transações na CMTJava. O sistema transacional desenvolvido utiliza uma estratégia híbrida para detecção de conflitos, conhecida como invalidação mista (SPEAR et al., 2006). Conflitos entre transações de escrita são detectados de forma adiantada e conflitos entre uma transação de leitura e outra de escrita são detectados tardiamente. Na implementação antecedente, ambos tipos de conflitos são detectados ao final da execução da transação. De acordo com resultados obtidos através de experimentos com árvores rubro-negras, o sistema de detecção de conflitos com invalidação mista proposto obtém melhor desempenho que o trabalho anterior em cenários onde o número de conflitos é grande. Em particular, o sistema transacional desenvolvido mostrou-se mais eficiente que a implementação anterior na maioria dos cenários testados, sendo até duas vezes mais eficiente para execução de transações de busca em uma árvore rubro-negra com 50000 elementos.Universidade Federal de PelotasCentro de Desenvolvimento TecnológicoPrograma de Pós-Graduação em ComputaçãoUFPelBrasilhttp://lattes.cnpq.br/5504723651798718http://lattes.cnpq.br/3277487290886063Pilla, Maurício Limahttp://lattes.cnpq.br/5401660213198750Du Bois, André RauberBandeira, Rafael de Leão2020-06-04T01:49:04Z2020-06-04T01:49:04Z2013-12-11info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfBANDEIRA, Rafael de Leão. Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava. 2013. 74 f. Dissertação (Mestrado) – Programa de Pós-Graduação em Computação. Universidade Federal de Pelotas, Pelotas.http://guaiaca.ufpel.edu.br/handle/prefix/5667porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPel - Guaiacainstname:Universidade Federal de Pelotas (UFPEL)instacron:UFPEL2023-07-13T06:23:12Zoai:guaiaca.ufpel.edu.br:prefix/5667Repositório InstitucionalPUBhttp://repositorio.ufpel.edu.br/oai/requestrippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.bropendoar:2023-07-13T06:23:12Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)false |
| dc.title.none.fl_str_mv |
Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava A conflict detection system with mixed invalidation for the CMTJava language |
| title |
Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava |
| spellingShingle |
Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava Bandeira, Rafael de Leão Computação Memórias transacionais Programação concorrente STM Transactional memory Concurrent programming CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| title_short |
Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava |
| title_full |
Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava |
| title_fullStr |
Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava |
| title_full_unstemmed |
Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava |
| title_sort |
Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava |
| author |
Bandeira, Rafael de Leão |
| author_facet |
Bandeira, Rafael de Leão |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
http://lattes.cnpq.br/5504723651798718 http://lattes.cnpq.br/3277487290886063 Pilla, Maurício Lima http://lattes.cnpq.br/5401660213198750 Du Bois, André Rauber |
| dc.contributor.author.fl_str_mv |
Bandeira, Rafael de Leão |
| dc.subject.por.fl_str_mv |
Computação Memórias transacionais Programação concorrente STM Transactional memory Concurrent programming CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| topic |
Computação Memórias transacionais Programação concorrente STM Transactional memory Concurrent programming CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| description |
The parallel computing has allowed a considerable performance gain in programs execution, dividing them into discrete parts solved concurrently using multiple computational resources. Despite its benefits, this paradigm increases the complexity in the development of algorithms, because it is necessary to take into account several aspects not present in sequential programming, such as the necessity to ensure mutual exclusion of tasks performed in parallel. Memory transactions are atomic execution units. Its use allows the programmer to focus on determining where atomicity is required, rather than the mechanisms needed to guarantee it. With this abstraction, the developer identifies the operations that form a critical section, while the transactional system determines how to execute that critical section isolatedly from other program threads. CMTJava (DU BOIS; ECHEVARRIA, 2009) is a Java extension for programming with transactional memory. This work describes the implementation of a new system to manage the concurrent execution of transactions. The system developed employs a hybrid conflict detection strategy, called mixed invalidation (SPEAR et al., 2006). Write/write conflits are detected eagerly and read/write conflicts are lazily detected. On the former implementation, both conflict types are detected by the end of the transaction execution. According to results obtained in a red-black tree microbenchmark, the mixed conflict detection strategy employed yields better performance than the previous work when the number of conflicts is high. In particular, the STM system developed is more efficient than the former implementation in most cases tested, being two times more efficient for executing search transactions in a red-black tree with 50000 elements. |
| publishDate |
2013 |
| dc.date.none.fl_str_mv |
2013-12-11 2020-06-04T01:49:04Z 2020-06-04T01:49:04Z |
| 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 |
BANDEIRA, Rafael de Leão. Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava. 2013. 74 f. Dissertação (Mestrado) – Programa de Pós-Graduação em Computação. Universidade Federal de Pelotas, Pelotas. http://guaiaca.ufpel.edu.br/handle/prefix/5667 |
| identifier_str_mv |
BANDEIRA, Rafael de Leão. Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava. 2013. 74 f. Dissertação (Mestrado) – Programa de Pós-Graduação em Computação. Universidade Federal de Pelotas, Pelotas. |
| url |
http://guaiaca.ufpel.edu.br/handle/prefix/5667 |
| 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.format.none.fl_str_mv |
application/pdf |
| dc.publisher.none.fl_str_mv |
Universidade Federal de Pelotas Centro de Desenvolvimento Tecnológico Programa de Pós-Graduação em Computação UFPel Brasil |
| publisher.none.fl_str_mv |
Universidade Federal de Pelotas Centro de Desenvolvimento Tecnológico Programa de Pós-Graduação em Computação UFPel Brasil |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPel - Guaiaca instname:Universidade Federal de Pelotas (UFPEL) instacron:UFPEL |
| instname_str |
Universidade Federal de Pelotas (UFPEL) |
| instacron_str |
UFPEL |
| institution |
UFPEL |
| reponame_str |
Repositório Institucional da UFPel - Guaiaca |
| collection |
Repositório Institucional da UFPel - Guaiaca |
| repository.name.fl_str_mv |
Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL) |
| repository.mail.fl_str_mv |
rippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.br |
| _version_ |
1845919937673035776 |