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

Detalhes bibliográficos
Autor(a) principal: JUAREZ DA SILVA BOCHI
Data de Publicação: 2016
Tipo de documento: Tese
Idioma: por
Título da fonte: Repositório Institucional da PUC-RIO (Projeto Maxwell)
Texto Completo: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=26115&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=26115&idi=2
http://doi.org/10.17771/PUCRio.acad.26115
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.
id PUC_RIO-1_24be7ec3a9f51f62c7e8f13de2b97648
oai_identifier_str oai:MAXWELL.puc-rio.br:26115
network_acronym_str PUC_RIO-1
network_name_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository_id_str 534
spelling [en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE [pt] PROGRAMAÇÃO PARALELA NO BANCO DE DADOS CHAVE-VALOR REDIS [pt] MODELOS DE CONCORRENCIA[pt] MODELO M :N[pt] PROGRAMACAO PARALELA[pt] REDIS[pt] BANCOS DE DADOS[pt] LUA[en] CONCURRENCY MODELS[en] M :N THREADING MODEL[en] PARALLEL PROGRAMMING[en] REDIS[en] DATABASE DESIGN[en] LUA[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.[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.MAXWELLNOEMI DE LA ROCQUE RODRIGUEZNOEMI DE LA ROCQUE RODRIGUEZJUAREZ DA SILVA BOCHI2016-04-12info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesishttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=26115&idi=1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=26115&idi=2http://doi.org/10.17771/PUCRio.acad.26115porreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2022-06-24T00:00:00Zoai:MAXWELL.puc-rio.br:26115Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342022-06-24T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false
dc.title.none.fl_str_mv [en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE
[pt] PROGRAMAÇÃO PARALELA NO BANCO DE DADOS CHAVE-VALOR REDIS
title [en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE
spellingShingle [en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE
JUAREZ DA SILVA BOCHI
[pt] MODELOS DE CONCORRENCIA
[pt] MODELO M :N
[pt] PROGRAMACAO PARALELA
[pt] REDIS
[pt] BANCOS DE DADOS
[pt] LUA
[en] CONCURRENCY MODELS
[en] M :N THREADING MODEL
[en] PARALLEL PROGRAMMING
[en] REDIS
[en] DATABASE DESIGN
[en] LUA
title_short [en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE
title_full [en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE
title_fullStr [en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE
title_full_unstemmed [en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE
title_sort [en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE
author JUAREZ DA SILVA BOCHI
author_facet JUAREZ DA SILVA BOCHI
author_role author
dc.contributor.none.fl_str_mv NOEMI DE LA ROCQUE RODRIGUEZ
NOEMI DE LA ROCQUE RODRIGUEZ
dc.contributor.author.fl_str_mv JUAREZ DA SILVA BOCHI
dc.subject.por.fl_str_mv [pt] MODELOS DE CONCORRENCIA
[pt] MODELO M :N
[pt] PROGRAMACAO PARALELA
[pt] REDIS
[pt] BANCOS DE DADOS
[pt] LUA
[en] CONCURRENCY MODELS
[en] M :N THREADING MODEL
[en] PARALLEL PROGRAMMING
[en] REDIS
[en] DATABASE DESIGN
[en] LUA
topic [pt] MODELOS DE CONCORRENCIA
[pt] MODELO M :N
[pt] PROGRAMACAO PARALELA
[pt] REDIS
[pt] BANCOS DE DADOS
[pt] LUA
[en] CONCURRENCY MODELS
[en] M :N THREADING MODEL
[en] PARALLEL PROGRAMMING
[en] REDIS
[en] DATABASE DESIGN
[en] LUA
description [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.
publishDate 2016
dc.date.none.fl_str_mv 2016-04-12
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=26115&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=26115&idi=2
http://doi.org/10.17771/PUCRio.acad.26115
url https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=26115&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=26115&idi=2
http://doi.org/10.17771/PUCRio.acad.26115
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv MAXWELL
publisher.none.fl_str_mv MAXWELL
dc.source.none.fl_str_mv reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)
instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron:PUC_RIO
instname_str Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron_str PUC_RIO
institution PUC_RIO
reponame_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
collection Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository.name.fl_str_mv Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
repository.mail.fl_str_mv
_version_ 1849967265704837120