Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados

Detalhes bibliográficos
Autor(a) principal: Silva, Rafael José do Nascimento
Data de Publicação: 2016
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UERJ
Texto Completo: http://www.bdtd.uerj.br/handle/1/7714
Resumo: 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
id UERJ_d8b9b79b3bc50c4d3c0900c44d9f2c55
oai_identifier_str oai:www.bdtd.uerj.br:1/7714
network_acronym_str UERJ
network_name_str Biblioteca Digital de Teses e Dissertações da UERJ
repository_id_str 2903
spelling Marzulo, Leandro Augusto Justenhttp://lattes.cnpq.br/4869894816851795Alves, Tiago Assumpção de OliveiraALVES, Tiago Assumpção de OliveiraSena, Alexandre da Costahttp://lattes.cnpq.br/1836363748488436Nascimento, Aline de PaulaNASCIMENTO, Aline de PaulaBentes, Cristiana Barbosahttp://lattes.cnpq.br/5522815415073059http://lattes.cnpq.br/9388533934773200Silva, Rafael José do Nascimento2021-01-05T17:54:35Z2018-04-102016-12-21SILVA, 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.http://www.bdtd.uerj.br/handle/1/7714Sucuri 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 clustersA 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 clustersSubmitted by Boris Flegr (boris@uerj.br) on 2021-01-05T17:54:35Z No. of bitstreams: 1 Rafael_CComp.pdf: 1503939 bytes, checksum: 3ca3e55c2c5e636672da785e34a637cc (MD5)Made available in DSpace on 2021-01-05T17:54:35Z (GMT). No. of bitstreams: 1 Rafael_CComp.pdf: 1503939 bytes, checksum: 3ca3e55c2c5e636672da785e34a637cc (MD5) Previous issue date: 2016-12-21application/pdfporUniversidade do Estado do Rio de JaneiroPrograma de Pós-Graduação em Ciências ComputacionaisUERJBRCentro de Tecnologia e Ciências::Instituto de Matemática e EstatísticaDataflowSucuriParalelismSchedulingWork-StealingDataflowSucuriParalelismoEscalonamentoBalanceamento de cargaPython (Linguagem de Programação de Computador)Escalonamento de produçãoCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOEstratégias de escalonamento para ambientes de execução guiada por fluxo de dadosScheduling Strategies for Dataflow Guided Execution Environmentsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UERJinstname:Universidade do Estado do Rio de Janeiro (UERJ)instacron:UERJORIGINALRafael_CComp.pdfapplication/pdf1503939http://www.bdtd.uerj.br/bitstream/1/7714/1/Rafael_CComp.pdf3ca3e55c2c5e636672da785e34a637ccMD511/77142024-02-27 14:34:50.824oai:www.bdtd.uerj.br:1/7714Biblioteca Digital de Teses e Dissertaçõeshttp://www.bdtd.uerj.br/PUBhttps://www.bdtd.uerj.br:8443/oai/requestbdtd.suporte@uerj.bropendoar:29032024-02-27T17:34:50Biblioteca Digital de Teses e Dissertações da UERJ - Universidade do Estado do Rio de Janeiro (UERJ)false
dc.title.por.fl_str_mv Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados
dc.title.alternative.eng.fl_str_mv Scheduling Strategies for Dataflow Guided Execution Environments
title Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados
spellingShingle Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados
Silva, Rafael José do Nascimento
Dataflow
Sucuri
Paralelism
Scheduling
Work-Stealing
Dataflow
Sucuri
Paralelismo
Escalonamento
Balanceamento de carga
Python (Linguagem de Programação de Computador)
Escalonamento de produção
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados
title_full Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados
title_fullStr Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados
title_full_unstemmed Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados
title_sort Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados
author Silva, Rafael José do Nascimento
author_facet Silva, Rafael José do Nascimento
author_role author
dc.contributor.advisor1.fl_str_mv Marzulo, Leandro Augusto Justen
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/4869894816851795
dc.contributor.advisor-co1.fl_str_mv Alves, Tiago Assumpção de Oliveira
dc.contributor.advisor-co1Lattes.fl_str_mv ALVES, Tiago Assumpção de Oliveira
dc.contributor.referee1.fl_str_mv Sena, Alexandre da Costa
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/1836363748488436
dc.contributor.referee2.fl_str_mv Nascimento, Aline de Paula
dc.contributor.referee2Lattes.fl_str_mv NASCIMENTO, Aline de Paula
dc.contributor.referee3.fl_str_mv Bentes, Cristiana Barbosa
dc.contributor.referee3Lattes.fl_str_mv http://lattes.cnpq.br/5522815415073059
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/9388533934773200
dc.contributor.author.fl_str_mv Silva, Rafael José do Nascimento
contributor_str_mv Marzulo, Leandro Augusto Justen
Alves, Tiago Assumpção de Oliveira
Sena, Alexandre da Costa
Nascimento, Aline de Paula
Bentes, Cristiana Barbosa
dc.subject.eng.fl_str_mv Dataflow
Sucuri
Paralelism
Scheduling
Work-Stealing
topic Dataflow
Sucuri
Paralelism
Scheduling
Work-Stealing
Dataflow
Sucuri
Paralelismo
Escalonamento
Balanceamento de carga
Python (Linguagem de Programação de Computador)
Escalonamento de produção
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.por.fl_str_mv Dataflow
Sucuri
Paralelismo
Escalonamento
Balanceamento de carga
Python (Linguagem de Programação de Computador)
Escalonamento de produção
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description 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
publishDate 2016
dc.date.issued.fl_str_mv 2016-12-21
dc.date.available.fl_str_mv 2018-04-10
dc.date.accessioned.fl_str_mv 2021-01-05T17:54:35Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv http://www.bdtd.uerj.br/handle/1/7714
identifier_str_mv 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.
url http://www.bdtd.uerj.br/handle/1/7714
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.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade do Estado do Rio de Janeiro
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciências Computacionais
dc.publisher.initials.fl_str_mv UERJ
dc.publisher.country.fl_str_mv BR
dc.publisher.department.fl_str_mv Centro de Tecnologia e Ciências::Instituto de Matemática e Estatística
publisher.none.fl_str_mv Universidade do Estado do Rio de Janeiro
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UERJ
instname:Universidade do Estado do Rio de Janeiro (UERJ)
instacron:UERJ
instname_str Universidade do Estado do Rio de Janeiro (UERJ)
instacron_str UERJ
institution UERJ
reponame_str Biblioteca Digital de Teses e Dissertações da UERJ
collection Biblioteca Digital de Teses e Dissertações da UERJ
bitstream.url.fl_str_mv http://www.bdtd.uerj.br/bitstream/1/7714/1/Rafael_CComp.pdf
bitstream.checksum.fl_str_mv 3ca3e55c2c5e636672da785e34a637cc
bitstream.checksumAlgorithm.fl_str_mv MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UERJ - Universidade do Estado do Rio de Janeiro (UERJ)
repository.mail.fl_str_mv bdtd.suporte@uerj.br
_version_ 1811728630277996544