|
TÓPICOS ESPECIAIS EM LINGUAGEM DE PROGRAMAÇÃO: APLICAÇÕES PARALELAS EM AMBIENTES DE PASSAGEM DE MENSAGENS1 Apresentação da disciplinaMotivação C A computação paralela tem se tornado uma importante aliada na tarefa de resolver problemas computacionalmente dispendiosos e complexos C Existem máquinas paralelas escaláveis baseadas em hardware e software com custo razoavelmente acessível C O programador deve ter em mente conceitos que permitam o máximo aproveitamento do paradigma de programação paralela C Questões inerentes ao novo paradigma: o A escolha equivocada da plataforma em que o programa paralelo será executado pode comprometer o desempenho do programa, mesmo que ele tenha sido construído de maneira eficiente e elegante. o A análise do problema a ser decomposto para que se escolha a ferramenta de software mais adequada à construção de um programa paralelo eficiente. ObjetivosC Visão geral da computação paralela: o Apresentação de diversos tipos de hardware disponíveis à execução de uma aplicação paralela; o Foco sobre aspectos de software para construção e execução de um programa paralelo. C Estudo de um ambiente de desenvolvimento de aplicações paralelas C Abordagem prática baseada em estudos de casos; MetodologiaC Aulas teóricas expositivas seguidas de uma avaliação teórica motivando o aluno a estudar conceitos relativos à Computação Paralela C Estudo da biblioteca MPI possibilitando que o aluno esteja apto a compreender os casos a serem estudados posteriormente e a desenvolver aplicações em paralelo C Estudos de problemas simples encontrados na computação, de pleno conhecimento do aluno, cujos algoritmos possam ser paralelizados. C Estudo de problemas mais específicos encontrados em áreas como inteligência artificial, otimização, e outras C Seminários teóricos abrangendo funções avançadas de MPI C Seminários teóricos comparando MPI com outros ambientes, como o PVM C Seminários práticos apresentando as soluções encontradas para problemas estudados em sala de aula ProgramaC Módulo 1: Introdução à Computação Paralela: conceitos, medidas de desempenho, arquiteturas paralelas, software e ambientes de apoio. (8 aulas)C Módulo 2: Biblioteca para Troca de Mensagens: Message-Passing Interface (MPI): comandos básicos. Avaliação escrita sobre conceitos em computação paralela. (12 aulas)C Módulo 3: Estudo de caso 1: solução de problemas clássicos na computação usando algoritmos paralelos e definição dos trabalhos finais. (12 aulas)C Módulo 4: Estudo de caso 2: algoritmo genético paralelo; aplicações em inteligência artificial e otimização (12 aulas)C Módulo 5: Seminários 1: apresentação dos trabalhos teóricos: comandos avançados MPI e comparação com outros ambientes. (8 aulas)C Módulo 6: Seminários 2: apresentação dos trabalhos práticos: solução de problemas computacionais usando algoritmos paralelos (8 aulas) |