Logo PUC-Rio Logo Maxwell
ETDs @PUC-Rio
Estatística
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.
Descrição: Arquivo:   
NA ÍNTEGRA PDF