Compartilhe o registro |
|
Use este identificador para citar ou linkar para este item:
https://tede2.pucrs.br/tede2/handle/tede/8255
Tipo do documento: | Dissertação |
Título: | Adaptive degree of parallelism for the spar runtime |
Autor: | Vogel, Adriano José |
Primeiro orientador: | Fernandes, Luiz Gustavo |
Primeiro coorientador: | Griebler, Dalvan |
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. |
Abstract: | 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. |
Palavras-chave: | Stream Parallelism Abstracted and Adaptive Degree of Parallelism Paralelismo de Stream Paralelismo Adaptativo e Abstrato |
Área(s) do CNPq: | CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO |
Idioma: | eng |
País: | Brasil |
Instituição: | Pontifícia Universidade Católica do Rio Grande do Sul |
Sigla da instituição: | PUCRS |
Departamento: | Escola Politécnica |
Programa: | Programa de Pós-Graduação em Ciência da Computação |
Tipo de acesso: | Acesso Aberto |
Restrição de acesso: | Trabalho não apresenta restrição para publicação |
URI: | http://tede2.pucrs.br/tede2/handle/tede/8255 |
Data de defesa: | 28-Mar-2018 |
Aparece nas coleções: | Programa de Pós-Graduação em Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
ADRIANO_JOSÉ_VOGEL_DIS.pdf | ADRIANO_JOSE_VOGEL_DIS | 2,29 MB | Adobe PDF | Baixar/Abrir Pré-Visualizar |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.