Exportar este item: EndNote BibTex

Use este identificador para citar ou linkar para este item: http://www.bdtd.uerj.br/handle/1/7714
Tipo do documento: Dissertação
Título: Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados
Título(s) alternativo(s): Scheduling Strategies for Dataflow Guided Execution Environments
Autor: Silva, Rafael José do Nascimento 
Primeiro orientador: Marzulo, Leandro Augusto Justen
Primeiro coorientador: Alves, Tiago Assumpção de Oliveira
Primeiro membro da banca: Sena, Alexandre da Costa
Segundo membro da banca: Nascimento, Aline de Paula
Terceiro membro da banca: Bentes, Cristiana Barbosa
Resumo: A Sucuri é uma biblioteca em Python que provê programação dataflow através de uma sintaxe razoavelmente simples. Ela permite uma execução transparente em clusters explorando de forma natural o paralelismo. Na Sucuri, o programador instancia o grafo dataflow, onde cada nó está associado a uma função e as arestas representam as dependências de dados entre os nós. A implementação original da Sucuri, utiliza um escalonador centralizado, que gera altos custos de comunicação, principalmente em clusters com um elevado número de máquinas. Neste trabalho nós modificamos a Sucuri de modo que cada máquina no cluster tenha seu próprio escalonador. Antes da execução, o Grafo dataflow é particionado e os nós são distribuídos entre as máquinas do cluster. Em tempo de execução os trabalhadores livres de cada máquina recebem tarefas da fila de prontos de seu escalonador local. Quando uma máquina termina de executar sua lista de nós, ela irá solicitar às outras máquinas, que estejam sobrecarregadas, parte das tarefas que estejam nas suas filas de prontos. Os resultados experimentais confirmam que a solução pode reduzir o tempo gasto com comunicação e aumentar o desempenho em grandes clusters
Abstract: Sucuri is a minimalistic Python library that provides dataflow programming through a reasonably simple syntax. It allows transparent execution on computer clusters and natural exploitation of parallelism. In Sucuri, programmers instantiate a dataflow graph, where each node is assigned to a function and edges represent data dependencies between nodes. The original implementation of Sucuri adopts a centralized scheduler, which incurs high communication overheads, specially in clusters with a large number of machines. In this paper we modify Sucuri so that each machine in a cluster will have its own scheduler. Before execution, the dataflow graph is partitioned, so that nodes can be distributed among the machines of the cluster. In runtime, idle workers will grab tasks from a ready queue in their local scheduler. When a machine finishes running their list of nodes, it will request the other machines, which are overloaded, the tasks of their ready queue. Experimental results confirm that the solution can reduce communication overheads, improving performance in larger clusters
Palavras-chave: Dataflow
Sucuri
Paralelism
Scheduling
Work-Stealing
Dataflow
Sucuri
Paralelismo
Escalonamento
Balanceamento de carga
Python (Linguagem de Programação de Computador)
Escalonamento de produção
Área(s) do CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Idioma: por
País: BR
Instituição: Universidade do Estado do Rio de Janeiro
Sigla da instituição: UERJ
Departamento: Centro de Tecnologia e Ciências::Instituto de Matemática e Estatística
Programa: Programa de Pós-Graduação em Ciências Computacionais
Citação: SILVA, Rafael José do Nascimento. Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados. 2016. 62 f. Dissertação (Mestrado em Modelagem matemático-estatístico-computacional) - Universidade do Estado do Rio de Janeiro, Rio de Janeiro, 2016.
Tipo de acesso: Acesso Aberto
URI: http://www.bdtd.uerj.br/handle/1/7714
Data de defesa: 21-Dez-2016
Aparece nas coleções:Mestrado em Ciências Computacionais

Arquivos associados a este item:
Arquivo TamanhoFormato 
Rafael_CComp.pdf1,47 MBAdobe PDFBaixar/Abrir Pré-Visualizar


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.