Maxwell Para Simples Indexação

Título
[en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE

Título
[pt] PROGRAMAÇÃO PARALELA NO BANCO DE DADOS CHAVE-VALOR REDIS

Autor
[pt] JUAREZ DA SILVA BOCHI

Vocabulário
[pt] MODELOS DE CONCORRENCIA

Vocabulário
[pt] MODELO M :N

Vocabulário
[pt] PROGRAMACAO PARALELA

Vocabulário
[pt] REDIS

Vocabulário
[pt] BANCOS DE DADOS

Vocabulário
[pt] LUA

Vocabulário
[en] CONCURRENCY MODELS

Vocabulário
[en] M :N THREADING MODEL

Vocabulário
[en] PARALLEL PROGRAMMING

Vocabulário
[en] REDIS

Vocabulário
[en] DATABASE DESIGN

Vocabulário
[en] LUA

Resumo
[pt] 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.

Resumo
[en] Redis is an open source key-value database that supports Lua programming language scripts, but it s implementation is single threaded. Long running scripts are discouraged because script evaluation is blocking, which may cause service levels deterioration. Applying the M:N threading model, which combines user and operating system threads, we added to Redis the ability of running scripts in parallel, leveraging all server cores.With the use of Lua coroutines, we implemented a scheduler able to allocate and suspend user-level tasks in the available cores without the need of changing scripts source code. The M:N model allowed us to protect the programmer from the natural complexities that arise from parallel programming, such as access to shared resources synchronization and scheduling of tasks into different operational system threads.

Orientador(es)
NOEMI DE LA ROCQUE RODRIGUEZ

Banca
ROBERTO IERUSALIMSCHY

Banca
NOEMI DE LA ROCQUE RODRIGUEZ

Banca
ANA LUCIA DE MOURA

Catalogação
2016-04-12

Apresentação
2015-09-03

Tipo
[pt] TEXTO

Formato
application/pdf

Idioma(s)
PORTUGUÊS

Referência [pt]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=26115@1

Referência [en]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=26115@2

Referência DOI
https://doi.org/10.17771/PUCRio.acad.26115


Arquivos do conteúdo
NA ÍNTEGRA PDF