Loop parallelization in the cloud using OpenMP and MapReduce

Orientadores: Guido Costa Souza de Araújo, Rodolfo Jardim de Azevedo === Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação === Made available in DSpace on 2018-08-24T12:44:05Z (GMT). No. of bitstreams: 1 Wottrich_RodolfoGuilherme_M.pdf: 2132128 bytes, checksum: b8ac...

Full description

Bibliographic Details
Main Author: Wottrich, Rodolfo Guilherme, 1990-
Other Authors: UNIVERSIDADE ESTADUAL DE CAMPINAS
Format: Others
Language:Inglês
Published: [s.n.] 2014
Subjects:
Online Access:WOTTRICH, Rodolfo Guilherme. Loop parallelization in the cloud using OpenMP and MapReduce. 2014. 64 p. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: <http://www.repositorio.unicamp.br/handle/REPOSIP/275500>. Acesso em: 24 ago. 2018.
http://repositorio.unicamp.br/jspui/handle/REPOSIP/275500
id ndltd-IBICT-oai-repositorio.unicamp.br-REPOSIP-275500
record_format oai_dc
collection NDLTD
language Inglês
format Others
sources NDLTD
topic Programação paralela (Computação)
Computação em nuvem
OpenMP (Programação paralela)
MapReduce (Programação paralela distribuída)
Parallel programming (Computer science)
Cloud computing
OpenMP (Parallel programming)
MapReduce (Distributed parallel programming)
spellingShingle Programação paralela (Computação)
Computação em nuvem
OpenMP (Programação paralela)
MapReduce (Programação paralela distribuída)
Parallel programming (Computer science)
Cloud computing
OpenMP (Parallel programming)
MapReduce (Distributed parallel programming)
Wottrich, Rodolfo Guilherme, 1990-
Loop parallelization in the cloud using OpenMP and MapReduce
description Orientadores: Guido Costa Souza de Araújo, Rodolfo Jardim de Azevedo === Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação === Made available in DSpace on 2018-08-24T12:44:05Z (GMT). No. of bitstreams: 1 Wottrich_RodolfoGuilherme_M.pdf: 2132128 bytes, checksum: b8ac1197909b6cdaf96b95d6097649f3 (MD5) Previous issue date: 2014 === Resumo: A busca por paralelismo sempre foi um importante objetivo no projeto de sistemas computacionais, conduzida principalmente pelo constante interesse na redução de tempos de execução de aplicações. Programação paralela é uma área de pesquisa ativa, na qual o interesse tem crescido devido à emergência de arquiteturas multicore. Por outro lado, aproveitar as grandes capacidades de computação e armazenamento da nuvem e suas características desejáveis de flexibilidade e escalabilidade oferece várias oportunidades interessantes para abordar problemas de pesquisa relevantes em computação científica. Infelizmente, em muitos casos a implementação de aplicações na nuvem demanda conhecimento específico de interfaces de programação paralela e APIs, o que pode se tornar um fardo na programação de aplicações complexas. Para superar tais limitações, neste trabalho propomos OpenMR, um modelo de execução baseado na sintaxe e nos princípios da API OpenMP que facilita a tarefa de programar sistemas distribuídos (isto é, clusters locais ou a nuvem remota). Especificamente, este trabalho aborda o problema de executar a paralelização de laços, usando OpenMR, em um ambiente distribuído, através do mapeamento de iterações do laço para nós MapReduce. Assim, a interface de programação para a nuvem se torna a própria linguagem, livrando o desenvolvedor da tarefa de se preocupar com detalhes da distribuição de cargas de trabalho e dados. Para avaliar a validade da proposta, modificamos benchmarks da suite SPEC OMP2012 para se encaixarem no modelo proposto, desenvolvemos outros toy benchmarks que são I/O-bound e executamo-os em duas configurações: (a) um cluster de computadores disponível localmente através de uma LAN padrão; e (b) clusters disponíveis remotamente através dos serviços Amazon AWS. Comparamos os resultados com a execução utilizando OpenMP em uma arquitetura SMP e mostramos que a técnica de paralelização proposta é factível e demonstra boa escalabilidade === Abstract: The pursuit of parallelism has always been an important goal in the design of computer systems, driven mainly by the constant interest in reducing program execution time. Parallel programming is an active research area, which has grown in interest due to the emergence of multicore architectures. On the other hand, harnessing the large computing and storage capabilities of the cloud and its desirable flexibility and scaling features offers a number of interesting opportunities to address some relevant research problems in scientific computing. Unfortunately, in many cases the implementation of applications on the cloud demands specific knowledge of parallel programming interfaces and APIs, which may become a burden when programming complex applications. To overcome such limitations, in this work we propose OpenMR, an execution model based on the syntax and principles of the OpenMP API which eases the task of programming distributed systems (i.e. local clusters or remote cloud). Specifically, this work addresses the problem of performing loop parallelization, using OpenMR, in a distributed environment, through the mapping of loop iterations to MapReduce nodes. By doing so, the cloud programming interface becomes the programming language itself, freeing the developer from the task of worrying about the details of distributing workload and data. To assess the validity of the proposal, we modified benchmarks from the SPEC OMP2012 suite to fit the proposed model, developed other I/O-bound toy benchmarks and executed them in two settings: (a) a computer cluster locally available through a standard LAN; and (b) clusters remotely available through the Amazon AWS services. We compare the results to the execution using OpenMP in an SMP architecture and show that the proposed parallelization technique is feasible and demonstrates good scalability === Mestrado === Ciência da Computação === Mestre em Ciência da Computação
author2 UNIVERSIDADE ESTADUAL DE CAMPINAS
author_facet UNIVERSIDADE ESTADUAL DE CAMPINAS
Wottrich, Rodolfo Guilherme, 1990-
author Wottrich, Rodolfo Guilherme, 1990-
author_sort Wottrich, Rodolfo Guilherme, 1990-
title Loop parallelization in the cloud using OpenMP and MapReduce
title_short Loop parallelization in the cloud using OpenMP and MapReduce
title_full Loop parallelization in the cloud using OpenMP and MapReduce
title_fullStr Loop parallelization in the cloud using OpenMP and MapReduce
title_full_unstemmed Loop parallelization in the cloud using OpenMP and MapReduce
title_sort loop parallelization in the cloud using openmp and mapreduce
publisher [s.n.]
publishDate 2014
url WOTTRICH, Rodolfo Guilherme. Loop parallelization in the cloud using OpenMP and MapReduce. 2014. 64 p. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: <http://www.repositorio.unicamp.br/handle/REPOSIP/275500>. Acesso em: 24 ago. 2018.
http://repositorio.unicamp.br/jspui/handle/REPOSIP/275500
work_keys_str_mv AT wottrichrodolfoguilherme1990 loopparallelizationinthecloudusingopenmpandmapreduce
AT wottrichrodolfoguilherme1990 paralelizacaodelacosnanuvemusandoopenmpemapreduce
_version_ 1718883806682808320
spelling ndltd-IBICT-oai-repositorio.unicamp.br-REPOSIP-2755002019-01-21T21:25:00Z Loop parallelization in the cloud using OpenMP and MapReduce Paralelização de laços na nuvem usando OpenMP e MapReduce Wottrich, Rodolfo Guilherme, 1990- UNIVERSIDADE ESTADUAL DE CAMPINAS Azevedo, Rodolfo Jardim de, 1974- Araújo, Guido Costa Souza de, 1962- Baldassin, Alexandro José Bittencourt, Luiz Fernando Programação paralela (Computação) Computação em nuvem OpenMP (Programação paralela) MapReduce (Programação paralela distribuída) Parallel programming (Computer science) Cloud computing OpenMP (Parallel programming) MapReduce (Distributed parallel programming) Orientadores: Guido Costa Souza de Araújo, Rodolfo Jardim de Azevedo Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Made available in DSpace on 2018-08-24T12:44:05Z (GMT). No. of bitstreams: 1 Wottrich_RodolfoGuilherme_M.pdf: 2132128 bytes, checksum: b8ac1197909b6cdaf96b95d6097649f3 (MD5) Previous issue date: 2014 Resumo: A busca por paralelismo sempre foi um importante objetivo no projeto de sistemas computacionais, conduzida principalmente pelo constante interesse na redução de tempos de execução de aplicações. Programação paralela é uma área de pesquisa ativa, na qual o interesse tem crescido devido à emergência de arquiteturas multicore. Por outro lado, aproveitar as grandes capacidades de computação e armazenamento da nuvem e suas características desejáveis de flexibilidade e escalabilidade oferece várias oportunidades interessantes para abordar problemas de pesquisa relevantes em computação científica. Infelizmente, em muitos casos a implementação de aplicações na nuvem demanda conhecimento específico de interfaces de programação paralela e APIs, o que pode se tornar um fardo na programação de aplicações complexas. Para superar tais limitações, neste trabalho propomos OpenMR, um modelo de execução baseado na sintaxe e nos princípios da API OpenMP que facilita a tarefa de programar sistemas distribuídos (isto é, clusters locais ou a nuvem remota). Especificamente, este trabalho aborda o problema de executar a paralelização de laços, usando OpenMR, em um ambiente distribuído, através do mapeamento de iterações do laço para nós MapReduce. Assim, a interface de programação para a nuvem se torna a própria linguagem, livrando o desenvolvedor da tarefa de se preocupar com detalhes da distribuição de cargas de trabalho e dados. Para avaliar a validade da proposta, modificamos benchmarks da suite SPEC OMP2012 para se encaixarem no modelo proposto, desenvolvemos outros toy benchmarks que são I/O-bound e executamo-os em duas configurações: (a) um cluster de computadores disponível localmente através de uma LAN padrão; e (b) clusters disponíveis remotamente através dos serviços Amazon AWS. Comparamos os resultados com a execução utilizando OpenMP em uma arquitetura SMP e mostramos que a técnica de paralelização proposta é factível e demonstra boa escalabilidade Abstract: The pursuit of parallelism has always been an important goal in the design of computer systems, driven mainly by the constant interest in reducing program execution time. Parallel programming is an active research area, which has grown in interest due to the emergence of multicore architectures. On the other hand, harnessing the large computing and storage capabilities of the cloud and its desirable flexibility and scaling features offers a number of interesting opportunities to address some relevant research problems in scientific computing. Unfortunately, in many cases the implementation of applications on the cloud demands specific knowledge of parallel programming interfaces and APIs, which may become a burden when programming complex applications. To overcome such limitations, in this work we propose OpenMR, an execution model based on the syntax and principles of the OpenMP API which eases the task of programming distributed systems (i.e. local clusters or remote cloud). Specifically, this work addresses the problem of performing loop parallelization, using OpenMR, in a distributed environment, through the mapping of loop iterations to MapReduce nodes. By doing so, the cloud programming interface becomes the programming language itself, freeing the developer from the task of worrying about the details of distributing workload and data. To assess the validity of the proposal, we modified benchmarks from the SPEC OMP2012 suite to fit the proposed model, developed other I/O-bound toy benchmarks and executed them in two settings: (a) a computer cluster locally available through a standard LAN; and (b) clusters remotely available through the Amazon AWS services. We compare the results to the execution using OpenMP in an SMP architecture and show that the proposed parallelization technique is feasible and demonstrates good scalability Mestrado Ciência da Computação Mestre em Ciência da Computação 2014 2018-08-24T12:44:05Z 2018-08-24T12:44:05Z 2014-09-04T00:00:00Z info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis WOTTRICH, Rodolfo Guilherme. Loop parallelization in the cloud using OpenMP and MapReduce. 2014. 64 p. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: <http://www.repositorio.unicamp.br/handle/REPOSIP/275500>. Acesso em: 24 ago. 2018. http://repositorio.unicamp.br/jspui/handle/REPOSIP/275500 Inglês info:eu-repo/semantics/openAccess 64 p. : il. application/octet-stream [s.n.] Universidade Estadual de Campinas. Instituto de Computação Programa de Pós-Graduação em Ciência da Computação reponame:Repositório Institucional da Unicamp instname:Universidade Estadual de Campinas instacron:UNICAMP