DEFINIÇÃO DE METODOLOGIA DE APLICAÇÃO DE COMUNICAÇÃO ASSÍNCRONA DE FUNÇÕES NA ARQUITETURA CUDA

Cássio Silva de Sá Santos

Resumo


A Computação de Alto Desempenho, ou High Performance Computing (HPC)
em inglês, é o conjunto de técnicas, algoritmos, e sistemas computacionais (softwares e
hardwares) que são desenvolvidos para: a) reduzir o tempo de execução dos programas
para um determinado volume de dados e/ou b) aumentar o volume de dados mantendo o
tempo de execução dos programas dentro de limites aceitáveis para o problema que se
quer resolver. Dentro desse contexto, uma das atividades chaves corresponde a analisar
e entender o comportamento de algoritmos e sistemas computacionais para que se possa
atingir o máximo desempenho possível para um determinado software executando numa
plataforma computacional específica.
Um dos grandes problemas que permeiam não só a área da Computação de Alto
Desempenho mas também a área da computação como um todo são as etapas de
transferência de dados. No caso específico de sistemas baseados na arquitetura de
computação paralela Compute Unified Device Architecture (CUDA), da NVIDIA, a
transferência de dados entre a memória da Unidade Central de Processamento - Central
processing unit (CPU) e a memória da Unidades de Processamento Gráfico - Graphics
Processing Unit (GPU) é um potencial ponto de perda de desempenho do código.
Uma das possíveis formas de eliminar este problema é fazendo overlapping
entre o cômputo da GPU e a transferência de dados da GPU/CPU e CPU/GPU através
de comunicação assíncrona [KIRK 2010]. Por isso, é importante o estudo de métodos de
sincronismo e assincronismo em comunicação de dados entre CPU e GPU na
arquitetura CUDA. Este trabalho objetiva-se a avaliar métodos que podem ser
utilizados para reduzir ou eliminar a influência do tempo de comunicação da CPU com
o dispositivo CUDA sobre o tempo total de execução de uma aplicação paralela.
Para tal, no entanto, é necessário que haja um estudo de caso adequado. Os seres
humanos tornaram-se capazes de colocar satélites em órbita para os mais diversos fins.
No entanto, tais equipamentos possuem uma vida útil. Em outras palavras, após um
tempo determinado, passam a parar de funcionar adequadamente.
Um dos grandes problemas da nova era tecnológica encontra-se justamente nos
detritos que são gerados por estes equipamentos; o chamado “lixo espacial”. Segundo
dados da NASA, mais de 500 mil objetos singulares caracterizados como “lixo
espacial” orbitam atualmente o planeta, numa velocidade rápida o bastante para
danificar os caríssimos equipamentos em órbita e estações espaciais.
Diversas possíveis soluções existem neste campo. Uma delas consiste na
seguinte proposta: Um equipamento capaz de encontrar tais detritos, alinhar-se à eles e
atirá-los de volta à superfície da terra. Para que tal equipamento funcione, são
necessários diversos cálculos físicos de alta demanda de cômputo, na tentativa de
solucionar o problema caricaturizado como o problema “Rendezvous”.
O trabalho aqui apresentado descreve também o processo de elaboração do caso
de uso que envolve o código do Rendezvous, projeto da área da astronomia, que busca
apresentar uma solução para descobrir as configurações físicas com as quais um veículo
espacial deve ser criado para que o mesmo seja capaz de alcançar detritos espaciais e
executar a ação corretiva para a qual foi programado.


Texto completo:

PDF

Apontamentos

  • Não há apontamentos.