Spelling suggestions: "subject:"memória transacionais"" "subject:"memória transnacionais""
1 |
Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em JavaEchevarria, Marcos Gonçalves 25 March 2010 (has links)
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
|
Page generated in 0.0767 seconds