Previsão do tempo de resposta de aplicações paralelas de processamento de dados massivos em ambientes de nuvem
| Ano de defesa: | 2019 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Universidade Federal de Minas Gerais
|
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | https://hdl.handle.net/1843/44157 |
Resumo: | 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. |
| 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 |
2022-08-10T19:28:11Z2025-09-09T01:17:42Z2022-08-10T19:28:11Z2019-07-15https://hdl.handle.net/1843/44157The 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 Geraishttp://creativecommons.org/licenses/by-nc-nd/3.0/pt/info:eu-repo/semantics/openAccessPrevisão de desempenhoComputação em nuvemSparkProcessamento massivo de dadosAplicações paralelasSistemas distribuídosComputação – TesesComputação em nuvem – TesesSistemas distribuídos – TesesProcessamento massivo de dados – TesesPrevisã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/masterThesisTulio Braga Moreira Pintoreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGhttp://lattes.cnpq.br/9963538235164080Jussara Marques de Almeidahttp://lattes.cnpq.br/3286329883412205Ana Paula Couto da SilvaFabrício Murai FerreiraDorgival Olavo Guedes NetoA 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.BrasilICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃOPrograma de Pós-Graduação em Ciência da ComputaçãoUFMGLICENSElicense.txttext/plain2118https://repositorio.ufmg.br//bitstreams/a66e4349-4106-4ee5-a22a-ac669f5e0f10/downloadcda590c95a0b51b4d15f60c9642ca272MD51falseAnonymousREADORIGINALDissertacao-Tulio-Aprovada-Catalografica-Final-2022.pdfapplication/pdf1396282https://repositorio.ufmg.br//bitstreams/b8867857-3ea9-42e2-9440-dca7ead6f3ba/downloadf776634c896dfb8f4fac8db03fd41d97MD52trueAnonymousREADCC-LICENSElicense_rdfapplication/octet-stream811https://repositorio.ufmg.br//bitstreams/8ce2f218-69f0-4cf3-bc97-37a19e297f86/downloadcfd6801dba008cb6adbd9838b81582abMD53falseAnonymousREADTEXTDissertacao-Tulio-Aprovada-Catalografica-Final-2022.pdf.txtDissertacao-Tulio-Aprovada-Catalografica-Final-2022.pdf.txtExtracted texttext/plain103391https://repositorio.ufmg.br//bitstreams/1524bcab-c1e4-4049-8e9e-851c3206e9b4/download59825e0b718a7e0da04e98d6f9af5a10MD54falseAnonymousREADTHUMBNAILDissertacao-Tulio-Aprovada-Catalografica-Final-2022.pdf.jpgDissertacao-Tulio-Aprovada-Catalografica-Final-2022.pdf.jpgGenerated Thumbnailimage/jpeg2576https://repositorio.ufmg.br//bitstreams/c5538af4-bee9-403f-b713-c6aa4e330275/downloadcc4c51f01aedb572d1c0689ad6f6ff5fMD55falseAnonymousREAD1843/441572025-09-09 15:59:01.373http://creativecommons.org/licenses/by-nc-nd/3.0/pt/Acesso Abertoopen.accessoai:repositorio.ufmg.br:1843/44157https://repositorio.ufmg.br/Repositório InstitucionalPUBhttps://repositorio.ufmg.br/oairepositorio@ufmg.bropendoar:2025-09-09T18:59:01Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)falseTElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEgRE8gUkVQT1NJVMOTUklPIElOU1RJVFVDSU9OQUwgREEgVUZNRwoKQ29tIGEgYXByZXNlbnRhw6fDo28gZGVzdGEgbGljZW7Dp2EsIHZvY8OqIChvIGF1dG9yIChlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSBhbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIChSSS1VRk1HKSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZSBpcnJldm9nw6F2ZWwgZGUgcmVwcm9kdXppciBlL291IGRpc3RyaWJ1aXIgYSBzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBvdSB2w61kZW8uCgpWb2PDqiBkZWNsYXJhIHF1ZSBjb25oZWNlIGEgcG9sw610aWNhIGRlIGNvcHlyaWdodCBkYSBlZGl0b3JhIGRvIHNldSBkb2N1bWVudG8gZSBxdWUgY29uaGVjZSBlIGFjZWl0YSBhcyBEaXJldHJpemVzIGRvIFJJLVVGTUcuCgpWb2PDqiBjb25jb3JkYSBxdWUgbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGTUcgcG9kZSBtYW50ZXIgbWFpcyBkZSB1bWEgY8OzcGlhIGRlIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBmaW5zIGRlIHNlZ3VyYW7Dp2EsIGJhY2stdXAgZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogZGVjbGFyYSBxdWUgYSBzdWEgcHVibGljYcOnw6NvIMOpIG9yaWdpbmFsIGUgcXVlIHZvY8OqIHRlbSBvIHBvZGVyIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRlIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgZGUgbmluZ3XDqW0uCgpDYXNvIGEgc3VhIHB1YmxpY2HDp8OjbyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvIGRhIHB1YmxpY2HDp8OjbyBvcmEgZGVwb3NpdGFkYS4KCkNBU08gQSBQVUJMSUNBw4fDg08gT1JBIERFUE9TSVRBREEgVEVOSEEgU0lETyBSRVNVTFRBRE8gREUgVU0gUEFUUk9Dw41OSU8gT1UgQVBPSU8gREUgVU1BIEFHw4pOQ0lBIERFIEZPTUVOVE8gT1UgT1VUUk8gT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgRVhJR0lEQVMgUE9SIENPTlRSQVRPIE9VIEFDT1JETy4KCk8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lKHMpIG91IG8ocykgbm9tZXMocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4K |
| dc.title.none.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.none.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 Computação – Teses Computação em nuvem – Teses Sistemas distribuídos – Teses Processamento massivo de dados – Teses Previsão de desempenho Computação em nuvem Spark Processamento massivo de dados Aplicações paralelas Sistemas distribuídos |
| 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.author.fl_str_mv |
Tulio Braga Moreira Pinto |
| dc.subject.por.fl_str_mv |
Computação – Teses Computação em nuvem – Teses Sistemas distribuídos – Teses Processamento massivo de dados – Teses |
| topic |
Computação – Teses Computação em nuvem – Teses Sistemas distribuídos – Teses Processamento massivo de dados – Teses Previsão de desempenho Computação em nuvem Spark Processamento massivo de dados Aplicações paralelas Sistemas distribuídos |
| dc.subject.other.none.fl_str_mv |
Previsão de desempenho Computação em nuvem Spark Processamento massivo de dados Aplicações paralelas Sistemas distribuídos |
| description |
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. |
| publishDate |
2019 |
| dc.date.issued.fl_str_mv |
2019-07-15 |
| dc.date.accessioned.fl_str_mv |
2022-08-10T19:28:11Z 2025-09-09T01:17:42Z |
| 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 |
https://hdl.handle.net/1843/44157 |
| url |
https://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 |
| 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//bitstreams/a66e4349-4106-4ee5-a22a-ac669f5e0f10/download https://repositorio.ufmg.br//bitstreams/b8867857-3ea9-42e2-9440-dca7ead6f3ba/download https://repositorio.ufmg.br//bitstreams/8ce2f218-69f0-4cf3-bc97-37a19e297f86/download https://repositorio.ufmg.br//bitstreams/1524bcab-c1e4-4049-8e9e-851c3206e9b4/download https://repositorio.ufmg.br//bitstreams/c5538af4-bee9-403f-b713-c6aa4e330275/download |
| bitstream.checksum.fl_str_mv |
cda590c95a0b51b4d15f60c9642ca272 f776634c896dfb8f4fac8db03fd41d97 cfd6801dba008cb6adbd9838b81582ab 59825e0b718a7e0da04e98d6f9af5a10 cc4c51f01aedb572d1c0689ad6f6ff5f |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG) |
| repository.mail.fl_str_mv |
repositorio@ufmg.br |
| _version_ |
1862105629277028352 |