Made available in DSpace on 2016-03-22T17:26:23Z (GMT). No. of bitstreams: 1
Dissertacao_de_Mestrado_II_Marcos_Echevarria.pdf: 448582 bytes, checksum: ee87f1f43559b95302ad2f21fa2813e7 (MD5)
Previous issue date: 2010-03-25 / As arquiteturas multi-core influenciam diretamente no desenvolvimento de software.
Para que os programas possam tirar proveito dessas arquiteturas ´e necess´ario que
estes possuam v´arias atividades concorrentes e que possam ser alocadas aos cores dispon
´ıveis. Programas concorrentes para m´aquinas multi-core s ao geralmente implementados
usando threads e se comunicam atrav´es de uma mem´oria compartilhada. Para evitar
que threads interfiram de maneira errada no trabalho de outras threads, as linguagens fornecem
mecanismos de sincronizac¸ ao, como por exemplo bloqueios. Mas sincronizac¸ oes
baseadas em bloqueios apresentam algumas armadilhas que dificultam a programac¸ ao e
s ao propensas a erros (PEYTON JONES, 2007; HERLIHY; MOSS, 1993).
Mem´orias transacionais fornecem um novo modelo de controle de concorr encia
que n ao apresenta as mesmas dificuldades encontradas no uso de bloqueios. Elas trazem
para a programac¸ ao concorrente os conceitos de controle de concorr encia usados
h`a d´ecadas pela comunidade de banco de dados. Construc¸ oes em linguagens transacionais
s ao f´aceis de serem usadas e podem gerar programas altamente escal´aveis (ADLTABATABAI;
KOZYRAKIS; SAHA, 2006).
O objetivo deste trabalho ´e apresentar a linguagem CMTJava. CMTJava ´e uma
linguagem de dom´ınio espec´ıfico para programac¸ ao de mem´orias transacionais em Java e
foi criada visando facilitar a programac¸ ao de m´aquinas multi-core. Seu sistema foi todo
desenvolvido em Java e a forma de implementac¸ ao pode ser aplicada em qualquer outra
linguagem orientada a objetos que suporte closures, como por exemplo C#.
CMTJava faz uso das chamadas m onadas para compor ac¸ oes transacionais. Ac¸ oes
transacionais podem ser combinadas para gerar novas transac¸ oes e vale ressaltar que o
sistema de tipos da linguagem CMTJava garante que ac¸ oes transacionais somente ser ao
executadas atrav´es da primitiva atomic. CMTJava apresenta todas as construc¸ oes de
mem´orias transacionais (atomic, retry, OrElse) e ´e a primeira extens ao Java para
transac¸ oes que suporta a construc¸ ao OrElse
Identifer | oai:union.ndltd.org:IBICT/oai:tede.ucpel.edu.br:tede/110 |
Date | 25 March 2010 |
Creators | Echevarria, Marcos Gonçalves |
Contributors | Yamin, Adenauer |
Publisher | Universidade Catolica de Pelotas, Mestrado em Ciência da Computação, Ucpel, BR, Informática |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações do UCpel, instname:Universidade Católica de Pelotas, instacron:UCPEL |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0025 seconds