Estratégias de escalonamento para ambientes de execução guiada por fluxo de dados
Autor(a) principal: | |
---|---|
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 |