A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Técnicas de processamento paralelo

Apresentações semelhantes


Apresentação em tema: "Técnicas de processamento paralelo"— Transcrição da apresentação:

1 Técnicas de processamento paralelo
Autor: Tyago de Medeiros Silva – Orientador: Umberto Souza da Costa – CCET – DIMAp Introdução Desde que os computadores seriais foram inventados sua capacidade de processamento tem aumentado continuamente com o objetivo de atender à crescente demanda computacional. Contudo, observando-se as tendências atuais, conclui-se que o desempenho dos computadores seriais já está alcançando um nível de saturação devido às limitações físicas que impedem o aumento do desempenho pela melhoria de hardware. É nesse contexto que surge a técnica de processamento paralelo e distribuído como um método para solucionar os problemas mais rapidamente, dividindo uma tarefa grande entre diversos processadores que cooperam entre si. Um algoritmo seqüencial consiste de uma seqüência de passos a ser seguida para se solucionar um problema em um computador serial. Um algoritmo paralelo também, porém usando diversos processadores. A diferença entre o desenvolvimento de um algoritmo paralelo para um seqüencial é que na construção do paralelo temos diversos outros fatores que devem ser levados em conta. Temos, principalmente, o fator concorrência que torna necessário especificar as diversas tarefas que podem ser executadas ao mesmo tempo [1]. Outro aspecto que o programador deve conhecer para que possa escrever programas paralelos rápidos e aptos para executar em diversos processadores é o funcionamento do hardware. Devido a estes fatores adicionais, escrever um algoritmo paralelo é, normalmente, mais difícil que escrever um algoritmo seqüencial. Contudo, os benefícios de desempenho são normalmente compensadores. Resultados Com o estudo das abordagens e técnicas de processamento paralelo e distribuído, obtivemos um importante aprendizado teórico relativo ao foco da pesquisa. O estudo de metodologias e ambientes de paralelização, buscando identificar a forma de paralelização mais viável e adequada ao projeto em questão, resultou na decisão por manter-se o foco no método de passagem de mensagens utilizando MPI. A participação no grupo de trabalho da plataforma STORM culminou na idealização e atual implementação de uma biblioteca MPI. A implementação consiste, atualmente, de uma camada de abstração consistindo das funções básicas do MPI, as quais são responsáveis por inicialização e finalização das tarefas, atribuição de identificadores e envio e recebimento de mensagens. Os experimentos apontaram pontos passíveis de melhoria, indicando aperfeiçoamentos necessários e os próximos passos do desenvolvimento da biblioteca de paralelização. Objetivos Esta pesquisa é direcionada à criação de uma biblioteca de paralelização baseada no padrão MPI para uma plataforma multiprocessada de sistemas embarcados. Especificamente, o objetivo é a criação de uma biblioteca de paralelização baseada em MPI para a STORM, uma plataforma composta por processadores, cache, memória e diretório interligados por redes de interconexão e embarcados em um único chip. O projeto de concepção e implementação de uma biblioteca MPI para a STORM além de favorecer um firme aprendizado das técnicas de paralelização, permite o desenvolvimento de aplicações paralelas a ser embarcadas em hardware, podendo ser útil a muitas aplicações. A área de computação de alto desempenho é um importante campo de pesquisa da Ciência da Computação e é do interesse do Departamento de Informática e Matemática Aplicada (DIMAp) da UFRN formar pessoal e fortalecer seu grupo de pesquisadores envolvidos com processamento paralelo, nosso segundo objetivo. Conclusões Os experimentos foram bem-sucedidos e indicaram melhorias na programabilidade e padronização de aplicações paralelas sobre a STORM. Os experimentos serviram, também, para apontar os aperfeiçoamentos necessários e os próximos passos de desenvolvimento, como a necessidade de módulos auxiliares que forneçam as funcionalidades de um sistema operacional, ausente na STORM, em conjunto com o acréscimo de novas funções à biblioteca, já que apenas as funções básicas de comunicação foram desenvolvidas. Os conhecimentos sobre paralelização e arquitetura de computadores abrem espaço para pesquisas sobre sistemas paralelos embarcados. O projeto de concepção e implementação de uma biblioteca MPI para a STORM permite o desenvolvimento de aplicações que poderão ser embarcadas em hardware, podendo ser útil a muitas outras aplicações. Metodologia A pesquisa iniciou-se pelo estudo de abordagens e técnicas de processamento paralelo e distribuído. Em seguida, escolheu-se a STORM como estudo de caso e o projeto passou a explorar a criação de uma biblioteca MPI para a plataforma. A necessidade de desenvolvimento de uma biblioteca de paralelização justificou-se pela baixa compatibilidade entre as aplicações desenvolvidas para a STORM e outras arquiteturas. A adoção de um padrão bem estabelecido dá maior programabilidade e portabilidade aos programas desenvolvidos. O estudo inicial deu-se por meio da leitura da dissertação de mestrado que apresenta a STORM e de monografias de graduação de alunos que a aperfeiçoaram. O embasamento foi reforçado por discussões sobre o projeto com parte do pessoal envolvido. A pesquisa concentrou-se na definição de requisitos de software de paralelização e na investigação de um modelo de paralelização adequado à STORM. Uma grande restrição ao desenvolvimento da biblioteca de paralelização na plataforma é a inexistência de um sistema operacional e, conseqüentemente, de facilidades como a gerência de memória e de processos. Funções de inicialização, envio e recebimento de mensagens bloqueantes, consulta de identificadores e finalização foram desenvolvidas e integradas à STORM. Programas paralelos foram, então, implementados e executados sobre a STORM utilizando a biblioteca de comunicação desenvolvida. Bibliografia [1] GRAMA, Ananth, GUPTA, Anshul, KARYPIS, George, KUMAR, Vipin. Introduction to Parallel Computing: Addison Wesley, Ed. 2, 2003. [2] Message Passing Interface Forum. The Message-Passing Interface (MPI) Standard. MCS Division at Argonne National Laboratory. Disponível em [3] REGO, Rodrigo Soares de Lima Sá. Projeto e Implementação de uma Plataforma MP-SoC usando SystemC. Dissertação de Mestrado, UFRN, 2006. [4] OLIVEIRA, Bruno Cruz de. Manutenção da consistência de dados em uma plataforma MP-SoC baseada em NoC: Projeto do Diretório. Monografia de Graduação, UFRN, 2006. [5] SILVA, Gustavo Girão Barreto da . Manutenção da consistência de dados em uma plataforma MP-SoC baseada em NoC: Projeto da Cache. Monografia de Graduação, UFRN, 2006. APOIO: UFRN, PROPESQ e CNPq


Carregar ppt "Técnicas de processamento paralelo"

Apresentações semelhantes


Anúncios Google