1 |
[en] LUACHARM: A HYBRID MODEL USING SCRIPTING LANGUAGES FOR PARALEL PROGRAMMING / [pt] LUACHARM: UM MODELO HÍBRIDO UTILIZANDO LINGUAGENS DE SCRIPT PARA PROGRAMAÇÃO PARALELATHIAGO COSTA PONTE 12 June 2017 (has links)
[pt] Nos últimos anos, as linguagens de script ganharam muita importância em diversas áreas da computação. Uma das áreas onde essas linguagens ainda são pouco exploradas é na área de computação paralela. A computação paralela sempre foi fortemente associada a computação científica, mas recentemente ela ganhou uma nova importância com a popularização de processadores multi-core. Com esse crescimento se torna necessário o surgimento de novos paradigmas de programação paralela para facilitar o desenvolvimento e dinamizar as aplicações, e linguagens de script podem ser usadas para isso, trazendo dinamismo, simplicidade e flexibilidade às aplicações. Esta dissertação visa estudar um modelo híbrido de programação entre duas linguagens de programação, Lua e Charm plus plus. / [en] Recently, scripting languages have become very important in many fields of computer science. One area in which these languages have not been explored is paralel programming. Paralel programming has always been strongly associated with scientific usage, but recently, with the growth in popularity of multi core systems, it has gained a new field of action. With this change, the development of new programming paradigms of paralel programming become necessary in order to make development easier and applications more dynamic. Scripting languages may be used for this, bringing dynamics, flexibility and simplicity to aplications. This dissertation aims to study a hybrid programming model with two programming languages, Charm plus plus and Lua.
|
2 |
[en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE / [pt] PROGRAMAÇÃO PARALELA NO BANCO DE DADOS CHAVE-VALOR REDISJUAREZ DA SILVA BOCHI 12 April 2016 (has links)
[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.
|
Page generated in 0.0425 seconds