Resumos Aceitos pela PRPPG

XXIX Encontro de Iniciação Científica

Linguagens de Programação de Propósito Específico e Baseadas em Componentes para Computação de Alto Desempenho em Aplicações de Ciências Computacionais e Engenharias

Área: Ciência da Computação
Orientador: Francisco Heron de Carvalho Junior
Autores Principais: Felipe Martins Mesquita, Rafael de Castro Dantas Sales
Co-Autores:
Apresentação: Oral   Dia: 20  Hora: 16:40  Sala: 07  Local: Didático do CC - Bloco:951, 1º andar
Identificação: 2.1.03.013
Resumo:
A execução de programas em máquinas paralelas é a solução usada no mercado profissional e no meio acadêmico para viabilizar aplicações computacionalmente intensivas. No entanto, apesar dos crescentes avanços observados em técnicas de desenvolvimento de programas sequenciais, a criação de programas paralelos ainda é baseada predominantemente no paradigma de troca de mensagens, cujo desenvolvimento é considerado difícil e altamente propenso a erros. Nesse contexto, com o objetivo de tornar transparentes os aspectos de baixo nível na criação de aplicações paralelas, foi proposto o uso de esqueletos que encapsulam os principais padrões de paralelismo utilizados nesses programas. Esse estilo de programação é baseado no conceito de funções de alta ordem presente na programação funcional e consiste em criar estruturas abstratas que refletem um "modelo" de computação usado em uma ampla gama de aplicações. No contexto da programação paralela, o esqueleto encapsula um determinado padrão de comunicação de processos e recebe, como argumentos fornecidos pelo programador final, funções sequenciais que especificam a computação a ser realizada. O paradigma de programação paralela baseado em esqueletos tem sido objeto de interesse de um grande número de projetos de pesquisa nos últimos vinte anos, sem contudo alcançar o nível de disseminação esperado nas aplicações práticas. Com a consolidação de arquiteturas paralelas como tendência dominante no mercado de arquiteturas de computação, a demanda por técnicas inovadoras de programação paralela tem crescido, motivando um interesse ainda maior por esqueletos. Simultaneamente, a arquitetura de software baseada em componentes tem sido aplicada para lidar com a complexidade de novas aplicações de computação de alto desempenho. Esse trabalho investigou a implementação dos esqueletos Farm e Branch-And-Bound sobre a plataforma de componente HPE (Hash Programming Environment), alcançando resultados de desempenho promissores.