Título: | PROGRAMAÇÃO PARALELA NO BANCO DE DADOS CHAVE-VALOR REDIS | ||||||||||||
Autor: |
JUAREZ DA SILVA BOCHI |
||||||||||||
Colaborador(es): |
NOEMI DE LA ROCQUE RODRIGUEZ - Orientador |
||||||||||||
Catalogação: | 12/ABR/2016 | Língua(s): | PORTUGUÊS - BRASIL |
||||||||||
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=26115&idi=1 [en] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=26115&idi=2 |
||||||||||||
DOI: | https://doi.org/10.17771/PUCRio.acad.26115 | ||||||||||||
Resumo: | |||||||||||||
Redis é um banco de dados chave-valor de código livre que dá suporte à
avaliação de scripts Lua, mas sua implementação utiliza apenas uma tarefa
de sistema operacional. Scripts longos são desencorajados porque a avaliação
do código é bloqueante, o que pode causar degradação de desempenho para
os demais usuários. Através da aplicação do modelo de concorrência M:N,
que combina tarefas de nível de sistema operacional com tarefas do nível
de usuário, adicionamos no Redis a capacidade de execução de scripts em
paralelo, permitindo que todos os núcleos do servidor sejam explorados.
Com a utilização de corotinas Lua, implementamos um escalonador capaz
de alocar e suspender a execução de tarefas de nível de usuário nos núcleos
disponíveis sem necessidade de alteração do código dos scripts. Este modelo
permitiu proteger o programador das complexidades naturais do paralelismo
como sincronização no acesso a recursos compartilhados e escalonamento
das tarefas.
|
|||||||||||||
|