Título: | COMPARTILHAMENTO SEGURO DE REGISTROS EM LINGUAGES DE PROGRAMAÇÃO DINÂMICAS | ||||||||||||
Autor: |
ALEXANDRE RUPERT ARPINI SKYRME |
||||||||||||
Colaborador(es): |
NOEMI DE LA ROCQUE RODRIGUEZ - Orientador ROBERTO IERUSALIMSCHY - Coorientador |
||||||||||||
Catalogação: | 29/FEV/2016 | Língua(s): | INGLÊS - ESTADOS UNIDOS |
||||||||||
Tipo: | TEXTO | Subtipo: | TESE | ||||||||||
Notas: |
[pt] Todos os dados constantes dos documentos são de inteira responsabilidade de seus autores. Os dados utilizados nas descrições dos documentos estão em conformidade com os sistemas da administração da PUC-Rio. [en] All data contained in the documents are the sole responsibility of the authors. The data used in the descriptions of the documents are in conformity with the systems of the administration of PUC-Rio. |
||||||||||||
Referência(s): |
[pt] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=25871&idi=1 [en] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=25871&idi=2 |
||||||||||||
DOI: | https://doi.org/10.17771/PUCRio.acad.25871 | ||||||||||||
Resumo: | |||||||||||||
Linguagens de programação dinâmicas estão cada vez mais populares e já
foram utilizadas para desenvolver uma ampla gama de aplicações. Enquanto
isso, processadores multi-núcleo se tornaram padrão, mesmo em computadores
pessoais e dispositivos móveis. Dessa forma, os programadores precisam
recorrer ao paralelismo para aprimorar o desempenho de seus programas.
Entretanto, a programação concorrente permanece difícil. Adicionalmente,
a despeito de avanços em linguagens estáticas, avaliamos que linguagens
dinâmicas ainda carecem de suporte adequado à concorrência. Nesta
tese argumentamos que o principal problema da programação concorrente é
a imprevisibilidade - comportamentos inesperados de programas, tais como
retornar valores descabidos. Observamos que a imprevisibilidade é mais
provável quando memória compartilhada é utilizada. Consequentemente,
propomos um modelo de comunicação para concorrência que visa disciplinar
o compartilhamento de memória em linguagens dinâmicas. O modelo
é baseado nos padrões emergentes de concorrência de não compartilhar dados
por padrão, imutabilidade de dados e tipos e efeitos (que transformamos
em capacidades). Ele demanda a utilização de objetos compartilháveis para
compartilhar dados e utiliza troca de mensagens para comunicação entre
fluxos de execução. Objetos compartilháveis podem ser compartilhados apenas para
leitura ou para leitura e escrita, o que permite acesso individual de
escrita e acessos paralelos de leitura. Implementamos um protótipo em Lua
para experimentar com o modelo na prática, bem como para conduzir uma
avaliação geral de desempenho. A avaliação demonstra que há benefícios na
utilização de memória compartilhada, mas ao mesmo tempo revela que os
controles utilizados para assegurar a disciplina ocasionam um impacto de
desempenho.
|
|||||||||||||
|