Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFMG |
Texto Completo: | http://hdl.handle.net/1843/44157 |
Resumo: | A popularização das aplicações online e intensas em dados nos últimos anos trouxe consigo novos desafios à computação. Apesar de a flexibilidade e a elasticidade da computação em nuvem terem facilitado a alocação de recursos de hardware e software sob demanda, a heterogeneidade e a irregularidade nos padrões de acesso das aplicações massivas em dados, por outro lado, tornaram esta tarefa mais desafiadora. Em consequência, a combinação destas características tornam a previsão de desempenho (p. ex: previsão do tempo de resposta das aplicações) mais complexa. Sendo assim, este trabalho explora dois modelos analíticos para a previsão do tempo de resposta de aplicações paralelas na plataforma Spark, muito popular para processamento de grandes volumes de dados. O primeiro modelo é baseado em um fork/join, no qual uma aplicação é dividida em N tarefas que são processadas em paralelo em múltiplos servidores. Este modelo captura o tempo do servidor mais lento para computar os atrasos de sincronização. O segundo modelo é baseado em teoria de filas e considera a precedência entre as tarefas para estimar os atrasos de sincronização. Múltiplos cenários experimentais são considerados, incluindo atividades recorrentes como o wordcount, algoritmos frequentemente utilizados em aprendizado de máquina, como o SVM, o Logistic Regression e o K-Means, e consultas ad-hoc comuns em análise de dados. Para o modelo baseado em precedência de tarefas, os resultados das previsões apresentaram erro médio inferior a 20% para a maioria dos cenários, considerado tipicamente baixo para modelos analíticos. Ainda, com um tempo de execução na casa dos milissegundos, este modelo se mostrou eficaz para a reconfiguração dinâmica de sistemas paralelos, tarefa importante na garantia de qualidade de serviço das aplicações massivas em dados. Ambos os modelos fork/join e de precedência de tarefas são comparados com o modelo de simulação DagSim, considerado estado da arte para previsão de desempenho de aplicações Hadoop e Spark. |
id |
UFMG_c971977917c8a6eae5a93cfff044fad0 |
---|---|
oai_identifier_str |
oai:repositorio.ufmg.br:1843/44157 |
network_acronym_str |
UFMG |
network_name_str |
Repositório Institucional da UFMG |
repository_id_str |
|
spelling |
Jussara Marques de Almeidahttp://lattes.cnpq.br/3286329883412205Ana Paula Couto da SilvaFabrício Murai FerreiraDorgival Olavo Guedes Netohttp://lattes.cnpq.br/9963538235164080Tulio Braga Moreira Pinto2022-08-10T19:28:11Z2022-08-10T19:28:11Z2019-07-15http://hdl.handle.net/1843/44157A popularização das aplicações online e intensas em dados nos últimos anos trouxe consigo novos desafios à computação. Apesar de a flexibilidade e a elasticidade da computação em nuvem terem facilitado a alocação de recursos de hardware e software sob demanda, a heterogeneidade e a irregularidade nos padrões de acesso das aplicações massivas em dados, por outro lado, tornaram esta tarefa mais desafiadora. Em consequência, a combinação destas características tornam a previsão de desempenho (p. ex: previsão do tempo de resposta das aplicações) mais complexa. Sendo assim, este trabalho explora dois modelos analíticos para a previsão do tempo de resposta de aplicações paralelas na plataforma Spark, muito popular para processamento de grandes volumes de dados. O primeiro modelo é baseado em um fork/join, no qual uma aplicação é dividida em N tarefas que são processadas em paralelo em múltiplos servidores. Este modelo captura o tempo do servidor mais lento para computar os atrasos de sincronização. O segundo modelo é baseado em teoria de filas e considera a precedência entre as tarefas para estimar os atrasos de sincronização. Múltiplos cenários experimentais são considerados, incluindo atividades recorrentes como o wordcount, algoritmos frequentemente utilizados em aprendizado de máquina, como o SVM, o Logistic Regression e o K-Means, e consultas ad-hoc comuns em análise de dados. Para o modelo baseado em precedência de tarefas, os resultados das previsões apresentaram erro médio inferior a 20% para a maioria dos cenários, considerado tipicamente baixo para modelos analíticos. Ainda, com um tempo de execução na casa dos milissegundos, este modelo se mostrou eficaz para a reconfiguração dinâmica de sistemas paralelos, tarefa importante na garantia de qualidade de serviço das aplicações massivas em dados. Ambos os modelos fork/join e de precedência de tarefas são comparados com o modelo de simulação DagSim, considerado estado da arte para previsão de desempenho de aplicações Hadoop e Spark.The popularity of online and data-intensive applications presented new challenges to computing. Although cloud computing technology has enabled on-demand resource scheduling, the data access heterogeneity and irregularity of data-intensive applications have increased the difficulty of both hardware and software resource scheduling. Nonetheless, the performance prediction (e.g.: response time) of such applications increase in complexity as all these characteristics are combined. Thus, this research explores two analytical models for the response time prediction of parallel applications running on Apache Spark, one of the most popular frameworks for massive data-processing. The first model is based on a fork/join queues, in which an application is split into N tasks and processed in parallel in multiple servers. This model captures the synchronization delays perceived in the slowest server. The second model is based on queuing networks. It considers the precedence relationship between the application tasks to compute the synchronization delays. Multiple experimental scenarios were considered, including the parallel wordcount algorithm, machine learning common algorithms, such as SVM, Logistic Regression, and K-Means, and ad-hoc data analytics queries. The precedence relationship model presented a mean error less than 20% for most of the experimental scenarios, which is typically considered reasonable for analytical models. Yet, both models presented execution times in the range of milliseconds. Such a low execution time enables the usage of the models for the dynamic provisioning of parallel systems, an important task to guarantee the quality of service of massive data-processing applications. Both the analytical models were compared to the DagSim simulation model, the state-of-art model for performance prediction of Hadoop and Spark applications.Outra AgênciaporUniversidade Federal de Minas GeraisPrograma de Pós-Graduação em Ciência da ComputaçãoUFMGBrasilICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃOhttp://creativecommons.org/licenses/by-nc-nd/3.0/pt/info:eu-repo/semantics/openAccessComputação – TesesComputação em nuvem – TesesSistemas distribuídos – TesesProcessamento massivo de dados – TesesPrevisão de desempenhoComputação em nuvemSparkProcessamento massivo de dadosAplicações paralelasSistemas distribuídosPrevisão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvemResponse time prediction of parallel applications for big data processing in cloud environmentsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGLICENSElicense.txtlicense.txttext/plain; charset=utf-82118https://repositorio.ufmg.br/bitstream/1843/44157/5/license.txtcda590c95a0b51b4d15f60c9642ca272MD55ORIGINALDissertacao-Tulio-Aprovada-Catalografica-Final-2022.pdfDissertacao-Tulio-Aprovada-Catalografica-Final-2022.pdfDissertação de mestrado "Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem"application/pdf1396282https://repositorio.ufmg.br/bitstream/1843/44157/4/Dissertacao-Tulio-Aprovada-Catalografica-Final-2022.pdff776634c896dfb8f4fac8db03fd41d97MD54CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufmg.br/bitstream/1843/44157/2/license_rdfcfd6801dba008cb6adbd9838b81582abMD521843/441572022-08-10 16:28:11.4oai:repositorio.ufmg.br:1843/44157TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEgRE8gUkVQT1NJVMOTUklPIElOU1RJVFVDSU9OQUwgREEgVUZNRwoKQ29tIGEgYXByZXNlbnRhw6fDo28gZGVzdGEgbGljZW7Dp2EsIHZvY8OqIChvIGF1dG9yIChlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSBhbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIChSSS1VRk1HKSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZSBpcnJldm9nw6F2ZWwgZGUgcmVwcm9kdXppciBlL291IGRpc3RyaWJ1aXIgYSBzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBvdSB2w61kZW8uCgpWb2PDqiBkZWNsYXJhIHF1ZSBjb25oZWNlIGEgcG9sw610aWNhIGRlIGNvcHlyaWdodCBkYSBlZGl0b3JhIGRvIHNldSBkb2N1bWVudG8gZSBxdWUgY29uaGVjZSBlIGFjZWl0YSBhcyBEaXJldHJpemVzIGRvIFJJLVVGTUcuCgpWb2PDqiBjb25jb3JkYSBxdWUgbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGTUcgcG9kZSBtYW50ZXIgbWFpcyBkZSB1bWEgY8OzcGlhIGRlIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBmaW5zIGRlIHNlZ3VyYW7Dp2EsIGJhY2stdXAgZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogZGVjbGFyYSBxdWUgYSBzdWEgcHVibGljYcOnw6NvIMOpIG9yaWdpbmFsIGUgcXVlIHZvY8OqIHRlbSBvIHBvZGVyIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRlIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgZGUgbmluZ3XDqW0uCgpDYXNvIGEgc3VhIHB1YmxpY2HDp8OjbyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvIGRhIHB1YmxpY2HDp8OjbyBvcmEgZGVwb3NpdGFkYS4KCkNBU08gQSBQVUJMSUNBw4fDg08gT1JBIERFUE9TSVRBREEgVEVOSEEgU0lETyBSRVNVTFRBRE8gREUgVU0gUEFUUk9Dw41OSU8gT1UgQVBPSU8gREUgVU1BIEFHw4pOQ0lBIERFIEZPTUVOVE8gT1UgT1VUUk8gT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgRVhJR0lEQVMgUE9SIENPTlRSQVRPIE9VIEFDT1JETy4KCk8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lKHMpIG91IG8ocykgbm9tZXMocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2022-08-10T19:28:11Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false |
dc.title.pt_BR.fl_str_mv |
Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem |
dc.title.alternative.pt_BR.fl_str_mv |
Response time prediction of parallel applications for big data processing in cloud environments |
title |
Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem |
spellingShingle |
Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem Tulio Braga Moreira Pinto Previsão de desempenho Computação em nuvem Spark Processamento massivo de dados Aplicações paralelas Sistemas distribuídos Computação – Teses Computação em nuvem – Teses Sistemas distribuídos – Teses Processamento massivo de dados – Teses |
title_short |
Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem |
title_full |
Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem |
title_fullStr |
Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem |
title_full_unstemmed |
Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem |
title_sort |
Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem |
author |
Tulio Braga Moreira Pinto |
author_facet |
Tulio Braga Moreira Pinto |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Jussara Marques de Almeida |
dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/3286329883412205 |
dc.contributor.advisor-co1.fl_str_mv |
Ana Paula Couto da Silva |
dc.contributor.referee1.fl_str_mv |
Fabrício Murai Ferreira |
dc.contributor.referee2.fl_str_mv |
Dorgival Olavo Guedes Neto |
dc.contributor.authorLattes.fl_str_mv |
http://lattes.cnpq.br/9963538235164080 |
dc.contributor.author.fl_str_mv |
Tulio Braga Moreira Pinto |
contributor_str_mv |
Jussara Marques de Almeida Ana Paula Couto da Silva Fabrício Murai Ferreira Dorgival Olavo Guedes Neto |
dc.subject.por.fl_str_mv |
Previsão de desempenho Computação em nuvem Spark Processamento massivo de dados Aplicações paralelas Sistemas distribuídos |
topic |
Previsão de desempenho Computação em nuvem Spark Processamento massivo de dados Aplicações paralelas Sistemas distribuídos Computação – Teses Computação em nuvem – Teses Sistemas distribuídos – Teses Processamento massivo de dados – Teses |
dc.subject.other.pt_BR.fl_str_mv |
Computação – Teses Computação em nuvem – Teses Sistemas distribuídos – Teses Processamento massivo de dados – Teses |
description |
A popularização das aplicações online e intensas em dados nos últimos anos trouxe consigo novos desafios à computação. Apesar de a flexibilidade e a elasticidade da computação em nuvem terem facilitado a alocação de recursos de hardware e software sob demanda, a heterogeneidade e a irregularidade nos padrões de acesso das aplicações massivas em dados, por outro lado, tornaram esta tarefa mais desafiadora. Em consequência, a combinação destas características tornam a previsão de desempenho (p. ex: previsão do tempo de resposta das aplicações) mais complexa. Sendo assim, este trabalho explora dois modelos analíticos para a previsão do tempo de resposta de aplicações paralelas na plataforma Spark, muito popular para processamento de grandes volumes de dados. O primeiro modelo é baseado em um fork/join, no qual uma aplicação é dividida em N tarefas que são processadas em paralelo em múltiplos servidores. Este modelo captura o tempo do servidor mais lento para computar os atrasos de sincronização. O segundo modelo é baseado em teoria de filas e considera a precedência entre as tarefas para estimar os atrasos de sincronização. Múltiplos cenários experimentais são considerados, incluindo atividades recorrentes como o wordcount, algoritmos frequentemente utilizados em aprendizado de máquina, como o SVM, o Logistic Regression e o K-Means, e consultas ad-hoc comuns em análise de dados. Para o modelo baseado em precedência de tarefas, os resultados das previsões apresentaram erro médio inferior a 20% para a maioria dos cenários, considerado tipicamente baixo para modelos analíticos. Ainda, com um tempo de execução na casa dos milissegundos, este modelo se mostrou eficaz para a reconfiguração dinâmica de sistemas paralelos, tarefa importante na garantia de qualidade de serviço das aplicações massivas em dados. Ambos os modelos fork/join e de precedência de tarefas são comparados com o modelo de simulação DagSim, considerado estado da arte para previsão de desempenho de aplicações Hadoop e Spark. |
publishDate |
2019 |
dc.date.issued.fl_str_mv |
2019-07-15 |
dc.date.accessioned.fl_str_mv |
2022-08-10T19:28:11Z |
dc.date.available.fl_str_mv |
2022-08-10T19:28:11Z |
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/1843/44157 |
url |
http://hdl.handle.net/1843/44157 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/3.0/pt/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc-nd/3.0/pt/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais |
dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação em Ciência da Computação |
dc.publisher.initials.fl_str_mv |
UFMG |
dc.publisher.country.fl_str_mv |
Brasil |
dc.publisher.department.fl_str_mv |
ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO |
publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFMG instname:Universidade Federal de Minas Gerais (UFMG) instacron:UFMG |
instname_str |
Universidade Federal de Minas Gerais (UFMG) |
instacron_str |
UFMG |
institution |
UFMG |
reponame_str |
Repositório Institucional da UFMG |
collection |
Repositório Institucional da UFMG |
bitstream.url.fl_str_mv |
https://repositorio.ufmg.br/bitstream/1843/44157/5/license.txt https://repositorio.ufmg.br/bitstream/1843/44157/4/Dissertacao-Tulio-Aprovada-Catalografica-Final-2022.pdf https://repositorio.ufmg.br/bitstream/1843/44157/2/license_rdf |
bitstream.checksum.fl_str_mv |
cda590c95a0b51b4d15f60c9642ca272 f776634c896dfb8f4fac8db03fd41d97 cfd6801dba008cb6adbd9838b81582ab |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG) |
repository.mail.fl_str_mv |
|
_version_ |
1797970962710265856 |