Adaptive degree of parallelism for the spar runtime
| Ano de defesa: | 2018 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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
Escola Politécnica Brasil PUCRS Programa de Pós-Graduação em Ciência da Computação |
| 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: | http://tede2.pucrs.br/tede2/handle/tede/8255 |
Resumo: | 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. |
| 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 |
Adaptive degree of parallelism for the spar runtimeStream ParallelismAbstracted and Adaptive Degree of ParallelismParalelismo de StreamParalelismo Adaptativo e AbstratoCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOIn 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.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.Pontifícia Universidade Católica do Rio Grande do SulEscola PolitécnicaBrasilPUCRSPrograma de Pós-Graduação em Ciência da ComputaçãoFernandes, Luiz GustavoGriebler, Dalvanhttp://lattes.cnpq.br/1989039890812573Vogel, Adriano José2018-08-24T17:31:58Z2018-03-28info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://tede2.pucrs.br/tede2/handle/tede/8255enginfo: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_RS2018-08-25T15:00:34Zoai:tede2.pucrs.br:tede/8255Biblioteca 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.none.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.none.fl_str_mv |
Fernandes, Luiz Gustavo Griebler, Dalvan http://lattes.cnpq.br/1989039890812573 |
| dc.contributor.author.fl_str_mv |
Vogel, Adriano José |
| dc.subject.por.fl_str_mv |
Stream Parallelism Abstracted and Adaptive Degree of Parallelism Paralelismo de Stream Paralelismo Adaptativo e Abstrato CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO |
| topic |
Stream Parallelism Abstracted and Adaptive Degree of Parallelism Paralelismo de Stream Paralelismo Adaptativo e Abstrato CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO |
| description |
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. |
| publishDate |
2018 |
| dc.date.none.fl_str_mv |
2018-08-24T17:31:58Z 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.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 Escola Politécnica Brasil PUCRS Programa de Pós-Graduação em Ciência da Computação |
| publisher.none.fl_str_mv |
Pontifícia Universidade Católica do Rio Grande do Sul Escola Politécnica Brasil PUCRS Programa de Pós-Graduação em Ciência da Computação |
| 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 |
| 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_ |
1850041291234082816 |