Escalonador distribuído de tarefas para o Apache Spark

Detalhes bibliográficos
Autor(a) principal: Ramirez, João Paulo de Freitas
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFRJ
Texto Completo: http://hdl.handle.net/11422/13042
Resumo: Frameworks de análises de grandes quantidades de dados possuem um papel de destaque na academia e na indústria. Eles tornam questões de paralelização e distribuição de computação transparentes a cientistas de dados, proporcionando-lhes maior produtividade no desenvolvimento e implementação de aplicações para análise de dados como algoritmos de aprendizagem de máquina e análises em streaming de dados. Entretanto, prover essa camada de abstração traz grandes desafios ao envolver questões como alto desempenho no uso de diversas unidades de processamento, nos mecanismos de comunicação e nos dispositivos de armazenamento. Um dos principais desafios está relacionado ao escalonamento de tarefas. Realizar essa ação de forma eficiente e escalável é de suma importância, visto que ela impacta significantemente o desempenho e a utilização de recursos computacionais. Este trabalho propõe uma estratégia hierárquica de distribuir o escalonamento de tarefas em Frameworks de análises de grandes quantidades de dados, introduzindo o escalonador assistente, cuja função é aliviar a carga do escalonador centralizado ao se responsabilizar por uma fração da carga de escalonamento. O Apache Spark foi o Framework utilizado para implementarmos uma versão do escalonador de tarefas distribuído hierárquico e para realizarmos experimentos comparativos para testar a escalabilidade da proposta. Utilizando 32 nós computacionais, os resultados mostram que a nossa prova de conceito mantém valores para tempos de execução semelhantes aos do Apache Spark original. Além disso, mostramos que, com o emprego dos escalonadores assistentes, conseguimos fazer melhor uso dos processadores dos nós durante a execução dos experimentos.
id UFRJ_547f97591f4221833c1cc1f55d26e928
oai_identifier_str oai:pantheon.ufrj.br:11422/13042
network_acronym_str UFRJ
network_name_str Repositório Institucional da UFRJ
repository_id_str
spelling Ramirez, João Paulo de Freitashttp://lattes.cnpq.br/9770406908381251http://lattes.cnpq.br/5630369455736798França, Felipe Maia GalvãoCastro, Maria Clicia Stelling deAmorim, Claudio Luís de2020-09-19T22:45:13Z2023-11-30T03:01:39Z2018-09http://hdl.handle.net/11422/13042Frameworks de análises de grandes quantidades de dados possuem um papel de destaque na academia e na indústria. Eles tornam questões de paralelização e distribuição de computação transparentes a cientistas de dados, proporcionando-lhes maior produtividade no desenvolvimento e implementação de aplicações para análise de dados como algoritmos de aprendizagem de máquina e análises em streaming de dados. Entretanto, prover essa camada de abstração traz grandes desafios ao envolver questões como alto desempenho no uso de diversas unidades de processamento, nos mecanismos de comunicação e nos dispositivos de armazenamento. Um dos principais desafios está relacionado ao escalonamento de tarefas. Realizar essa ação de forma eficiente e escalável é de suma importância, visto que ela impacta significantemente o desempenho e a utilização de recursos computacionais. Este trabalho propõe uma estratégia hierárquica de distribuir o escalonamento de tarefas em Frameworks de análises de grandes quantidades de dados, introduzindo o escalonador assistente, cuja função é aliviar a carga do escalonador centralizado ao se responsabilizar por uma fração da carga de escalonamento. O Apache Spark foi o Framework utilizado para implementarmos uma versão do escalonador de tarefas distribuído hierárquico e para realizarmos experimentos comparativos para testar a escalabilidade da proposta. Utilizando 32 nós computacionais, os resultados mostram que a nossa prova de conceito mantém valores para tempos de execução semelhantes aos do Apache Spark original. Além disso, mostramos que, com o emprego dos escalonadores assistentes, conseguimos fazer melhor uso dos processadores dos nós durante a execução dos experimentos.Data intensive frameworks have a featured role in industry and academia. They make computation distribution and parallelization transparent to data scientists providing them greater productivity in data analytics application development like machine learning and deep learning algorithms implementations. However, in order to provide this abstraction layer several issues emerge like obtaining good performance when using many processing units, handling communication and coping with storage devices. One of the most relevant challenges is related with task scheduling. Perform this action in an efficient and scalable manner is very important, since it impacts significantly computing resources performance and utilization. This work proposes an hierarchical manner of distributing task scheduling in data intensive frameworks, introducing the scheduler assistant whose role is alleviate central scheduler job as it takes responsibility of a share of the scheduling load. We use Apache Spark for implementing a version of the hierarchical distributed task scheduler and to perform comparative experiments for testing the proposal scalability. Using 32 computational nodes, results show our proof of concept maintains execution times values similar to those found with the original version of Apache Spark. Moreover we show that deploying scheduler assistants the system can better utilize computational nodes processors during experiments executions. Finally, we expose a bottleneck due the centralization of scheduling decisions at Apache Spark execution model.Submitted by Moreno Barros (moreno@ct.ufrj.br) on 2020-09-19T22:45:13Z No. of bitstreams: 1 JoaoPauloDeFreitasRamirez.pdf: 2212307 bytes, checksum: b8e5b24b9c721fdbcc0b982fe4278446 (MD5)Made available in DSpace on 2020-09-19T22:45:13Z (GMT). No. of bitstreams: 1 JoaoPauloDeFreitasRamirez.pdf: 2212307 bytes, checksum: b8e5b24b9c721fdbcc0b982fe4278446 (MD5) Previous issue date: 2018-09porUniversidade Federal do Rio de JaneiroPrograma de Pós-Graduação em Engenharia de Sistemas e ComputaçãoUFRJBrasilInstituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de EngenhariaCNPQ::ENGENHARIASEscalonamentoDistribuídoApache SparkEscalonador distribuído de tarefas para o Apache Sparkinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisabertoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRJinstname:Universidade Federal do Rio de Janeiro (UFRJ)instacron:UFRJORIGINALJoaoPauloDeFreitasRamirez.pdfJoaoPauloDeFreitasRamirez.pdfapplication/pdf2212307http://pantheon.ufrj.br:80/bitstream/11422/13042/1/JoaoPauloDeFreitasRamirez.pdfb8e5b24b9c721fdbcc0b982fe4278446MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81853http://pantheon.ufrj.br:80/bitstream/11422/13042/2/license.txtdd32849f2bfb22da963c3aac6e26e255MD5211422/130422023-11-30 00:01:39.936oai:pantheon.ufrj.br:11422/13042TElDRU7Dh0EgTsODTy1FWENMVVNJVkEgREUgRElTVFJJQlVJw4fDg08KCkFvIGFzc2luYXIgZSBlbnRyZWdhciBlc3RhIGxpY2Vuw6dhLCB2b2PDqihzKSBvKHMpIGF1dG9yKGVzKSBvdSBwcm9wcmlldMOhcmlvKHMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBjb25jZWRlKG0pIGFvIFJlcG9zaXTDs3JpbyBQYW50aGVvbiBkYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gZGUgSmFuZWlybyAoVUZSSikgbyBkaXJlaXRvIG7Do28gLSBleGNsdXNpdm8gZGUgcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vKSBlbSB0b2RvIG8gbXVuZG8sIGVtIGZvcm1hdG8gZWxldHLDtG5pY28gZSBlbSBxdWFscXVlciBtZWlvLCBpbmNsdWluZG8sIG1hcyBuw6NvIGxpbWl0YWRvIGEgw6F1ZGlvIGUvb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIGEgVUZSSiBwb2RlLCBzZW0gYWx0ZXJhciBvIGNvbnRlw7pkbywgdHJhZHV6aXIgYSBhcHJlc2VudGHDp8OjbyBkZSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gY29tIGEgZmluYWxpZGFkZSBkZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogdGFtYsOpbSBjb25jb3JkYSBxdWUgYSBVRlJKIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXNzYSBzdWJtaXNzw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8OjbyBkaWdpdGFsLgoKRGVjbGFyYSBxdWUgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgc2V1IHRyYWJhbGhvIG9yaWdpbmFsLCBlIHF1ZSB2b2PDqiB0ZW0gbyBkaXJlaXRvIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIGEgc3VhIGFwcmVzZW50YcOnw6NvLCBjb20gbyBtZWxob3IgZGUgc2V1cyBjb25oZWNpbWVudG9zLCBuw6NvIGluZnJpbmdpIGRpcmVpdG9zIGF1dG9yYWlzIGRlIHRlcmNlaXJvcy4KClNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCB2b2PDqiBuw6NvIHRlbSBkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBlIGNvbmNlZGUgYSBVRlJKIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRhIHN1Ym1pc3PDo28uCgpTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIHF1ZSBmb2ksIG91IHRlbSBzaWRvIHBhdHJvY2luYWRvIG91IGFwb2lhZG8gcG9yIHVtYSBhZ8OqbmNpYSBvdSBvdXRybyhzKSBvcmdhbmlzbW8ocykgcXVlIG7Do28gYSBVRlJKLCB2b2PDqiBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWxxdWVyIGRpcmVpdG8gZGUgUkVWSVPDg08gb3UgZGUgb3V0cmFzIG9icmlnYcOnw7VlcyByZXF1ZXJpZGFzIHBvciBjb250cmF0byBvdSBhY29yZG8uCgpBIFVGUkogaXLDoSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8ocykgc2V1KHMpIG5vbWUocykgY29tbyBhdXRvcihlcykgb3UgcHJvcHJpZXTDoXJpbyhzKSBkYSBzdWJtaXNzw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZGFzIHBlcm1pdGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EsIG5vIGF0byBkZSBzdWJtaXNzw6NvLgo=Repositório de PublicaçõesPUBhttp://www.pantheon.ufrj.br/oai/requestopendoar:2023-11-30T03:01:39Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)false
dc.title.pt_BR.fl_str_mv Escalonador distribuído de tarefas para o Apache Spark
title Escalonador distribuído de tarefas para o Apache Spark
spellingShingle Escalonador distribuído de tarefas para o Apache Spark
Ramirez, João Paulo de Freitas
CNPQ::ENGENHARIAS
Escalonamento
Distribuído
Apache Spark
title_short Escalonador distribuído de tarefas para o Apache Spark
title_full Escalonador distribuído de tarefas para o Apache Spark
title_fullStr Escalonador distribuído de tarefas para o Apache Spark
title_full_unstemmed Escalonador distribuído de tarefas para o Apache Spark
title_sort Escalonador distribuído de tarefas para o Apache Spark
author Ramirez, João Paulo de Freitas
author_facet Ramirez, João Paulo de Freitas
author_role author
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/9770406908381251
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/5630369455736798
dc.contributor.author.fl_str_mv Ramirez, João Paulo de Freitas
dc.contributor.referee1.fl_str_mv França, Felipe Maia Galvão
dc.contributor.referee2.fl_str_mv Castro, Maria Clicia Stelling de
dc.contributor.advisor1.fl_str_mv Amorim, Claudio Luís de
contributor_str_mv França, Felipe Maia Galvão
Castro, Maria Clicia Stelling de
Amorim, Claudio Luís de
dc.subject.cnpq.fl_str_mv CNPQ::ENGENHARIAS
topic CNPQ::ENGENHARIAS
Escalonamento
Distribuído
Apache Spark
dc.subject.por.fl_str_mv Escalonamento
Distribuído
Apache Spark
description Frameworks de análises de grandes quantidades de dados possuem um papel de destaque na academia e na indústria. Eles tornam questões de paralelização e distribuição de computação transparentes a cientistas de dados, proporcionando-lhes maior produtividade no desenvolvimento e implementação de aplicações para análise de dados como algoritmos de aprendizagem de máquina e análises em streaming de dados. Entretanto, prover essa camada de abstração traz grandes desafios ao envolver questões como alto desempenho no uso de diversas unidades de processamento, nos mecanismos de comunicação e nos dispositivos de armazenamento. Um dos principais desafios está relacionado ao escalonamento de tarefas. Realizar essa ação de forma eficiente e escalável é de suma importância, visto que ela impacta significantemente o desempenho e a utilização de recursos computacionais. Este trabalho propõe uma estratégia hierárquica de distribuir o escalonamento de tarefas em Frameworks de análises de grandes quantidades de dados, introduzindo o escalonador assistente, cuja função é aliviar a carga do escalonador centralizado ao se responsabilizar por uma fração da carga de escalonamento. O Apache Spark foi o Framework utilizado para implementarmos uma versão do escalonador de tarefas distribuído hierárquico e para realizarmos experimentos comparativos para testar a escalabilidade da proposta. Utilizando 32 nós computacionais, os resultados mostram que a nossa prova de conceito mantém valores para tempos de execução semelhantes aos do Apache Spark original. Além disso, mostramos que, com o emprego dos escalonadores assistentes, conseguimos fazer melhor uso dos processadores dos nós durante a execução dos experimentos.
publishDate 2018
dc.date.issued.fl_str_mv 2018-09
dc.date.accessioned.fl_str_mv 2020-09-19T22:45:13Z
dc.date.available.fl_str_mv 2023-11-30T03:01:39Z
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.uri.fl_str_mv http://hdl.handle.net/11422/13042
url http://hdl.handle.net/11422/13042
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 Universidade Federal do Rio de Janeiro
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Engenharia de Sistemas e Computação
dc.publisher.initials.fl_str_mv UFRJ
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia
publisher.none.fl_str_mv Universidade Federal do Rio de Janeiro
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRJ
instname:Universidade Federal do Rio de Janeiro (UFRJ)
instacron:UFRJ
instname_str Universidade Federal do Rio de Janeiro (UFRJ)
instacron_str UFRJ
institution UFRJ
reponame_str Repositório Institucional da UFRJ
collection Repositório Institucional da UFRJ
bitstream.url.fl_str_mv http://pantheon.ufrj.br:80/bitstream/11422/13042/1/JoaoPauloDeFreitasRamirez.pdf
http://pantheon.ufrj.br:80/bitstream/11422/13042/2/license.txt
bitstream.checksum.fl_str_mv b8e5b24b9c721fdbcc0b982fe4278446
dd32849f2bfb22da963c3aac6e26e255
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)
repository.mail.fl_str_mv
_version_ 1784097188166500352