Adaptive degree of parallelism for the spar runtime

Detalhes bibliográficos
Ano de defesa: 2018
Autor(a) principal: Vogel, Adriano José lattes
Orientador(a): Fernandes, Luiz Gustavo
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Pontifícia Universidade Católica do Rio Grande do Sul
Programa de Pós-Graduação: Programa de Pós-Graduação em Ciência da Computação
Departamento: Escola Politécnica
País: Brasil
Palavras-chave em Português:
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: http://tede2.pucrs.br/tede2/handle/tede/8255
Resumo: As aplicações de stream se tornaram cargas de trabalho representativas nos sistemas computacionais. Diversos domínios de aplicações representam stream, como vídeo, áudio, processamento de gráficos e imagens. Uma parcela significativa dessas aplicações demanda paralelismo para aumentar o desempenho. Porém, programadores frequentemente enfrentam desafios entre produtividade de código e desempenho devido às complexidades decorrentes do paralelismo. Buscando facilitar a paralelização, a DSL SPar foi criada usando atributos (stage, input, output, and replicate) do C++-11 para representar paralelismo. O compilador reconhece os atributos da SPar e gera código paralelo automaticamente. Um desafio relevante que ocorre em estágios paralelos da SPar é a demanda pela definição manual do grau de paralelismo, o que consome tempo e pode induzir a erros. O grau de paralelismo é definido através do número de réplicas em estágios paralelos. Porém, a execução de diversas aplicações pode ser pouco eficiente se executadas com um número de réplicas inadequado ou usando um número estático que ignora a natureza dinâmica de algumas aplicações. Para resolver esse problema, é introduzido o conceito de um número de réplicas transparente e adaptativo para a SPar. Além disso, os mecanismos implementados e as regras de transformação são descritos para possibilitar a geração de código paralelo na SPar com um número adaptativo de réplicas. Os mecanismos adaptativos foram avaliados demonstrando a sua eficácia. Ainda, aplicações reais foram usadas para demonstrar que os mecanismos adaptativos propostos podem oferecer abstrações de alto nível sem significativas perdas de desempenho.
id P_RS_51c17e7f517eedd37f30b1b9f6927537
oai_identifier_str oai:tede2.pucrs.br:tede/8255
network_acronym_str P_RS
network_name_str Biblioteca Digital de Teses e Dissertações da PUC_RS
repository_id_str
spelling Fernandes, Luiz GustavoGriebler, Dalvanhttp://lattes.cnpq.br/1989039890812573http://lattes.cnpq.br/7712749194766770Vogel, Adriano José2018-08-24T17:31:58Z2018-03-28http://tede2.pucrs.br/tede2/handle/tede/8255As aplicações de stream se tornaram cargas de trabalho representativas nos sistemas computacionais. Diversos domínios de aplicações representam stream, como vídeo, áudio, processamento de gráficos e imagens. Uma parcela significativa dessas aplicações demanda paralelismo para aumentar o desempenho. Porém, programadores frequentemente enfrentam desafios entre produtividade de código e desempenho devido às complexidades decorrentes do paralelismo. Buscando facilitar a paralelização, a DSL SPar foi criada usando atributos (stage, input, output, and replicate) do C++-11 para representar paralelismo. O compilador reconhece os atributos da SPar e gera código paralelo automaticamente. Um desafio relevante que ocorre em estágios paralelos da SPar é a demanda pela definição manual do grau de paralelismo, o que consome tempo e pode induzir a erros. O grau de paralelismo é definido através do número de réplicas em estágios paralelos. Porém, a execução de diversas aplicações pode ser pouco eficiente se executadas com um número de réplicas inadequado ou usando um número estático que ignora a natureza dinâmica de algumas aplicações. Para resolver esse problema, é introduzido o conceito de um número de réplicas transparente e adaptativo para a SPar. Além disso, os mecanismos implementados e as regras de transformação são descritos para possibilitar a geração de código paralelo na SPar com um número adaptativo de réplicas. Os mecanismos adaptativos foram avaliados demonstrando a sua eficácia. Ainda, aplicações reais foram usadas para demonstrar que os mecanismos adaptativos propostos podem oferecer abstrações de alto nível sem significativas perdas de desempenho.In recent years, stream processing applications have become a traditional workload in computing systems. They are traditionally found in video, audio, graphic and image processing. Many of these applications demand parallelism to increase performance. However, programmers must often face the trade-off between coding productivity and performance that introducing parallelism creates. SPar Domain-Specific Language (DSL) was created to achieve the optimal balance for programmers, with the C++-11 attribute annotation mechanism to ensure that essential properties of stream parallelism could be represented (stage, input, output, and replicate). The compiler recognizes the SPar attributes and generates parallel code automatically. The need to manually define parallelism is one crucial challenge for increasing SPAR’s abstraction level, because it is time consuming and error prone. Also, executing several applications can fail to be efficient when running a non suitable number of replicas. This occurs when the defined number of replicas in a parallel region is not optimal or when a static number is used, which ignores the dynamic nature of stream processing applications. In order to solve this problem, we introduced the concept of the abstracted and adaptive number of replicas for SPar. Moreover, we described our implemented strategy as well as transformation rules that enable SPar to generate parallel code with the adaptive degree of parallelism support. We experimentally evaluated the implemented adaptive strategies regarding their effectiveness. Thus, we used real-world applications to demonstrate that our adaptive strategy implementations can provide higher abstraction levels without significant performance degradation.Submitted by PPG Ciência da Computação (ppgcc@pucrs.br) on 2018-08-22T17:39:55Z No. of bitstreams: 1 ADRIANO_JOSÉ_VOGEL_DIS.pdf: 2344216 bytes, checksum: e0dd6229d4a98c039e793851290beab0 (MD5)Approved for entry into archive by Sheila Dias (sheila.dias@pucrs.br) on 2018-08-24T14:50:33Z (GMT) No. of bitstreams: 1 ADRIANO_JOSÉ_VOGEL_DIS.pdf: 2344216 bytes, checksum: e0dd6229d4a98c039e793851290beab0 (MD5)Made available in DSpace on 2018-08-24T17:31:58Z (GMT). No. of bitstreams: 1 ADRIANO_JOSÉ_VOGEL_DIS.pdf: 2344216 bytes, checksum: e0dd6229d4a98c039e793851290beab0 (MD5) Previous issue date: 2018-03-28application/pdfhttp://tede2.pucrs.br:80/tede2/retrieve/173055/ADRIANO_JOS%c3%89_VOGEL_DIS.pdf.jpgengPontifícia Universidade Católica do Rio Grande do SulPrograma de Pós-Graduação em Ciência da ComputaçãoPUCRSBrasilEscola PolitécnicaStream ParallelismAbstracted and Adaptive Degree of ParallelismParalelismo de StreamParalelismo Adaptativo e AbstratoCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOAdaptive degree of parallelism for the spar runtimeinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisTrabalho não apresenta restrição para publicação1974996533081274470500500-862078257083325301info:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da PUC_RSinstname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)instacron:PUC_RSTHUMBNAILADRIANO_JOSÉ_VOGEL_DIS.pdf.jpgADRIANO_JOSÉ_VOGEL_DIS.pdf.jpgimage/jpeg5475http://tede2.pucrs.br/tede2/bitstream/tede/8255/3/ADRIANO_JOS%C3%89_VOGEL_DIS.pdf.jpgf07a796975034ad315780d50570519e3MD53TEXTADRIANO_JOSÉ_VOGEL_DIS.pdf.txtADRIANO_JOSÉ_VOGEL_DIS.pdf.txttext/plain192304http://tede2.pucrs.br/tede2/bitstream/tede/8255/4/ADRIANO_JOS%C3%89_VOGEL_DIS.pdf.txt7b39dedc7fd1ebcb2ed80e5b7c5ff2afMD54ORIGINALADRIANO_JOSÉ_VOGEL_DIS.pdfADRIANO_JOSÉ_VOGEL_DIS.pdfapplication/pdf2344216http://tede2.pucrs.br/tede2/bitstream/tede/8255/2/ADRIANO_JOS%C3%89_VOGEL_DIS.pdfe0dd6229d4a98c039e793851290beab0MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-8610http://tede2.pucrs.br/tede2/bitstream/tede/8255/1/license.txt5a9d6006225b368ef605ba16b4f6d1beMD51tede/82552018-08-25 12:00:34.227oai:tede2.pucrs.br:tede/8255QXV0b3JpemHDp8OjbyBwYXJhIFB1YmxpY2HDp8OjbyBFbGV0csO0bmljYTogQ29tIGJhc2Ugbm8gZGlzcG9zdG8gbmEgTGVpIEZlZGVyYWwgbsK6OS42MTAsIGRlIDE5IGRlIGZldmVyZWlybyBkZSAxOTk4LCBvIGF1dG9yIEFVVE9SSVpBIGEgcHVibGljYcOnw6NvIGVsZXRyw7RuaWNhIGRhIHByZXNlbnRlIG9icmEgbm8gYWNlcnZvIGRhIEJpYmxpb3RlY2EgRGlnaXRhbCBkYSBQb250aWbDrWNpYSBVbml2ZXJzaWRhZGUgQ2F0w7NsaWNhIGRvIFJpbyBHcmFuZGUgZG8gU3VsLCBzZWRpYWRhIGEgQXYuIElwaXJhbmdhIDY2ODEsIFBvcnRvIEFsZWdyZSwgUmlvIEdyYW5kZSBkbyBTdWwsIGNvbSByZWdpc3RybyBkZSBDTlBKIDg4NjMwNDEzMDAwMi04MSBiZW0gY29tbyBlbSBvdXRyYXMgYmlibGlvdGVjYXMgZGlnaXRhaXMsIG5hY2lvbmFpcyBlIGludGVybmFjaW9uYWlzLCBjb25zw7NyY2lvcyBlIHJlZGVzIMOgcyBxdWFpcyBhIGJpYmxpb3RlY2EgZGEgUFVDUlMgcG9zc2EgYSB2aXIgcGFydGljaXBhciwgc2VtIMO0bnVzIGFsdXNpdm8gYW9zIGRpcmVpdG9zIGF1dG9yYWlzLCBhIHTDrXR1bG8gZGUgZGl2dWxnYcOnw6NvIGRhIHByb2R1w6fDo28gY2llbnTDrWZpY2EuCg==Biblioteca Digital de Teses e Dissertaçõeshttp://tede2.pucrs.br/tede2/PRIhttps://tede2.pucrs.br/oai/requestbiblioteca.central@pucrs.br||opendoar:2018-08-25T15:00:34Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)false
dc.title.por.fl_str_mv Adaptive degree of parallelism for the spar runtime
title Adaptive degree of parallelism for the spar runtime
spellingShingle Adaptive degree of parallelism for the spar runtime
Vogel, Adriano José
Stream Parallelism
Abstracted and Adaptive Degree of Parallelism
Paralelismo de Stream
Paralelismo Adaptativo e Abstrato
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
title_short Adaptive degree of parallelism for the spar runtime
title_full Adaptive degree of parallelism for the spar runtime
title_fullStr Adaptive degree of parallelism for the spar runtime
title_full_unstemmed Adaptive degree of parallelism for the spar runtime
title_sort Adaptive degree of parallelism for the spar runtime
author Vogel, Adriano José
author_facet Vogel, Adriano José
author_role author
dc.contributor.advisor1.fl_str_mv Fernandes, Luiz Gustavo
dc.contributor.advisor-co1.fl_str_mv Griebler, Dalvan
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/1989039890812573
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/7712749194766770
dc.contributor.author.fl_str_mv Vogel, Adriano José
contributor_str_mv Fernandes, Luiz Gustavo
Griebler, Dalvan
dc.subject.eng.fl_str_mv Stream Parallelism
Abstracted and Adaptive Degree of Parallelism
topic Stream Parallelism
Abstracted and Adaptive Degree of Parallelism
Paralelismo de Stream
Paralelismo Adaptativo e Abstrato
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
dc.subject.por.fl_str_mv Paralelismo de Stream
Paralelismo Adaptativo e Abstrato
dc.subject.cnpq.fl_str_mv CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
description As aplicações de stream se tornaram cargas de trabalho representativas nos sistemas computacionais. Diversos domínios de aplicações representam stream, como vídeo, áudio, processamento de gráficos e imagens. Uma parcela significativa dessas aplicações demanda paralelismo para aumentar o desempenho. Porém, programadores frequentemente enfrentam desafios entre produtividade de código e desempenho devido às complexidades decorrentes do paralelismo. Buscando facilitar a paralelização, a DSL SPar foi criada usando atributos (stage, input, output, and replicate) do C++-11 para representar paralelismo. O compilador reconhece os atributos da SPar e gera código paralelo automaticamente. Um desafio relevante que ocorre em estágios paralelos da SPar é a demanda pela definição manual do grau de paralelismo, o que consome tempo e pode induzir a erros. O grau de paralelismo é definido através do número de réplicas em estágios paralelos. Porém, a execução de diversas aplicações pode ser pouco eficiente se executadas com um número de réplicas inadequado ou usando um número estático que ignora a natureza dinâmica de algumas aplicações. Para resolver esse problema, é introduzido o conceito de um número de réplicas transparente e adaptativo para a SPar. Além disso, os mecanismos implementados e as regras de transformação são descritos para possibilitar a geração de código paralelo na SPar com um número adaptativo de réplicas. Os mecanismos adaptativos foram avaliados demonstrando a sua eficácia. Ainda, aplicações reais foram usadas para demonstrar que os mecanismos adaptativos propostos podem oferecer abstrações de alto nível sem significativas perdas de desempenho.
publishDate 2018
dc.date.accessioned.fl_str_mv 2018-08-24T17:31:58Z
dc.date.issued.fl_str_mv 2018-03-28
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://tede2.pucrs.br/tede2/handle/tede/8255
url http://tede2.pucrs.br/tede2/handle/tede/8255
dc.language.iso.fl_str_mv eng
language eng
dc.relation.program.fl_str_mv 1974996533081274470
dc.relation.confidence.fl_str_mv 500
500
dc.relation.cnpq.fl_str_mv -862078257083325301
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 Pontifícia Universidade Católica do Rio Grande do Sul
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv PUCRS
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Escola Politécnica
publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da PUC_RS
instname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron:PUC_RS
instname_str Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron_str PUC_RS
institution PUC_RS
reponame_str Biblioteca Digital de Teses e Dissertações da PUC_RS
collection Biblioteca Digital de Teses e Dissertações da PUC_RS
bitstream.url.fl_str_mv http://tede2.pucrs.br/tede2/bitstream/tede/8255/3/ADRIANO_JOS%C3%89_VOGEL_DIS.pdf.jpg
http://tede2.pucrs.br/tede2/bitstream/tede/8255/4/ADRIANO_JOS%C3%89_VOGEL_DIS.pdf.txt
http://tede2.pucrs.br/tede2/bitstream/tede/8255/2/ADRIANO_JOS%C3%89_VOGEL_DIS.pdf
http://tede2.pucrs.br/tede2/bitstream/tede/8255/1/license.txt
bitstream.checksum.fl_str_mv f07a796975034ad315780d50570519e3
7b39dedc7fd1ebcb2ed80e5b7c5ff2af
e0dd6229d4a98c039e793851290beab0
5a9d6006225b368ef605ba16b4f6d1be
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
repository.mail.fl_str_mv biblioteca.central@pucrs.br||
_version_ 1799765509740167168