CCP-UFRGS

150
G M C P A D Computação Científica P uma introdução Rogério Luis Rizzi Ricardo Vargas Dorneles Delcino Picinin Júnior André Luis Martinotto Orientador: Prof. Tiarajú Asm PPGC - Programa de Pós-Graduação em C

Transcript of CCP-UFRGS

GMCPAD Computao Cientfica Paralela: uma introduo Rogrio Luis Rizzi Ricardo Vargas Dorneles Delcino Picinin Jnior Andr Luis Martinotto Orientador: Prof. Tiaraj Asmuz Diverio PPGC - Programa de Ps-Graduao em Computao GMCPAD Sumrio 01: Introduo 02: Computao cientfica paralela 03: Ambiente computacional 04: Modelos matemticos 05: Equaes diferenciais parciais 06: Malhas numricas 07: Particionamento de grafos 08: Balanceamento de carga 09: Mtodos de discretizao 10: Esquemas numricos 11: Sistemas de equaes 12: Pr-condicionamento 13: Soluo paralela: decomposio de dados e de domnio 14: Estruturas de dados 15: Pacotes para soluo paralela de SE GMCPAD Introduo GMCPAD Introduo Motivao: Discutiralgumasdasetapasenvolvidascomo efetivo desenvolvimento de aplicaes paralelas, sob o escopo de Computao Cientifica Paralela; Simulaes cientficas e de engenharia necessitam a soluo de sistemas de equaes (SE) esparsas e de grande porte; Esses SE surgem das discretizao das EDPs e/ou EIs que descrevem o comportamento de sistemas ou fenmenos complexos; Soluesacuradasnecessitamdoclculode milhes de variveis a cada passo de tempo . GMCPAD Introduo Justificativa: Necessidadededesenvolveratecnologiaea cincia no pas. Cobalt60umsoftwaredecomputaoparalela desenvolvidoemFortran90comMPIparamalhas noestruturadasbaseadoemdecomposiode domnios,empregadonodesenvolvimentode tecnologia aeronutica americana. GMCPAD Introduo Cobalt60 FEFLO:CHSSI GMCPAD Computao Cientfica Paralela Parallel Scientific Computing GMCPAD Computao Cientfica Paralela O que Computao Cientfica ? Projetoeanalisedealgoritmosparaasoluode problemasemcinciaseengenharia[MichaelT. Heath2001]. E Computao Cientfica Paralela o que ? Projetoeanlisedealgoritmosparaasoluode problemasemcinciaseengenhariaadotando tcnicasdeparalelismo,paraqueessesalgoritmos possam ser executados em mquinas paralelas. Essa abordagem visa a obteno de resultados de maneira maisrpida,osquaisnemsemprepoderiamser obtidos seqencialmente. GMCPAD Computao Cientfica Paralela Computao Cientfica uma rea que pode ser considerada como tendo um trip baseado em: Algoritmos matemticos; Arquitetura e ambiente de programao paralela; Aplicaes cientficas e de engenharia; Aplicaes: Anlise estrutural e Engenharia Mecnica; Modelagem climtica e ocenica; Economia e finanas; Dinmica de fluidos computacionais; Modelagem de reservatrios. petrleo, gas ... GMCPAD Ambiente Computacional (Cluster) GMCPAD Ambiente Computacional (Cluster) Oambientedeprogramaoqueatualmente tem recebido ateno so os clusters; Clusterssoagregadosdemquinas independentesinterconectadosatravsde uma rede; GMCPAD Ambiente Computacional (Cluster) Os clusters podem ser classificados segundo: Rede de interconexo; Tipo de memria; Homogeneidade das mquinas; Sistema operacional. Vantagens / desvantagens dos clusters Custode implantao; Software livres; Escalabilidade; Programao explcita. GMCPAD Ambiente Computacional (Cluster) Hardware (mquinas + redes de interconexo); Mquinas que formam o cluster: Multiprocessadasformandoumaarquitetura commemriadistribudaentreosnodose compartilhadaentreosprocessadores (memria hbrida); Monoprocessadasformandoumaarquitetura com apenas memria distribuda. Redes de interconexo mais adotadas: Myrinet; Fast-Ethernet; SCI; ATM; Gigabit-Ethernet. GMCPAD Ambiente Computacional (Cluster) Arquitetura com memria distribuda: Arquiteturacommemriadistribudae memria compartilhada (hbrida): GMCPAD Ambiente Computacional (Cluster) ~ 1980 1x106 Operaes de Ponto Flutuantes por segundo (MFLOP/s) Processamento escalar ~ 1990 1x109 Operaes de Ponto Flutuantes por segundo (GFLOP/s) Processamento vetorial Computao com memria distribuda Particionamento de dados ~ 2000 1x1012 Operaes de Ponto Flutuantes por segundo (TFLOP/s) Processamento distribudo Troca de mensagens Decomposio de domnio ~ 2010 (Jack Dongarra) 1x1015 Operaes de Ponto Flutuantes por segundo (PFLOP/s) Grid Computer ? Evoluo da capacidade de processamento: GMCPAD Rank Company Machine Procs Gflop/s Place Country Year1 IBM ASCI White 8192 4938 Lawrence Livermore National Laboratory Livermore 20002 Intel ASCI Red 9632 2380Sandia National Labs AlbuquerqueUSA 19993 IBMASCI Blue-Pacific SST, IBM SP 604e5808 2144Lawrence Livermore National Laboratory LivermoreUSA 19994 SGIASCI Blue Mountain6144 1608Los Alamos National Laboratory Los AlamosUSA 19985 IBMSP Power3375 MHz1336 1417Naval Oceanographic Office (NAVOCEANO) USA 20006 IBMSP Power3375 MHz1104 1179National Center for Environmental ProtectionUSA 20007 Hitachi SR8000-F1/112 112 1035Leibniz Rechenzentrum MuenchenGermany 20008 IBMSP Power3375 MHz, 8 way1152 929UCSD/San Diego Supercomputer CenterUSA 20009 Hitachi SR8000-F1/100 100 917High Energy Accelerator Research Organization /KEK TsukubaJapan 200010 Cray Inc. T3E1200 1084 892 Government USA 1998Top 10 Machines (Nov 2000) GMCPAD Ambiente Computacional (Cluster) Clusters de nodos monoprocessados: Paralelismo inter-nodal; Custo da troca de mensagens. Clusters de nodos multiprocessados: Paralelismo inter-nodal; Custo da troca de mensagens; Paralelismo intra-nodos; Conteno de memria intra-nodos; Condio de corrida em mltiplas threads; Excluso mtua. GMCPAD Ambiente Computacional (Cluster) Bibliotecasdetrocademensagens:explorao do paralelismo inter-nodal: PVM (Parallel Virtual Machine); MPI (Message Passing Interface); MPICH, LAN; DECK(Distributed Executive Comunicator Kernel); ATHAPASCAN. Bibliotecademultithreading:exploraodo paralelismo intra-nodal: Pthreads POSIX; OS.O.podeescalonarprocessosparadiferentes processadores. GMCPAD Ambiente Computacional (Cluster) Bibliotecas de trocas de mensagens (BTM): Sobibliotecasquepossuemprimitivaspermitindoa diferentesprocessostrocareminformaesmesmo estando em diferentes mquinas de uma rede. Thread: Uma thread um fluxo de execuo; BibliotecascomoPthreadpermitemacriaode mltiplasthreadsemummesmoprocesso compartilhando a mesma rea de dados; Ocustodacriaodeumathreadmenorqueoda criao de um processo; Existem2tiposdePthreads:asdesistemaeasde aplicao.Suadiferenciaoserefereaocustode escalonamentoeporcentagemdetempode processador obtida pelas threads. GMCPAD Ambiente Computacional (Cluster) ExploraodoParalelismointra-nodaleinter-nodal em clusters multiprocessados: Naexploraodoparalelismointernodoseintra nodos, com BTM, nenhum processo acessa a mesma rea de dados. Ou seja, no existe a possibilidade de condiodecorrida.Aexploraoficasendo semelhante explorao entre nodos; Na explorao do paralelismo inter nodos com BTM e aintranodoscommltiplasthreads,antesdatroca de mensagens a thread principal deve estar certa de queosdadosaseremenviadosnoestosendo processadosporoutrasthreads,poisseestiverem podemestarinconsistentes.Paraevitarisso,as threadsdevemsincronizarantesdatrocade mensagens, o que pode causar ociosidade em algum processador do nodo.GMCPAD Ambiente Computacional (Cluster) O modo de como o paralelismo explorado entremltiplasthreadsdependedo programador, o qual deve visar: Diminuir o tempo ocioso dos processadores; Balancearcargaentreasthreads adequadamente; Diminuir ao mximo os sincronismos. GMCPAD Ambiente Computacional (Cluster) Principais primitivas de BTMs: comunicao ponto a ponto (send e receive) broadcast de 1:N reduo GMCPAD Ambiente Computacional (Cluster) Principais primitivas de BTMs: gather scatter GMCPAD Modelos Matemticos GMCPAD Modelos Matemticos Mecnica Clssica: movimentodeobjetosmacroscpicoabaixa velocidade (v 0 : a EDP hiperblica; se b2-4ac = 0 : a EDP parablica; se b2-4ac < 0 : a EDP elptica. Se os coeficientes variam, o tipo pode variar; Em um sistema de EDPs, cada qual pode ser de tipo diferente; A EDP pode ser no linear, ou de alta ordem ou dimenso. GMCPAD Equaes Diferenciais Parciais Interpretao fsica (direo de propagao): Aclassificaoestassociadaaotipode fenmeno fsico e pode ser identificada de acordo comadireodepropagaodasoluodas EDPs. Elptica: propagao em todas as direes (equao de Laplace); Elptica GMCPAD Equaes Diferenciais Parciais Parablica: propagao na direo preferencial (equao da Difuso); Hiperblica: direo preferencial de propagao (equao da Onda). Parablica Hiperblica GMCPAD Equaes Diferenciais Parciais Cada uma dessas EDPs exigem diferentes tipos demtodosnumricos,poisexisteuma diferenafundamentalentreEDPshiperblicas eparablicasquetemimplicaesnassuas solues numricas. EDPshiperblicassoconservativas,esuas solues se propagam em frontes ou choques sem dissipar; EDPs parablicas so dissipativas, e suas solues tendem a tomar o estado permanente; EDPselpticas,porsepropagaremtodasas direes, no problemtica. GMCPAD Malhas Numricas GMCPAD Malhas Numricas Ummodelomatemticoecontnuodefinido espacialetemporalmenteemumaregio (contnua). Mas a soluo computacional requer adiscretizaodasEDPs(oudasEIs)ea discretizao do domnio de definio. Exemplos: GMCPAD Malhas Numricas Tipos de malhas: Estruturadas: Cdigocomputacional/estruturasdedados mais simples; limitao na representao do domnio. No estruturadas: Cdigocomputacional/estruturadedados mais complexas; flexibilidade na representao do domnio. GMCPAD Malhas Numricas Estruturadas: GMCPAD Malhas Numricas No estruturadas: GMCPAD Malhas Numricas Arranjos das variveis na malha: Espao-alternada: Desacoplamento das variveis; Complexidadedocdigocomputacionalpara problemas 3D; Faces tipo fluxo numrico. Co-localizada: Eficincia computacional; Simplifica o cdigo computacional. GMCPAD Malhas Numricas Espao-alternada: GMCPAD Malhas Numricas Co-localizada: GMCPAD Malhas Numricas Algumasrazesparaousodecoordenadas generalizadas e/ou malhas no estruturadas: Problemas definidos em geometrias complexas; Dificuldadesparausarsistemasdecoordenadas convencionais (cartesiana,...); GMCPAD Necessidadedeconstruirmalhasnumricasque seadaptemautomaticamentefsicado problema (refinamento local). Malhas Numricas GMCPAD EmProblemas3Dnecessrioespecificara malha horizontal e a malha vertical. Malha horizontal: Malhas Numricas GMCPAD Malha vertical: Malhas Numricas GMCPAD Malha vertical: Malhas Numricas GMCPAD Gerao de Malhas: Transformao de coordenadas (MDF): Mapear domnio fsico no domnio computacional; Malhas Numricas GMCPAD Malhas Numricas Malhas no estruturadas: Triangulao de Voronoi; Delaunay. GMCPAD Particionamento de Grafos GMCPAD Particionamento de Grafos Particionamento de um grafo (PG): ConsisteemdividirseusvrticesemK subconjuntos,deformaqueestessubconjuntos sejambalanceados(comomesmonmerode vrtices),equeonmerodearestasentreeles seja minimizado; GMCPAD Particionamento de Grafos O PG aplicado para realizar o balanceamento de cargaestticoentreosprocessadores,deforma que cada um tenha carga equivalente a seu poder de processamento; Acargaoupesodeumsub-domnio(P_K)a soma de todos os seus vertices; A carga tima para um sub-domnio a diviso do numerototaldeverticesdografo(V)pelo nmerototaldesub-domnios(K),queseobtm pela formula (P_opt = |V|/K). GMCPAD Particionamento de Grafos Uso do corte de arestas: oparmetromaisempregadoparamedira comunicaoentreosdiferentessubdominios.O PGdevediminuironmerodeclulasnas fronteiras, ou seja diminuir o nmero de cortes de arestas, de forma a minimizar a comunicao; GMCPAD Particionamento de Grafos Pode-seespecificaroproblemadePGcomo sendooproblemadeencontrarpartiespara um grafo G tal que: P_k