Métodos de Decomposição de Domínios para a Solução Paralela de Sistemas de Equações Lineares

Tamanho: px
Começar a partir da página:

Download "Métodos de Decomposição de Domínios para a Solução Paralela de Sistemas de Equações Lineares"

Transcrição

1 Unoeste Unversdade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegado de Informátca Curso de Bacharelado em Informátca Métodos de Decomposção de Domínos para a Solução Paralela de Sstemas de Equações Lneares Gulherme Galante CASCAVEL Feverero/2004 ANO LETIVO 2003

2 GUILHERME GALANTE MÉTODOS DE DECOMPOSIÇÃO DE DOMÍNIOS PARA A SOLUÇÃO PARALELA DE SISTEMAS DE EQUAÇÕES LINEARES Trabalho apresentado como requsto parcal para obtenção do grau de Bacharel em Informátca. Curso de Bacharelado em Informátca. Centro de Cêncas Exatas e Tecnológcas. Unversdade Estadual do Oeste do Paraná - Campus de Cascavel. Orentador: Prof. Dr. Rogéro Lus Rzz Co-Orentador: André Lus Martnotto Cascavel Feverero/2004 Ano Letvo 2003

3 GUILHERME GALANTE MÉTODOS DE DECOMPOSIÇÃO DE DOMÍNIOS PARA A SOLUÇÃO PARALELA DE SISTEMAS DE EQUAÇÕES LINEARES Trabalho apresentado como requsto parcal para obtenção do Título de Bacharel em Informátca, pela UNIOESTE - Unversdade Estadual do Oeste do Paraná, Campus de Cascavel, aprovada pela Comssão composta pelos professores: Prof. Dr. Rogéro Lus Rzz (Orentador) Colegado de Matemátca, UNIOESTE Prof. Francsco Sérgo Sambatt Colegado de Informátca, UNIOESTE Prof. MSc. Ivone Fretas da Slva Colegado de Informátca, UNIOESTE Cascavel, 17 de Feverero de 2004.

4 v Do you beleve n fate or chances Desgn or concdences Would you say that all the people Lve ther lfe for good and evl Some have reached the end of patence Start to play wth God's creaton They know you Control you In a game we shouldn't play Corrupt your heart And make you part Of a game we shouldn't play And Ders

5 AGRADECIMENTOS Gostara de agradecer prmeramente a mnha famíla, em especal meus pas Snval e Luza, que sempre me ncentvaram nos estudos... É graças a eles que pude vencer mas esta etapa da mnha vda. Agradeço também a mnha namorada Julana pelos bons momentos que passamos juntos, pelo carnho e compreensão. Gostara de agradecer também: Todos colegas que compartlharam suas horas de trabalho, de rsadas e de preocupações, em especal o pessoal do LSDP e do GMCPAR. Meus amgos que sempre estveram comgo tanto nas dfíces e nas horas de lazer. Os professores do Colegado de Informátca pelos conhecmentos que me foram transmtdos. Um agradecmento especal ao professor Rogéro por me orentar neste trabalho e em todos os demas, que passaram e que estão por vr. O meu co-orentador André Martnotto pelas mutas ajudas ao longo deste trabalho. Os funconáros Carn e Nelson, por serem sempre prestatvos em seu trabalho. v

6 LISTA DE FIGURAS FIGURA 2.1: CLASSIFICAÇÃO DE FLYNN FIGURA 2.2: PANORAMA GERAL DAS CLASSIFICAÇÕES DAS ARQUITETURAS PARALELAS FIGURA 2.3: RESUMO DAS ARQUITETURAS PARALELAS (DEROSE, 2001) FIGURA 2.4: CARACTERÍSTICAS DO MCR LINUX CLUSTER (TOP500) FIGURA 2.5: CARACTERÍSTICAS DO CLUSTER CORPORATE (TOP500) FIGURA 2.6: CARACTERÍSTICAS DO CLUSTER LABTEC UFRGS FIGURA 2.7: MODELO DE EXECUÇÃO OPENMP FIGURA 2.8: NÍVEIS DA BIBLIOTECA BLAS FIGURA 2.9: ORGANIZAÇÃO DA BIBLIOTECA PETSC FIGURA 3.1: REPRESENTAÇÃO PARA FASES DO PARADIGMA MESTRE-ESCRAVO FIGURA 3.2: REPRESENTAÇÃO PARA FASES DO PARADIGMA SPMD FIGURA 3.3: REPRESENTAÇÃO PARA FASES DO PARADIGMA PIPELINE FIGURA 3.4: REPRESENTAÇÃO PARA FASES DO PARADIGMA DIVISÃO E CONQUISTA FIGURA 3.5: ESTRUTURA DA METODOLOGIA PCAM (FOSTER, 1995) FIGURA 4.1: DOMÍNIO (AZUL) E RESPECTIVA MALHA FIGURA 4.2: GRAFO REFERENTE À MALHA DA FIGURA FIGURA 4.3: (A) DOMÍNIO INICIAL. (B) DOMÍNIO PARTICIONADO APÓS UM PASSO DO RCB. (C) DOMÍNIO APÓS DOIS PASSOS DO RCB FIGURA 4.4: EXEMPLO DE REFINAMENTO POR KL FIGURA 4.5: ESQUEMA MULTINÍVEL (KUMAR, 2003) FIGURA 5.1: ESTÊNCIL DE 5-PONTOS (MOLÉCULA COMPUTACIONAL) FIGURA 5.2: GERAÇÃO DE SISTEMAS DE EQUAÇÕES FIGURA 5.3: ALGORITMO DO GRADIENTE CONJUGADO FIGURA 6.1: ILUSTRAÇÃO PARA O ESQUEMA GERAL DE MDDS FIGURA 6.2: DOMÍNIO FORMADO PELA UNIÃO DE UM DISCO E UM RETÂNGULO FIGURA 6.3: ESQUEMA DE TROCA DE DADOS ENTRE AS FRONTEIRAS FIGURA 6.4: EXEMPLO DE MATRIZ ARMAZENADA NO FORMATO CSR FIGURA 6.5: ALGORITMO DO MDD ADITIVO DE SCHWARZ FIGURA 6.6: PARTICIONAMENTO DE DOMÍNIO FIGURA 6.7: DOMÍNIO PARTICIONADO COM SOBREPOSIÇÃO FIGURA 6.8: MATRIZ GERADA A PARTIR DO SUBDOMÍNIO S1 DA FIGURA FIGURA 6.9: ARQUIVO DE ENTRADA DA MATRIZ ILUSTRADA NA FIGURA FIGURA 6.10: ESQUEMA DE NUMERAÇÃO DO MÉTODO DO COMPLEMENTO DE SCHUR FIGURA 6.11: MATRIZ GERADA A PARTIR DO DOMÍNIO DA FIGURA FIGURA 6.12: CÁLCULO DE D NO MÉTODO DO COMPLEMENTO DE SCHUR FIGURA 6.13: CÁLCULO DE Q NO MÉTODO DO COMPLEMENTO DE SCHUR FIGURA 6.14: CÁLCULO DE X NO MÉTODO DO COMPLEMENTO DE SCHUR FIGURA 8.1: NÚMERO DE ITERAÇÕES DO MDD ADITIVO DE SCHWARZ: INCÓGNITAS FIGURA 8.2: NÚMERO DE ITERAÇÕES DO MDD ADITIVO DE SCHWARZ: INCÓGNITAS FIGURA 8.3: TEMPO DE EXECUÇÃO DO MDD ADITIVO DE SCHWARZ: INCÓGNITAS FIGURA 8.4: TEMPO DE EXECUÇÃO DO MDD ADITIVO DE SCHWARZ: INCÓGNITAS FIGURA 8.5: SPEEDUP DO MDD ADITIVO DE SCHWARZ: INCÓGNITAS FIGURA 8.6: SPEEDUP DO MDD ADITIVO DE SCHWARZ: INCÓGNITAS FIGURA 8.7: EFICIÊNCIA DO MDD ADITIVO DE SCHWARZ: INCÓGNITAS FIGURA 8.8: EFICIÊNCIA DO MDD ADITIVO DE SCHWARZ: INCÓGNITAS FIGURA 8.9: EXECUÇÃO DO MDD ADITIVO DE SCHWARZ FIGURA 8.10: TEMPOS DE EXECUÇÃO: IMPLEMENTAÇÕES COM E SEM BLAS FIGURA 8.11: SPEEDUP: IMPLEMENTAÇÕES COM E SEM BLAS FIGURA 8.12: PROCESSOS VERSUS THREADS NO MDD ADITIVO DE SCHWARZ FIGURA 8.13: DECOMPOSIÇÃO DE DOMÍNIOS VERSUS DECOMPOSIÇÃO DE DADOS: TEMPO DE EXECUÇÃO 82 FIGURA 8.14: EXECUÇÃO DO MDD ADITIVO (A) EXECUÇÃO DO GC PARALELO (B) FIGURA 8.15: TEMPO DE EXECUÇÃO DO MÉTODO DO COMPLEMENTO SCHUR FIGURA 8.16: SPEEDUP DO MÉTODO DO COMPLEMENTO DE SCHUR FIGURA 8.17: EFICIÊNCIA FIGURA 8.18: ERROS DO MDD ADITIVO DE SCHWARZ v

7 LISTA DE SIGLAS E ABREVIATURAS ATLAS BLAS CC CSR EDP GC GMCPAR GMRES KL LabTec MDD MIMD MISD MPI MPP NORMA NOW NUMA ORB PC PCAM PETSc POSIX PVP PVM RCB SCI SDP SEL SIMD SISD SMP SOR UFRGS UMA Automatcally Tuned Lnear Algebra Software Basc Lnear Algebra Subprograms Condções de Contorno Compressed Sparse Row Equação Dferencal Parcal Gradente Conjugado Grupo de Matemátca Computaconal e Processamento Paralelo Método do Resíduo Mínmo Generalzado Kerngham-Ln Laboratóro de Tecnologa em Clusters Métodos de Decomposção de Domíno Multple Instructon Multple Data Multple Instructon Smple Data Message Passng Interface Massvely Parallel Processors Non-Remote Memory Access Network of Workstatons Non-Unform Memory Access Ortogonal Recursve Bsecton Computador Pessoal Parttonng, Communcaton, Agglomeraton e Mappng Portable, Extensble Toolkt for Scentfc Computaton Portable Operatng System Interface Parallel Vector Processor Parallel Vrtual Machne Recursve Coordnate Bsecton Scalable Coherent Interface Smétrca-Defnda Postva Sstema de Equações Lneares Smgle Instructon Multple Data Smgle Instructon Smple Data Symmetrc Multprocessors Successve Overrelaxaton Unversdade Federal do Ro Grande do Sul Unform Memory Access v

8 SUMÁRIO 1. INTRODUÇÃO Organzação do Trabalho AMBIENTE DE COMPUTAÇÃO PARALELA: HARDWARE E SOFTWARE Classfcação das Arquteturas Paralelas Modo de controle Compartlhamento de memóra Tendêncas de Sstemas Paralelos Clusters de PCs Bblotecas Bblotecas de troca de mensagem Bblotecas de threads Bblotecas de álgebra lnear e resolução de sstemas Conclusão PROCESSAMENTO PARALELO Paradgmas de Programação Mestre-Escravo Sngle-Program Multple-Data (SPMD) Ppelne de dados Dvsão e conqusta Estratégas para a Extração do Paralelsmo Técncas para a solução paralela de sstemas de equações Metodologa de desenvolvmento de programas paralelos Métrcas para Avalação de Desempenho Computaconal Tempo de execução Speedup Efcênca Conclusão PARTICIONAMENTO DE DADOS E DE DOMÍNIO Malhas e Grafos O Problema de Partconamento de Grafos Heurístcas e Métodos de Partconamento Métodos globas Métodos locas Métodos Multníves Pacotes de Partconamento METIS Crtéros para Escolha do Algortmo Conclusão SISTEMAS DE EQUAÇÕES Geração de Sstemas de Equações Métodos Dretos e Métodos Iteratvos Métodos teratvos do subespaço de Krylov Métrcas para Avalação da Qualdade da Solução em Paralelo Conclusão MÉTODOS DE DECOMPOSIÇÃO DE DOMÍNIO Métodos de Schwarz MDD Adtvo de Schwarz Implementação do MDD Adtvo de Schwarz Métodos do Complemento de Schur Implementação do Método do Complemento de Schur v

9 6.3 Conclusão METODOLOGIA DE DESENVOLVIMENTO RESULTADOS OBTIDOS Método MDD Adtvo de Schwarz: Análse de Desempenho Computaconal Número de terações Tempo de execução Speedup do MDD Adtvo de Schwarz Efcênca Comportamento do MDD Adtvo de Schwarz MDD Adtvo de Schwarz: BLAS MDD Adtvo de Schwarz: processos versus threads MDD Adtvo de Schwarz versus decomposção de dados MDD do Complemento de Schur: Análse de Desempenho Computaconal Análse da Qualdade Numérca Conclusão CONCLUSÕES Contrbuções Trabalhos Futuros REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICE A x

10 RESUMO As soluções de sstemas de equações lneares estão entre os problemas mas comuns encontrados em Computação Centífca. Tas sstemas são gerados pela dscretzação de equações dferencas parcas (EDPs), e são parte ntegrante de modelos matemátcos de fenômenos físcos e tecnológcos. Geralmente, tas sstemas de equações são de grande porte e esparsos e demandam soluções a cada passo de tempo. Requerem abordagens e estratégas numérco-computaconas efcentes, de tal modo que é mprescndível o uso de computação de alto desempenho, que é oferecda, por exemplo, por arquteturas de memóra dstrbuída não compartlhada. O objetvo deste trabalho é a obtenção de soluções em paralelo para sstemas de equações lneares esparsos e de grande porte. As soluções são obtdas empregando decomposção de domíno, de modo que, ao explorar o paralelsmo em clusters de PCs multprocessados, tas soluções possam ser atngdas em tempo sgnfcatvamente menor do que aquele obtdo com abordagens seqüencas. Foram mplementados dos métodos de solução: Método de Decomposção de Domíno Adtvo de Schwarz e o Método do Complemento de Schur. Os resultados do Método Adtvo foram satsfatóros tanto no que dz respeto ao desempenho quanto a qualdade numérca. Já o Método de Schur apresentou resultados apenas regulares. Palavras-chave: Clusters de PCs, Decomposção de Domíno, Sstemas de Equações lneares. x

11 11 1. INTRODUÇÃO Através de modelagem computaconal é possível realzar smulações computaconas de fenômenos naturas, tecnológcos e ndustras, que seram rrealzáves ou anteconômcos se efetvados por métodos expermentas. Tas fenômenos podem, em geral, ser modelados de modo acurado através de equações dferencas parcas (EDPs), que são defndas sobre domínos contínuos, necesstando que sejam dscretzadas, para poderem ser tratadas computaconalmente. Conforme o esquema de dscretzação empregado na aproxmação de uma determnada EDP, pode-se orgnar sstemas de equações que são lneares. Estes sstemas são, de modo geral, esparsos e de grande porte, onde as ncógntas podem ser da ordem de mlhares, ou até mesmo de mlhões (Canal, 2000). Consderando tas característcas, uma solução com alta qualdade numérca pode requerer grande capacdade de processamento e de armazenamento, o que torna mprescndível o uso de ambentes computaconas de alto desempenho. Sob tas ambentes, smulações computaconas podem ser realzadas com um nível de detalhe que não sera vável em abordagens computaconas seqüencas (Rzz, 2002). Tas ambentes podem ser oferecdos por clusters de PCs, que têm se mostrado uma opção acessível e efcente para se ter os recursos computaconas requerdos à solução dos problemas, de modo a reduzr o tempo de processamento. Um cluster de PCs pode ser defndo como sendo um conjunto de computadores (homogêneos ou não) conectados em rede, e que servem à execução de processamento em paralelo. O processamento paralelo (ou paralelsmo) é uma técnca usada em tarefas grandes e complexas para obter resultados mas rápdos, dvdndo-as em tarefas pequenas que serão dstrbuídas em város processadores para serem executadas smultaneamente. Esses processadores se comuncam entre s para que haja sncronzação na execução das dversas tarefas executadas em paralelo (Cenapad, 2003). Os sstemas de equações lneares, que são resolvdos utlzando-se de paralelsmo, estão presentes em váras aplcações como, por exemplo: programação lnear; dnâmca dos fludos computaconal; modelagem clmátca; prevsão meteorológca; etc. (Saad, 1996). Para a solução desses sstemas de equações lneares, exstem duas classes de métodos: a classe dos métodos dretos e a classe dos métodos teratvos. Os métodos dretos apresentam solução exata, exceto por erros de arredondamento devdo às operações de ponto flutuante, em um número fnto de passos. Métodos teratvos, por sua vez, utlzam-se de sucessvas aproxmações dos valores das ncógntas para obter uma solução cada vez mas acurada. Estas aproxmações são fetas até que se obtenha um lmte de erro acetável ou um número máxmo de terações (Martnotto, 2002).

12 12 Os métodos teratvos são os mas aproprados na solução de sstemas de equações esparsos de grande porte, pos estes métodos trabalham apenas sobre os elementos não nulos da matrz de coefcentes, não destrundo, portanto, a sua esparsdade. Essa questão é mportante, pos esse fato permte que se possa fazer otmzações no armazenamento, nas estratégas de solução e de comuncação, de modo que se obtém soluções efcentes. Uma das abordagens encontradas na lteratura técnca para a solução de sstemas de equações em paralelo é aquela que emprega métodos de decomposção de domíno (MDDs). Os MDDs são baseados no partconamento do domíno computaconal em subdomínos, de modo que a solução global do problema é obtda pela combnação aproprada das soluções obtdas em cada um dos subdomínos. Uma vez que dferentes subdomínos podem ser tratados ndependentemente, exceto nos pontos de sncronsmo, tas métodos são atratvos para ambentes computaconas de memóra dstrbuída, como é o caso dos clusters de PCs. Os MDDs podem ser dvddos em duas grandes classes: métodos de Schwarz, onde os subdomínos apresentam uma regão de sobreposção, e métodos de Schur, onde os subdomínos não apresentam regão de sobreposção. Na paralelzação dos métodos numércos para serem executados em clusters de PCs multprocessados, pode-se explorar dos níves de paralelsmo. Em um prmero nível explora-se o paralelsmo ntra-nodal, onde a memóra é compartlhada e o paralelsmo é explorado usando threads ou processos escalonados pelo sstema operaconal. Já em um segundo nível explora-se o paralelsmo nter-nodal através da troca de mensagem, utlzando uma bbloteca de troca de mensagens. Assm, o objetvo deste trabalho é desenvolver e analsar o desempenho computaconal e a qualdade numérca das soluções paralelas resultantes de dos métodos de decomposção de Domíno, com e sem sobreposção. Especfcamente, são desenvolvdas estratégas, estruturas de dados e mplementações para o MDD Adtvo de Schwarz, e para o Método do Complemento de Schur. As aplcações utlzam para teste arquvos de dados gerados no modelo HIDRA e pelo software GERATRIZ. HIDRA é o modelo computaconal paralelo b e trdmensonal, com balanceamento dnâmco de carga para a hdrodnâmca e para o transporte de substâncas desenvolvdo por Rogéro Lus Rzz (Rzz, 2002) e Rcardo Vargas Dorneles (Dorneles, 2003). GERATRIZ é um software desenvolvdo pelo Grupo de Matemátca Computaconal e Processamento Paralelo (GMCPAR) (Perln, 2003) para a geração de dados de entrada a partr de domínos estabelecdos pelo usuáro. Outros trabalhos exploraram a paralelzação de métodos de solução de sstemas lneares. Dentre esses, estão aqueles realzados pelo Grupo de Processamento Paralelo e Dstrbuído da UFRGS:

13 13 Ana Paula Canal, que desenvolveu a dssertação nttulada de Paralelzação de Métodos de Solução de Sstemas Lneares Esparsos com o DECK em Clusters de PCs, onde foram mplementadas versões paralelas do Método do Gradente Conjugado (GC) e do Método de Thomas para matrzes do tpo banda. Delcno Pcnn Junor, que desenvolveu o trabalho ndvdual de mestrado sobre a paralelzação do GC utlzando MPI e threads e em sua dssertação mplementou e analsou a paralelzação do método do GC e do Método do Resíduo Mínmo Generalzado (GMRES), utlzando MPI, DECK e Pthreads. André Lus Martnotto, desenvolveu o Trabalho de Conclusão de Curso nttulado Paralelzação de Métodos Numércos de Solução de Sstemas Esparsos de Equações Utlzando MPI e Pthreads e o trabalho ndvdual de mestrado sobre a paralelzação de précondconadores para o GC. Além destes, outros trabalhos relatvos a este assunto foram desenvolvdos pelos bolsstas Gulherme Galante e Jeysonn I. Balbnot, do GMCPAR, como pode ser vsto na bblografa menconada. 1.1 Organzação do Trabalho Este texto está organzado em sete capítulos. Nesse ncal, é realzada uma ntrodução do trabalho. No segundo capítulo, apresenta-se o ambente de programação paralela, abordando os questos de hardware e software. No tercero capítulo aborda-se os paradgmas, técncas e metodologas para o desenvolvmento de aplcações paralelas. Também são apresentadas algumas métrcas para avalação de desempenho de programas paralelos. O quarto capítulo refere-se ao problema de partconamento de dados e de domínos, onde são mostrados alguns algortmos e heurístcas exstentes, e os softwares dsponíves no mercado. O capítulo 5 refere-se as questões relatvas aos sstemas de equações lneares. Incalmente é dada uma ntrodução aos sstemas de equações lneares, em seguda é mostrado como são gerados, e quas são os métodos pelos quas podem ser resolvdos. Ao fnal

14 14 do capítulo são apresentadas métrcas para a avalação da qualdade numérca dos métodos de solução. O capítulo 6 abrange os métodos de decomposção de domíno, suas característcas, funconaldades e aplcações, além de um panorama geral das mplementações contdas neste trabalho, com explcações dos algortmos, estruturas de dados empregadas e exemplos dos mesmos. A metodologa empregada na mplementação e testes dos algortmos deste trabalho é mostrada no capítulo 7. No capítulo 8 apresentam-se os resultados obtdos com os testes das mplementações fetas neste trabalho. Os resultados são mostrados através de gráfcos de tempo de execução, speedup, efcênca e número de terações. Anda são mostrados alguns gráfcos do comportamento dos algortmos obtdos com a ferramenta de perflamento Jumpshot. No capítulo 9 capítulo são dscutdas as conclusões do trabalho, e algumas contrbuções e propostas para trabalhos futuros.

15 15 2. AMBIENTE DE COMPUTAÇÃO PARALELA: HARDWARE E SOFTWARE Este capítulo refere-se ao ambente utlzado no desenvolvmento de aplcações paralelas. A descrção desse ambente está dvdda em duas partes: a prmera se refere à parte físca (hardware) e a segunda se refere à parte lógca (software). Na prmera parte deste capítulo, são apresentados crtéros de classfcação das máqunas paralelas e as tendêncas em sua construção, dando maor ênfase aos clusters de PCs. Em um prmero momento, é dado um panorama geral, apresentando uma defnção de cluster, os tpos de arquteturas exstentes e as prncpas redes de nterconexão. Em um segundo momento serão colocados exemplos de clusters de alto desempenho do rankng do Top500 (TOP500, 2003), e também o cluster LabTec do Insttuto de Informátca da UFRGS. Na segunda parte, são abordadas as bblotecas de troca de mensagens, de threads, de álgebra lnear e de resolução de sstemas de equações. 2.1 Classfcação das Arquteturas Paralelas Exstem, uma grande varedade de arquteturas paralelas, que dferem tanto nas característcas do hardware, quanto nos propóstos para que foram projetadas. Para classfcar estas arquteturas exstem város crtéros, dentre os quas aborda-se, neste trabalho, o modo de controle e o compartlhamento de memóra Modo de controle Para se classfcar as arquteturas quanto ao modo de controle, pode-se utlzar a classfcação genérca de Flynn (Flynn, 1972). Esta classfcação basea-se no número de fluxos de dados (data stream) e de fluxos de nstruções (nstructon stream). Segundo esta abordagem, os computadores são dvddos em quatro classes: SISD, SIMD, MISD E MIMD, conforme vsto na Fgura 2.1. SISD (Sngle Instructon Sngle Data): São as máqunas convenconas, que processam uma nstrução operando sobre tens de dados smples. Nesta categora ncluem-se os computadores seras convenconas, que executam nstruções de modo seqüencal, não havendo nenhum tpo de paralelsmo.

16 16 SD ( Sngle Data) MD ( Multple Data) SI ( Sngle Instructon) MI ( Multple Instructon) SISD MISD SIMD MIMD Fgura 2.1: Classfcação de Flynn SIMD (Sngle Instructon Multple Data): São os chamados sstemas de processamento vetoral, com uma mesma nstrução operando smultaneamente sobre dados dstntos. Nesta classe, estão enquadradas as máqunas Array CM-2 e MasPar (Hwang, 1993). MISD (Multple Instructon Sngle Data): São máqunas que executam dversos fluxos de nstruções sobre tens de dados smples. Esta arqutetura não exste na prátca, sendo ncluída apenas para tornar a classfcação de Flynn completa. MIMD (Multple Instructon Multple Data): Sstema paralelo de processamento com dversas nstruções operando smultaneamente sobre dados dstntos. É nesta classe que se encontram os computadores paralelos. São representantes desta classe as máqunas CM-5 (Hwang, 1993), ncube, Intel Paragon e Cray T3D (Culler, 1999) Compartlhamento de memóra As máqunas do tpo MIMD podem ser classfcadas pelo crtéro de compartlhamento de memóras em três classes: máqunas com memóra compartlhada, máqunas com memóra dstrbuída e máqunas híbrdas. São classfcadas apenas as máqunas MIMD, porque é nesta classe que estão as máqunas paralelas, que são o foco deste capítulo Memóra compartlhada Neste tpo de máqunas todos os processadores compartlham um únco espaço de endereçamento de memóra. Máqunas deste tpo, também são chamadas de multprocessadores.

17 17 Levando em consderação o tpo de acesso à memóra, os multprocessadores podem ser classfcados como em (Hwang, 1993): UMA (unform memory acess): a latênca de acesso à memóra é unforme para todos os processadores. NUMA (non-unform memory acess): a latênca de acesso à memóra depende da localzação do processador em relação ao endereço de memóra. Anda quanto ao modo de acesso à memóra, é mportante ressaltar a mportânca da coerênca de cache. Mas nformações podem ser encontradas em (Hwang, 1993) Memóra dstrbuída Estas máqunas também são chamadas de multcomputadores. Inclu-se nesta classe máqunas formadas por váras undades de processamento, cada qual com sua memóra local, não acessível a outras máqunas. A troca de nformações é efetuada pelo envo de mensagens através da rede de nterconexão. O tpo de acesso à memóra utlzada pelos multcomputadores é conhecdo como NORMA (non-remote memory access). Como todos os componentes de uma arqutetura tradconal foram replcados na construção deste tpo de máqunas, cada nodo não tem acesso a endereçamentos remotos de memóra Memóra híbrda São máqunas que possuem tanto memóra dstrbuída quanto memóra compartlhada smultaneamente. Um exemplo deste tpo de máqunas são os clusters com nodos multprocessados. Clusters são tratados detalhadamente na seção A Fgura 2.2 mostra um panorama geral das classfcações das arquteturas paralelas.

18 18 Arquteturas de computadores SISD MISD SIMD MIMD Computadores Seras Computadores Vetoras Multprocessadores Multcomputadores Fgura 2.2: Panorama geral das Classfcações das arquteturas paralelas 2.2 Tendêncas de Sstemas Paralelos Segundo (De Rose, 2001), as prncpas tendêncas para a construção dos sstemas paralelos baseam-se em máqunas da classe MIMD. A segur são apresentados os modelos e suas respectvas característcas: PVP (Parallel Vector Processor): Sstemas consttuídos de máqunas paralelas com processadores vetoras, que se comuncam através de memóra compartlhada. A desvantagem desta classe de máqunas é o alto custo de seus processadores. SMP (Symmetrc Multprocessors): Sstemas consttuídos de processadores comercas 1. São conectados a uma memóra compartlhada através de um barramento de alta velocdade. O adjetvo smétrco (symmetrc) refere-se ao fato de que todos os processadores têm gual acesso à memóra, não ocorrendo nenhum prvlégo por parte do sstema operaconal. No entanto o uso de um únco barramento mpede a construção de uma máquna com grande quantdade de processadores, já que o canal é compartlhado por todos os processadores, e conseqüentemente o desempenho global das máqunas é afetado pela contenção do mesmo. MPP (Massvely Parallel Processors): Máqunas paralelas com grande número de processadores comercas, varando desde algumas dezenas até mlhares de undades de processamento, e memóra dstrbuída. O uso de memóra dstrbuída torna factível a construção de máqunas com grande número de processadores. 1 Processadores para uso comum, não tendo como prncpal fnaldade o uso em arquteturas paralelas.

19 19 na Fgura 2.3. NOW (Network of Workstatons): São sstemas consttuídos por váras estações de trabalho comuns nterlgadas com tecnologa tradconal, como por exemplo, redes Ethernet e ATM. Uma rede local pode ser vsta como uma máquna paralela, onde exstem város processadores, cada qual com seu espaço de endereçamento de memóra local, nterlgados por uma rede, formando uma máquna NORMA de baxo custo. O prncpal problema das NOWs é que as redes tradconas não são otmzadas para as comuncações de uma aplcação paralela, resultando em uma alta latênca nas operações, comprometendo o seu desempenho. Uma evolução das NOWs são os Clusters de PCs. Estes possuem hardware e software otmzados para a execução de aplcações paralelas. É possível observar um resumo das característcas dos modelos apresentados Tpo PVP SMP MPP NOW Clusters Estrutura MIMD MIMD MIMD MIMD MIMD Comuncação Número de Nodos Memóra compartlhada Memóra compartlhada Troca de mensagens Troca de mensagens Troca de mensagens ~10 ~ a a a 1000 Processador Específco Comum Comum Comum Comum Acesso à memóra UMA UMA NORMA NORMA NORMA Fgura 2.3: Resumo das arquteturas paralelas (DeRose, 2001) É mportante salentar que o paralelsmo é explorado também no nível de nstrução, onde dversas nstruções são executadas smultaneamente por meo da sobreposção dos dferentes estágos do cclo de execução de cada nstrução (ppelnng), e também pelo uso de processadores superescalares, onde as undades funconas do processador são duplcadas de modo que váras nstruções são processadas ao mesmo tempo. Maores detalhes sobre ppelnng e processadores superescalares podem ser encontrados em (Stallngs, 1996), (Tanenbaum, 1999) e (Patterson, 1998).

20 Clusters de PCs Um cluster de PCs é um conjunto de computadores (heterogêneos ou não) conectados em rede para o desenvolvmento de processamento paralelo. Ou seja, as máqunas são conectadas va rede para formar um únco computador. O projeto ponero em clusters de PCs fo desenvolvdo no CESDIS (Center of Excellence n Space Data and Informaton Scences) em 1994 (Ptanga, 2002). Contava com 16 máqunas 486 rodando GNU/Lnux. O uso de clusters é uma alternatva ao uso de supercomputadores e manframes. Entre as prncpas vantagens do uso de clusters pode-se ctar: Ótma relação custo x benefíco: possu um dos menores custos por Mflops/s em comparação a outras arquteturas paralelas, devdo à sua composção feta bascamente por componentes comuns (De Rose, 2001); Alto Desempenho: possbldade de se resolver problemas muto complexos através de processamento paralelo; Escalabldade: possbldade de que novos componentes sejam adconados ou trocados conforme a necessdade (Ptanga, 2002); Dsponbldade: se um nodo falhar, os outros podem contnuar fornecendo servços (Carvalho, 2002). Um cluster é dto homogêneo quando todos os nodos de um cluster possuem as mesmas característcas (processador, memóra, dscos rígdos), e mesma rede de comuncação nterlgando os nodos. Se o cluster possu nodos com dferentes característcas ou dferentes redes de comuncação entre grupos de nodos, o cluster é dto heterogêneo. Segundo (Dorneles, 2001), os nodos de um cluster podem ser monoprocessados quando possuem apenas um processador ou multprocessados, quando possuem mas de um processador. Segundo (Buyya, 1999 apud Martnotto, 2003), em clusters multprocessados, o paralelsmo ntra-nodal e nter-nodal pode ser explorado das seguntes formas: Troca de mensagens: troca de mensagens são um padrão no desenvolvmento de aplcações para clusters. Quando usado em clusters multprocessados, os processadores de um mesmo nodo comuncam-se entre s através do uso de troca de mensagens. Memóra compartlhada: mecansmos DSM, mplementados em software ou hardware, são uma alternatva ao uso de troca de mensagens em clusters. Mecansmos DSM permtem smular

21 21 ambentes de memóra compartlhada em ambentes com memóra dstrbuída. A comuncação nter-nodos é mplícta ao programador. Esse tpo de mecansmos ntroduz um custo adconal para o gerencamento de endereços e coerênca de dados. Troca de mensagens em conjunto com memóra compartlhada: para uma melhor exploração do paralelsmo em clusters multprocessados é adequado explorar as vantagens de ambas as arquteturas. Para a exploração do paralelsmo nter-nodos o utlzase troca de mensagens e para a exploração do paralelsmo ntranodos utlza-se multthreadng. Bblotecas de threads e troca de mensagens são abordadas na seção Exemplos de clusters de PCs Atualmente, dversas empresas e nsttuções de pesqusa possuem clusters com o número de nodos que varam de dos até alguns mlhares. No ste é possível encontrar os clusters de maor capacdade de processamento do mundo. Nas Fguras 2.4 e 2.5 são mostrados detalhes de dos clusters pertencentes à lsta Top 500. MCR Lnux Cluster Propretáro Lawrence Lvermore Natonal Laboratory País e Localzação Lvermore, CA USA Número de Nodos Processadores Intel Xeon 2.4 GHz Total de Processadores Performance (Gflops) Memóra Total (GB) Dsco Rígdo Total (GB) Sstema Operaconal Lnux Rede de Conexão QsNet Ano de Instalação 2002 Área de Aplcação Pesqusa Centífca Fgura 2.4: Característcas do MCR Lnux Cluster (TOP500)

22 22 Corporate Propretáro GX Technology Corporaton País e Localzação Houston, Texas USA Número de Nodos 1792 Processadores 528 Sun U MHz 112 AMD Thunderbrd 1.0 GHz 84 AMD Palomno 1.2 GHz 254 Intel Pentum III 1.1 GHz 1726 Intel Pentum III 1.4 GHz 880 Intel Pentum IV 2.4 GHz Total de Processadores Performance (Gflops) Memóra Total (GB) Dsco Rígdo Total (GB) Sstema Operaconal Lnux Rede de Conexão Ggabt Ethernet Ano de Instalação 2003 Área de Aplcação Smulações Sísmcas Fgura 2.5: Característcas do Cluster Corporate (TOP500) Na vgésma prmera edção da lsta (2002), 80 clusters encontram-se entre os 500 computadores mas rápdos do mundo. Para os testes das aplcações desenvolvdas é utlzado o cluster LabTec do Insttuto de Informátca da UFRGS. As característcas são mostradas na Fgura 2.6. LabTeC UFRGS DELL Número de Nodos 21 Processadores 40 Intel Pentum III 1.1 GHz 2 Intel Pentum Xeon IV 1.8 GHz Total de Processadores 42 Performance (Gflops) ~24 Memóra Total (GB) 21 Dsco Rígdo Total (GB) 396 Sstema Operaconal Lnux Rede de Conexão Ggabt/Fast Ethernet Ano de Instalação 2002 Área de Aplcação Pesqusa Centífca e Acadêmca Fgura 2.6: Característcas do Cluster LabTec UFRGS

23 Redes de nterconexão A adoção de uma tecnologa de rede com baxa latênca 2 e grande largura de banda 3 é muto mportante para o desempenho fnal do sstema como um todo. Dentre as possbldades de redes de nterconexão utlzadas em cluster, destacam-se: Ggabt Ethernet : é uma extensão dos padrões de rede Ethernet e Fast- Ethernet, tendo sdo defndo em junho de 1998 pelo padrão IEEE z (Ggabt Ethernet Allance, 1997). O padrão Ggabt Ethernet oferece alta performance, e boa escalabldade a baxos custos. Apresenta boa largura de banda, mas uma alta latênca. Myrnet: desenvolvda pela empresa Myrcom (Myrcom, 2003), tem como objetvo ser uma tecnologa de nterconexão, baseada em chaveamento e comuncação por pacotes, de baxo custo e de alta performance. As característcas que dstnguem a Myrnet das demas são especalmente lnks full-duplex alcançando 2 Gbps para cada um, pacotes de tamanho varável (permtndo qualquer tpo de pacote), controle de fluxo, de erro, montoramento contínuo dos lnks, baxa latênca, suporte a qualquer confguração de topologa. SCI (Scalable Coherent Interface): defndo pelo padrão IEEE/ANSI (SCI, 2003), fo a prmera tecnologa de rede a ser desenvolvda especalmente para propóstos de computação em clusters. O padrão oferece baxa latênca e alta taxa de transmssão de dados (cerca de 8 Gbps). A comuncação em SCI pode ser feta através de troca de mensagens e memóra compartlhada dstrbuída, mplementada em um espaço de endereçamento físco de 64 bts que permte operações de escrta e letura. O desempenho é garantdo pelo acesso à memóra que é feto por nstruções LOAD/STORE mplementadas em hardware (SCI, 2003). QsNet: Produzda pela Quadrcs, é uma tecnologa para computadores com multprocessamento smétrco, oferece largura de banda nomnal de 400Mbps e baxa latênca (Petrn, 2002). Infnband: tecnologa de nterlgação apoada por fabrcantes como Intel, IBM, Sun, HP e Mcrosoft, e que especfca uma arqutetura de 2 A latênca é dada pelo tempo necessáro para transmtr uma mensagem de uma máquna orgem a um destno. 3 É o número máxmo de bts que podem ser transmtdos por segundo pela rede.

24 24 hardware para a nterlgação de alto desempenho ntra e nter-nodal (Infnband Trade Assocaton, 2003). 2.3 Bblotecas Como vsto na seção 2.2, mutos sstemas paralelos são formados por computadores ndependentes nterlgados por uma rede veloz. Estas máqunas são dtas de memóra dstrbuída. Nestes sstemas, pode-se executar tarefas de modo paralelo, e eventualmente estas tarefas necesstam de mecansmos de compartlhamento de dados e sncronzação. Sendo que cada processo possu acesso somente a sua memóra local, a comuncação entre os processos é feta através do envo e recebmento de mensagens, onde os dados são envados da memóra local de um processo para a memóra local de um processo remoto. A dstrbução dos dados entre os processos é feta de forma explícta pelo programador Bblotecas de troca de mensagem A utlzação de compartlhamento de dados va troca de mensagens é bastante popular e são encontradas na bblografa dversas ferramentas dsponblzando estes recursos de programação. Entre elas podemos ctar o PVM e o MPI, que serão descrtos nas seções e , respectvamente. Pode-se relaconar dos prncpas fatores que justfcam a grande acetação do paradgma de troca de mensagens: Pode ser executado em uma grande varedade de plataformas, nclusve em arquteturas multprocessadas com memóra compartlhada ou anda em um únco processador; Adequa-se naturalmente a arquteturas ampláves, ou seja, a capacdade de aumentar o poder computaconal proporconalmente ao aumento de componentes do sstema (boa escalabldade); A prncpal lmtação do paradgma é a sobrecarga causada pela comuncação entre os processos e pela sncronzação entre eles. O custo da comuncação entre processos pode tornar nvável o uso de troca de mensagens em determnados ambentes (Palha, 2000).

25 PVM PVM (Parallel Vrtual Machne), é um conjunto ntegrado de bblotecas e ferramentas de software, que permtem que um conjunto de máqunas heterogêneas conectadas em rede seja utlzado como uma arqutetura paralela de memóra dstrbuída, formando uma máquna paralela vrtual. PVM fo desenvolvda pelo Oak Rdge Natonal Laboratory em conjunto com dversas unversdades. A ntenção ncal era facltar a mplementação de programas centífcos de alto desempenho explorando o paralelsmo sempre que possível. O PVM é consttuído por dos componentes: um daemon 4 resdente (pvmd) e a bbloteca de comuncação (lbpvm). Ambos devem estar dsponíves em cada nodo da máquna vrtual paralela. O prmero componente, pvmd, é a nterface de troca de mensagens entre a aplcação de cada máquna local e o restante da máquna vrtual. O segundo componente, lbpvm fornece à aplcação local todas as funconaldades que necessta para que possa comuncar-se com os outros nodos. O download do PVM, e nformações adconas podem ser encontrados em: MPI O MPI (Message Passng Interface) é um padrão, e não uma bbloteca, crado em um fórum aberto consttuído de aproxmadamente 80 pessoas, representando 40 organzações. É mportante ressaltar que, enquanto o PVM é uma mplementação, o MPI é apenas uma especfcação sntátca e semântca de rotnas consttuntes da bbloteca de comuncação (Cenapad, 2003). O prncpal objetvo do MPI é garantr a portabldade de aplcações que utlzem troca de mensagens para dferentes arquteturas de computadores. Isso permte que aplcações desenvolvdas em MPI sejam executadas em dferentes arquteturas sem a necessdade de alterações. O documento que defne o padrão "MPI: A Message-Passng Standard" fo publcado pela Unversdade de Tennesee e encontra-se em A versão 1.1 de MPI possu ao todo 129 funções, mas com um número reduzdo (6) é possível resolver uma grande varedade de problemas (Pacheco, 1997). O MPI defne funções para: 4 Servço permanentemente atvo em um sstema que aguarda nstruções para dsparar ações específcas.

26 26 Comuncação ponto a ponto; Comuncação coletva (de grupo); Grupos de processos; Gerencamento de processos. Atualmente o MPI possu dversas mplementações comercas ou de domíno públco. Neste trabalho utlzou-se a mplementação de domíno públco MPICH (MPI Chameleon), do Argonne Natonal Laboratory. Seu download e documentação completa pode ser encontrada em: Bblotecas de threads Um thread pode ser defndo como um fluxo de execução dentro de um processo e consste em um contador de nstruções, um conjunto de regstradores e um espaço de plha (Slberschatz, 2001). Devdo ao alto custo envolvdo na cração de novos processos, a utlzação de múltplos threads, ou multthreadng, em um programa pode apresentar vantagens. Na cração de um novo processo o sstema operaconal copa todos os atrbutos do processo corrente para o processo que está sendo crado. Já os threads compartlham os atrbutos do processo. Deste modo a cração de um novo thread é menos custosa pos não é necessáro efetuar uma cópa dos atrbutos, bastando ncalzar seus ponteros de modo que referencem os atrbutos do processo (Pcnn, 2001) (Slberschatz, 2001). Além dsso, os programas com múltplos threads podem ter ganhos de desempenho sgnfcatvos trando partdo de arquteturas multprocessadas, de modo que dferentes threads podem ser executados smultaneamente em dferentes processadores. Mas nformações sobre uso de threads e ganhos de desempenho com seu uso podem ser encontrados em (Martnotto, 2001), (Pcnn, 2001) e (Pcnn, 2002). Pode-se notar também o aumento do throughput 5 do sstema. A execução de um programa com um só thread resulta freqüentemente em tempo de CPU lvre. Isto ocorre quando o programa faz alguma chamada ao sstema operaconal e tem que esperar que o servço esteja totalmente atenddo antes de poder contnuar. Em um programa multthread, se um thread faz uma chamada ao sstema e fca bloqueado à espera que este seja totalmente atenddo, outro thread pode executar. Esta sobreposção permte uma melhor utlzação da CPU mesmo em máqunas monoprocessadas. 5 Quantdade de tarefas completadas por undade de tempo.

27 27 Embora exstam bons argumentos para o uso de múltplos threads nas aplcações, a adção de threads também ntroduz complexdade e a possbldade de encontrar uma nova classe de erros (deadlock, starvaton, etc.) que não fazem parte dos problemas da programação com thread únco. Também se pode fazer necessáro o uso de sncronzação ntranodal, que pode ocasonalmente acarretar em sobrecarga extra, podendo afetar o desempenho da aplcação. Exstem város modelos de programação com threads. Nas plataformas orgnáras do UNIX predomnam Pthreads e o OpenMP Pthreads O Pthreads (Lews, 1998) é especfcado pelo padrão POSIX c. Esta especfcação defne uma API para o desenvolvmento de ferramentas de suporte à programação utlzando threads. Em Pthreads, os threads são crados e elmnados dnamcamente, conforme a necessdade. Além dsso, o padrão oferece mecansmos de sncronzação, como semáforos, mutexes e varáves condconas. Para utlzar a bbloteca Pthreads no Lnux não é necessára a nstalação de nenhum componente, já que a mesma é padrão para este sstema operaconal OpenMP OpenMP (OpenMP, 2003) é uma especfcação para um conjunto de dretvas de complador, bbloteca de rotnas e varáves de ambente que podem ser usadas para especfcar paralelsmo em memóra compartlhada. O padrão OpenMP fo defndo por um grupo de empresas que nclu: Compaq, IBM, Intel, Slcon Graphcs, Kuck & Assocates, Sun Mcrosystems e US Department of Energy ASCI Program. OpenMP fo desenvolvdo para ser um padrão flexível e de fácl mplementação em dferentes plataformas. Sua API pode ser dvdda em 6 categoras: regões paralelas, compartlhamento de trabalho, sncronzação, ambente de dados, bbloteca de funções e varáves de ambente.

28 28 O modelo de execução paralelo adotado em OpenMP é o fork-jon. Como mostrado na Fgura 2.7, o programa nca a execução com uma smples thread, chamado de mestre. Quando esta atnge um construtor paralelo, ela cra um conjunto de n threads e o trabalho contnua em paralelo ao longo destas. Ao sar do construtor paralelo os threads sncronzam e se juntam ao thread mestre, que segue soznha a execução. Para o uso do OpenMP é necessáro o uso de um complador especal, já que compladores comuns não suportam as dretvas do OpenMP. Um complador dsponível gratutamente para OpenMP é o OMNI. O pacote dsponblza um complador e todas as bblotecas necessáras. O complador OMNI e sua documentação podem ser obtdo em thread 2 thread 2 níco thread 1 thread 1 fm thread 0 thread 0 seral paralelo seral paralelo seral Fgura 2.7: Modelo de execução OpenMP Bblotecas de álgebra lnear e resolução de sstemas Sstemas de equações lneares e problemas que utlzam álgebra lnear para sua solução estão entre os maores consumdores de tempo de processamento dos programas centífcos. No ntuto de tornar a resolução desses sstemas cada vez mas rápdos e efcentes, foram desenvolvdas dversas bblotecas com dversas operações e métodos para a resolução dos mesmos. Esta seção tem como objetvo mostrar as característcas e funconaldades de duas bblotecas gratutas, uma para operações de álgebra lnear e a outra para solução de sstemas de equações, que são as mas utlzadas atualmente no meo centífco: BLAS e PETSc, respectvamente.

29 BLAS BLAS (Basc Lnear Algebra Subroutnes) é um conjunto de rotnas de operações vetoras e matrcas báscas. É muto usada como camada em dversos softwares matemátcos, como por exemplo, a bbloteca PETSc. A versão ncal da BLAS destnava-se ao uso da lnguagem Fortran. Atualmente pode ser utlzada com C e C++ em dversas arquteturas. A bbloteca BLAS consste em 3 níves, cujas funconaldades podem ser vstas na Fgura 2.8. BLAS utlza convenção de nomes para dentfcar uma operação e o tpo de dado envolvdo na mesma. Exemplos desta convenção são: CSUM: soma de dos vetores (SUM) de números complexos (C); DTRMM: multplcação de matrzes (MM) entre duas matrzes trangulares (TR) de dupla precsão (D). Uma completa referênca das operações dsponível na BLAS pode ser encontrada em Nível Complexdade das Operações Exemplos de operações BLAS 1 O vetores, produto escalar, norma de vetores BLAS 2 O(n 2 ) Multplcação matrz-vetor, transposção de matrzes, solução de sstemas trdagonas BLAS 3 O(n 3 ) Multplcação matrz-matrz, fatorzação LU Fgura 2.8: Níves da bbloteca BLAS Segundo (Dongarra, 2000), os ganhos de desempenho no nível 1 da BLAS são de no máxmo 15%. Neste nível os ganhos de desempenho fcam a cargo das otmzações das operações de ponto flutuante e estruturas de repetção. Já nos níves 2 e 3 os ganhos de desempenho varam entre 10 e 300%. Esse fato se deve às otmzações de laços de repetção e técncas de acessos rápdos de memóra, além da otmzação das operações de ponto flutuante, também presente no nível 1. Váras mplementações da BLAS estão dsponíves no mercado, mutas delas são versões otmzadas para uma arqutetura específca. A versão utlzada é parte ntegrante do pacote ATLAS 6 (Automatcally Tuned Lnear Algebra Software). Este pacote fornece os 3 níves com uma mportante funconaldade: no níco da nstalação, é feta a verfcação da arqutetura hospedera e o pacote é otmzado automatcamente (Automatcally Tuned). 6 math-atlas.sourceforge.net

30 PETSc PETSc (The Portable, Extensble Toolkt for Scentfc Computaton) (Balay, 2003) é um conjunto de bblotecas para a solução em paralelo de problemas relaconados à dscretzação de equações dferencas parcas e afns. Permte resolver sstemas de equações lneares e não-lneares, tanto densos como esparsos, além de possur um abrangente controle de erros e funções para gráfcos smples. As estruturas de dados báscas e operações relaconadas são transparentes ao usuáro, sendo apenas acessadas através de tpos genércos e funções. PETSc também fornece um grande número de opções que podem ser seleconadas em tempo de execução. Um exemplo destas opções é a seleção do resolvedor em tempo de execução. Qualquer resolvedor de sstemas lneares poderá ser escolhdo através da opção de lnha de comando -ksp_type segudo pela opção desejada. No exemplo a segur o método escolhdo é o gradente conjugado (GC). mprun -np 2 program_name ksp_type cg Esta característca é extremamente útl no desenvolvmento de programas de propósto geral, que podem ser usados para resolver uma varedade de tpos dferentes de problemas smplesmente escolhendo um resolvedor para cada uma delas. PETSc utlza MPICH em todas as comuncações de troca de mensagens, e BLAS e LAPACK 7 para operações de álgebra lnear. A organzação do pacote PETSc é mostrado na Fgura 2.9. Fgura 2.9: Organzação da Bbloteca PETSc O pacote e a documentação podem ser obtdos em: 7

31 Conclusão Neste capítulo foram tratados as questões referentes ao hardware e software utlzado para a mplementação de aplcações paralelas. Em relação ao hardware, os clusters têm se mostrado uma opção acessível de ambente paralelo. Atualmente, com o avanço dos processadores comuns e das redes, pode-se obter desempenho equvalente ao de PVPs e MPPs por um custo muto menor. Em clusters, pode-se explorar o paralelsmo ntra-nodal e o nter-nodal, fazendo-se necessáro o uso de bblotecas threads e de troca de mensagens respectvamente. Nesse contexto, foram apresentadas duas bblotecas de troca de mensagens: MPICH e PVM, e para multthreadng: Pthreads e OpenMP. Buscou-se também proporconar uma vsão geral da bbloteca de álgebra lnear BLAS e da bbloteca de resolução de sstemas PETSc, mostrando suas prncpas característcas.

32 32 3. PROCESSAMENTO PARALELO O paralelsmo em nível de programa pode ser explorado tanto explctamente, como mplctamente. A exploração do paralelsmo explícto tem como prncpal desvantagem o fato de requerer um projeto (e/ou um projetsta) mas sofstcado do que o necessáro para explorar o paralelsmo mplícto. Porém, possu como prncpal vantagem à obtenção de melhor desempenho, já que o projeto pode atentar às peculardades da arqutetura e do algortmo. De fato, a programação paralela explícta requer que o projetsta do algortmo paralelo especfque como os processadores devem operar e nteragr para resolver um problema específco. A tarefa do complador é, nesses aspectos, apenas gerar as nstruções especfcadas pelo programador, pos todo trabalho na paralelzação das tarefas fca a cargo do programador. Já a programação paralela mplícta emprega uma programação seqüencal, e utlza um complador que nsra automatcamente as nstruções necessáras para executar o programa de forma paralela. Essa abordagem é, sob o ponto de vsta da programação, mas fácl. Porém, a conversão automátca de programas seqüencas para paralelos é, va de regra, mas satsfatóra em arquteturas vetoras do que em arquteturas com memóra dstrbuída. Além dsso, em clusters multprocessados, como o utlzado para executar os expermentos computaconas desenvolvdos neste trabalho, tem-se memóra compartlhada e memóra dstrbuída e, assm, pode-se explorar os dos níves de paralelsmo, o ntra e o nternodal. Então, neste trabalho, emprega-se a abordagem explícta, já que nexstem ferramentas apropradas para extrar o paralelsmo mplctamente desse tpo de arqutetura (Pcnn, 2001). 3.1 Paradgmas de Programação Sob o ponto de vsta de programação, os paradgmas de programação paralela podem ter dversas classfcações, e estas dvergem de autor para autor. Uma classfcação é aquela de (Slva, 2003), onde se têm os seguntes paradgmas: Mestre-Escravo; Sngle Program Multple Data; Ppelne de Dados; Dvsão e Conqusta.

33 Mestre-Escravo O paradgma Mestre-Escravo, como o própro nome sugere, consste em duas entdades: mestre e múltplos escravos. O mestre é responsável pela decomposção do problema em pequenas tarefas, em dstrbur estas tarefas entre os escravos, e reunr os resultados parcas obtdos. Estes resultados quando reundos geram a solução total do problema. Os processos escravos recebem as mensagens com a tarefa, processam esta tarefa e envam o resultado ao mestre. Geralmente a comuncação é efetuada apenas entre mestre e escravos. Uma representação deste paradgma pode ser encontrada na Fgura 3.1. Fgura 3.1: Representação para fases do paradgma Mestre-Escravo Este paradgma pode alcançar bons speedups, (ver seção 3.5), e uma boa escalabldade. No entanto, o controle centralzado para um número elevado de processadores pode tornar o processo mestre um gargalo para a aplcação. Isso pode ser resolvdo estendendo o controle para um conjunto de mestres, onde cada mestre controla um conjunto de escravos dstntos Sngle-Program Multple-Data (SPMD) O paradgma SPMD é o paradgma mas comumente utlzado. Cada processo executa bascamente o mesmo trecho de códgo, mas em dferentes partes dos dados. Isso envolve a dvsão dos dados da aplcação entre os processadores dsponíves. Após a dvsão, os processos podem necesstar de comuncação ou/e sncronzação. Os dados podem ser ncalzados pelo própro processo ou podem ser ldos de um dsco durante o estágo de ncal. Veja uma representação na Fgura 3.2. As aplcações SPMD podem ser muto efcentes se tverem seus dados bem dstrbuídos e o sstema hospedero for homogêneo. Se os processos apresentam dferentes

34 34 cargas de trabalho ou capacdades, então o paradgma pode exgr algum esquema de balanceamento de carga capaz de adaptar a dstrbução de dados em tempo de execução. Fgura 3.2: Representação para fases do paradgma SPMD Ppelne de dados Neste paradgma, os processos são organzados em um ppelne, onde cada processo corresponde a um estágo do ppelne e é responsável por uma tarefa específca, como representado na Fgura 3.3. Fgura 3.3: Representação para fases do paradgma ppelne O padrão de comuncação neste paradgma é smples, de modo que pode ser vsto como um fluxo dos dados de um processo para o outro. Por este motvo este tpo de paralelsmo é referencado como paralelsmo de fluxo. A efcênca deste paradgma depende dretamente do balanceamento de carga entre os estágos do ppelne Dvsão e conqusta O paradgma de dvsão e conqusta é bem conhecdo no desenvolvmento de algortmos seqüencas. Um problema é dvddo em dos ou mas subproblemas. Cada um destes subproblemas é resolvdo ndependentemente e seus resultados são combnados para se

35 35 chegar ao resultado fnal. Mutas vezes, os subproblemas são nstâncas do problema orgnal, dando orgem a uma execução recursva. No paradgma de dvsão e conqusta paralelos, os subproblemas podem ser resolvdos smultaneamente de forma paralela. Além dsso, pouca ou nenhuma comuncação entre processos é necessára, já que os subproblemas são ndependentes. Veja uma representação na Fgura 3.4. Fgura 3.4: Representação para fases do paradgma Dvsão e Conqusta Em algumas aplcações, pode-se msturar elementos de dferentes paradgmas. Métodos híbrdos podem combnar elementos de dversos paradgmas em dferentes partes de um mesmo programa. 3.2 Estratégas para a Extração do Paralelsmo A construção de aplcações paralelas pode ser orentada por duas estratégas prncpas, como segue: 1. Paralelsmo de dados: onde as tarefas possuem a mesma função operando sobre porções de dados dferentes, ou seja, utlzam-se do paradgma de programação SPMD ou mestre-escravo; 2. Paralelsmo funconal: onde as tarefas da aplcação possuem dferentes funções, cada uma responsável por uma etapa do trabalho. O paralelsmo funconal pode ser mplementado utlzando tanto o paradgma mestre-escravo, quanto ppelne de dados. Em geral, a decomposção funconal reduz a complexdade de projeto. Um exemplo dsso é o caso de modelos computaconas de sstemas complexos, que podem ser estruturados como conjuntos de modelos mas smples, conectados por nterfaces. Veja um

36 36 exemplo em (Foster, 1994) do emprego do paralelsmo funconal para um modelo meteorológco, que contém como sub-modelos o modelo hdrológco, oceânco e o da superfíce da Terra. Neste trabalho, as estratégas de mplementações para a obtenção da solução em paralelo enfocam o paralelsmo de dados, cujos modelos mas utlzados são a decomposção ou partconamento de dados, onde as operações e os dados são dstrbuídos entre os processos dsponíves e são resolvdos em paralelo, e a decomposção de domíno, onde se obtém a solução do problema global combnando as soluções de subproblemas locas Técncas para a solução paralela de sstemas de equações Para a solução de sstemas de equações em paralelo são duas as abordagens mas exploradas: a paralelzação de métodos numércos, e o emprego de métodos de decomposção de domíno. É mportante frsar que ambas abordagens se encaxam na estratéga de paralelsmo de dados. Na prmera abordagem gera-se um únco sstema de equações para todo o domíno, que é resolvdo através de um método numérco paralelzado. Na segunda abordagem emprega-se um método de decomposção de domíno (MDDs). MDDs desgnam um conjunto de técncas matemátcas e computaconas que fornece a solução global do problema pela combnação aproprada das soluções obtdas em cada um dos subdomínos (Rzz, 2003). Neste trabalho são empregados métodos de decomposção de domíno. Uma vez que dferentes subdomínos podem ser tratados ndependentemente, exceto nos pontos de sncronsmo, tas métodos são atratvos para ambentes computaconas de memóra dstrbuída, como é o caso dos clusters de PCs. Tas MDDs podem ser dvddos em duas grandes classes: métodos de Schwarz, onde os subdomínos apresentam uma regão de sobreposção, e métodos de Schur, onde os subdomínos não apresentam regão de sobreposção (Smth, 1996). Mas detalhes sobre os métodos são apresentados e dscutdos no capítulo Metodologa de desenvolvmento de programas paralelos A metodologa PCAM (Parttonng, Communcaton, Agglomeraton e Mappng) proposta por Foster (Foster, 1995), consttu um bom método para o desenvolvmento de programas paralelos. O objetvo declarado desta proposta é projetar algortmos ndependentes de uma arqutetura partcular fornecendo estratégas para maxmzar as

37 37 alternatvas de paralelsmo vsando mnmzar os problemas que podem ocorrer nas etapas do desenvolvmento do projeto. A estrutura metodológca de Foster é composta por quatro fases: o partconamento, a comuncação, a aglomeração e o mapeamento. Nas prmeras duas fases, são enfocadas a concorrênca e a escalabldade e procura-se descobrr algortmos que tenham estas qualdades; no tercero e quarto estágos, os enfoques são a localdade e outros aspectos relaconados ao desempenho. Estes quatro estágos podem ser sntetzados como representado na Fgura 3.5 e, como detalhado a segur. Fgura 3.5: Estrutura da Metodologa PCAM (Foster, 1995) Partconamento: a computação a ser executada e o seu respectvo conjunto de dados, devem ser decompostos em pequenas tarefas. Como a abordagem é genérca, gnoram-se questões como o número de processadores e característcas específcas de máqunas em partcular. O enfoque neste passo é reconhecer as oportundades para execução paralela. Exstem duas formas de gerar partções: através da dvsão dos dados ou das funções, tal como mostrado na seção 3.2; Comuncação: deve-se determnar a comuncação necessára para coordenar a execução das tarefas e as estruturas mas apropradas para a realzação desta tarefa; Aglomeração: deve-se avalar as estruturas das tarefas e das comuncações, defndas nos dos prmeros estágos do projeto, com respeto às exgêncas de desempenho e aos custos de mplementação. Se necessáro, as tarefas podem ser combnadas em

38 38 tarefas maores para aumentar o desempenho e/ou reduzr os custos de projeto/mplementação; Mapeamento: cada tarefa é endereçada para um processador na tentatva de satsfazer os objetvos de maxmzar a utlzação de cada um deles e mnmzar os custos de comuncação. Este mapeamento pode ser especfcado de forma estátca, ou determnado em tempo de execução, por algortmos de balanceamento de carga. Assm, o projeto metodológco PCAM para desenvolvmento de programas paralelos é estruturado, ou seja, nca com uma especfcação do problema; depos se desenvolve uma estratéga de partconamento; em seguda se determnam as necessdades de comuncação e aglomeração de tarefas e realza-se mapeamento destas para os processadores. 3.4 Métrcas para Avalação de Desempenho Computaconal O desempenho de um programa em uma arqutetura pode ser mensurado de dversos modos. As meddas mas utlzadas são: tempo de execução, speedup e efcênca Tempo de execução O tempo de execução de um programa paralelo é o tempo que decorrdo desde o prmero processador ncar a execução do programa até o últmo termnar. A fórmula para determnar o tempo de execução é dada por: T exec = T fnal T ncal Speedup O Speedup (S) obtdo por um algortmo paralelo executando sobre p processadores é a razão entre o tempo levado por aquele computador executando o algortmo seral mas rápdo (Ts) e o tempo levado pelo mesmo computador executando o algortmo paralelo usando p processadores (Tp). Esta defnção é representada pela expressão: S = Ts Tp À medda que o número de processadores é ncrementado, o speedup de uma aplcação também é ncrementado. No entanto, pode ocorrer em alguns casos a saturação do sstema. A partr desse ponto a adção de novos processadores não resulta em ganho de

39 39 desempenho, podendo acontecer até mesmo o reverso (speeddown). Isso se deve a sobrecarga causada pelo aumento de comuncação entre os processadores e o aumento de tarefas de sncronzação Efcênca A efcênca (E) é a razão entre o speedup obtdo com a execução com p processadores e p. Esta medda mostra o quanto o paralelsmo fo explorado no algortmo. Quanto maor a fração nerentemente seqüencal menor será a efcênca. E = S p 3.5 Conclusão Apesar da lteratura ser um tanto confusa em relação aos paradgmas de programação, apresentou-se neste trabalho alguns deles de acordo com a abordagem de (Slva, 2003). Segundo o autor, podemos ctar os paradgmas Mestre-Escravo, Sngle Program Multple Data, Ppelne de Dados e Dvsão e Conqusta. Num segundo momento, foram abordadas as estratégas para a extração do paralelsmo e as técncas, paralelzação de métodos numércos e decomposção de domíno, para a Solução Paralela de Sstemas de Equações. Anda neste capítulo, apresentou-se a metodologa PCAM (Parttonng, Communcaton, Agglomeraton e Mappng) proposta por Foster (Foster, 1995). Fnalzando o capítulo encontram-se algumas métrcas de avalação de desempenho computaconal, que são utlzadas para avalar os ganhos de desempenho de uma determnada aplcação em relação ao seu algortmo seqüencal. Com sso pode-se saber se a paralelzação fo vantajosa ou não.

40 40 4. PARTICIONAMENTO DE DADOS E DE DOMÍNIO Para a solução em paralelo de um determnado sstema de equações utlzando-se da abordagem de decomposção de domíno ou da abordagem de paralelzação de métodos numércos (estratégas dscutdas no capítulo 3), é necessáro que o domíno global ou os dados do problema sejam dvddos em partes menores, e cada parte atrbuída a um processo. Desse modo, o processo pode ser resolvdo de modo smultâneo por uma coleção de processadores. O domíno computaconal deve ser partconado entre os processadores dsponíves atendendo pelo menos dos requstos báscos (Dorneles, 2001): A carga de trabalho deve ser bem balanceada entre os processadores; A comuncação entre os processadores deve ser mnmzada; Uma dstrbução desgual do domíno entre os processadores faz com que alguns termnem antes sua tarefa, permanecendo ocosos até que os outros processadores cheguem nos pontos de sncronzação e os prmeros recebam os dados necessáros para executar uma nova carga de tarefas, o que resulta em redução da efcênca. Para mnmzar a comuncação entre os processos deve-se dmnur o número de células nos contornos dos subdomínos, vsto que as aplcações paralelas são, geralmente, síncronas, e as comuncações são restrtas às essas fronteras dos subdomínos. O problema de partconamento de domíno em subdomínos, consderandose a arqutetura dsponível e exgndo o balanceamento de carga e a mnmzação da comuncação dos processos, durante tempo de execução, é uma das etapas mas mportantes da Computação Centífca Paralela (Rzz, 2002). No entanto, apesar de ser um fator de grande relevânca na paralelzação de uma aplcação, não exste um algortmo que determne um partconamento ótmo, pos este é um problema NP-dfícl (Garey; Johnson, 1979). Assm, para se ter aproxmações razoavelmente boas, são empregados algortmos heurístcos, como os apresentados e dscutdos na seção Malhas e Grafos O domíno para aplcações paralelas é, geralmente, representado por uma malha b ou tr-dmensonal, como mostrado na Fgura 4.1. A execução efcente da aplcação requer um mapeamento da malha entre os processadores, de forma que cada processador receba uma quantdade de nodos (ou células computaconas) proporconal a sua capacdade de processamento, e de tal modo que a comuncação entre os processadores seja mnmzada.

41 41 Fgura 4.1: Domíno (azul) e respectva malha. Para que seja possível partconar uma malha, utlzando-se de algortmos de grafos, é precso antes transformá-la em um grafo. Em dversos tpos de aplcações os nodos representam as coordenadas em um espaço b ou trdmensonal, ou seja, as células computaconas, e as arestas representam a comuncação ou dependênca entre nodos vznhos, ou seja, a dependênca de dados entre as células computaconas. 4.2 O Problema de Partconamento de Grafos O problema de partconamento de domíno pode ser modelado como um problema de partconamento de grafos (Rzz, 2002). Uma aplcação pode ser vsta como um grafo G=(V, A, p v, p a ), onde: V = {0,...,n-1) é o conjunto dos n vértces; A V V é o conjunto de arestas; p v é o peso dos vértces, e; p a é o peso das arestas. Sob esse ponto de vsta, o domíno mostrado na Fgura 4.1 pode ser representado por grafo (ou, uma malha cartesana regular) como mostrado na Fgura 4.2. Fgura 4.2: Grafo referente à malha da Fgura 4.1. Note-se que se pode ter dstntos sgnfcados para a termnologa nodos e arestas. Por exemplo, nodos podem descrever processos ou dados, arestas podem sgnfcar dependêncas de dados ou necessdades de comuncação. Sob o ponto de vsta de grafos o problema do partconamento de dados ou de domíno conhecdo como o problema de k-partconamento de grafos, que consste em

42 42 dvdr um grafo em k subgrafos, de modo que cada subgrafo contenha um número semelhante de vértces, e que o número arestas entre os subgrafos seja o menor possível (Karyps, 1996). 4.3 Heurístcas e Métodos de Partconamento Sendo o problema de k-partconamento um problema NP-dfícl sua solução pode ser aproxmada por algortmos heurístcos. Exstem, pelo menos, duas grandes classes de heurístcas, dependendo das nformações dsponíves sobre o grafo, que são as geométrcas e as combnatóras (Santos, 2001). Note-se que exstem outras abordagens para o partconamento de grafos, mas estas fogem do escopo do trabalho. Entre elas pode-se ctar redes neuras e algortmos genétcos (Bhargava, 1993). A prmera classe é utlzada quando estão dsponíves nformações sobre as coordenadas de cada vértce do grafo. Isto ocorre freqüentemente em grafos dervados da dscretzação de um domíno físco. Os algortmos geométrcos são bastante rápdos, mas tendem a gerar partções de qualdade relatvamente nferores, pos calculam as mesmas baseadas nas coordenadas dos vértces (juntando aqueles que estão mas perto no espaço) e não na sua conectvdade. Já a segunda classe é utlzada quando o grafo não possu coordenadas assocadas aos vértces, sto é, não há dentfcação de um nodo com um ponto físco no espaço. Estes algortmos calculam as partções baseadas nas adjacêncas do grafo, juntando vértces que são altamente conectados, sem se mportar com sua localzação. Estes tpos de algortmos são mas lentos que os geométrcos, mas geram partções com corte de arestas menor, sendo menos provável que haja subdomínos desconexos. Além dsso, as heurístcas de partconamento anda podem ser dvddas em métodos globas, locas ou multníves (Dorneles, 2001) Métodos globas Métodos globas são algumas vezes chamados de heurístcas de construção, uma vez que utlzam a descrção do grafo como entrada e geram váras partções. Exstem dversos algortmos, baseados nas heurístcas, para realzar o partconamento global de um grafo. Destes podemos ctar o partconamento em faxas, o partconamento em blocos, a bssecção recursva ortogonal (ORB), a bssecção recursva por

43 43 coordenada (RCB), a bssecção nercal, as curvas de preenchmento do espaço, a bssecção espectral, e a bssecção nvelada. Neste trabalho será dscutdo apenas o RCB, por ser um dos algortmos utlzados no partconamento no modelo HIDRA. Os demas algortmos são detalhados em (Dorneles, 2001) e (Santos, 2001) Bssecção recursva por coordenada (RCB) Nestes algortmos, as dvsões (bssecções) são fetas recursvamente e sempre de modo ortogonal à sua maor dmensão, como lustrado na Fgura 4.3. Desse modo, objetva-se dmnur o número de elementos das fronteras e gerar subdomínos com carga aproxmadamente equvalentes. (a) (b) (c) Fgura 4.3: (a) Domíno Incal. (b) Domíno Partconado após um passo do RCB. (c) Domíno após dos passos do RCB. O algortmo consste bascamente nos seguntes passos: a) determnar a maor dmensão do domíno (dreção x, y ou z); b) atrbur metade dos vértces para cada subdomíno; c) repetr recursvamente até que seja alcançado o número de partções requerdo. O RCB é um método rápdo, requer pouca memóra, e segundo (Schloegel, 2000 e Santos, 2001) é fácl de ser paralelzado. Note-se, porém, que o algortmo RCB usado neste trabalho é o mplementado no modelo HIDRA que é empregado de modo seqüencal Métodos locas Apesar de alguns dos métodos globas produzrem bons cortes, freqüentemente há um potencal grande de melhora através de rearranjos locas. Os métodos locas são os responsáves por esta melhora. Estes métodos recebem como entrada um grafo e

44 44 suas respectvas partções e fazem um refnamento destas através da troca de vértces (nodos) entre elas. Por sso as heurístcas dessa classe são, também, são chamadas de heurístcas de melhoramento. Desta classe, destacam-se os algortmos Kernghan-Ln (Kerngham, 1970) e Fducca-Mattheyses (Fducca, 1982). O método Kernghan-Ln (KL) consste em seleconar pares de vértces, que quando trocados entre os subdomínos resultem na melhora da qualdade das partções. O ganho é calculado pela redução do corte de arestas. Quanto menos arestas cortadas, maor o ganho obtdo. Se o ganho sobre um par de vértces é postvo, claramente é desejável fazer a troca, mas em alguns casos pode-se mover vértces com ganhos negatvos, pos estes podem trazer benefícos nas próxmas terações do algortmo, por exemplo, movendo a partção de um mínmo local. O prncpal nconvenente deste método é sua complexdade: requer O(N 3 ) operações por teração. Porém, este método merece destaque por ser utlzado na fase de refnamento nos métodos multnível, descrto na seção 4.4. O método Fducca-Mattheyses (FM) é uma modfcação do algortmo KL. Este algortmo move apenas um vértce por vez entre os subdomínos, ao nvés de um par, como no KL. Na Fgura 4.4 se lustra a aplcação do algortmo KL. Na parte (a) mostra-se uma partção gerada de modo não aproprado, dado que os vértces que estão em destaques na Fgura 4.4(a) devem ser trocados entre os subdomínos, mas sobre estes é assocada uma quantdade excessva de comuncação. Já na Fgura 4.4(b) mostra-se o refnamento que pode ser feto empregando o algortmo KL. Fgura 4.4: Exemplo de refnamento por KL Pode-se notar, que em (a) os subdomínos necesstam comuncar-se ses vezes entre s. Em (b), após a execução do algortmo KL, as comuncações necessáras foram reduzdas pela metade.

45 Métodos Multníves Estes métodos podem ser vstos como uma combnação de algortmos globas e locas. É o prncpal método utlzado pelo pacote de partconamento METIS, que é empregado no modelo HIDRA e pelo software GERATRIZ para fazer o partconamento. O pacote METIS é dscutdo na seção A déa básca dos algortmos multníves de partconamento de grafos consste bascamente de três fases: Encolhmento: o grafo é reduzdo a um grafo menor através da contração de arestas (agrupamento de vértces) até que o número de vértces do grafo seja um múltplo pequeno do número buscado de partções; Partconamento ncal: o grafo menor é partconado utlzando alguma técnca como bssecção nercal ou espectral. Este partconamento é bastante rápdo, pos é realzado no grafo reduzdo; Fase de refnamento e crescmento: o grafo é expanddo, e suas partções são melhoradas através de um método local. Fgura 4.5: Esquema Multnível (Kumar, 2003) Os métodos multnível apresentam bons resultados por duas razões: a prmera é que com um número reduzdo de arestas, é mas fácl calcular uma partção com boa qualdade. A segunda e devdo ao fato de que os métodos locas se tornam muto mas poderosos, porque movendo um únco vértce é como se mover um grande número deles no grafo orgnal, porém só que de forma muto mas rápda. Uma grande varedade de alternatvas e esquemas de encolhmento, partconamento ncal e refnamento foram estudados e avalados em (Karyps, 1996).

46 Pacotes de Partconamento Dentre os pacotes e bblotecas para partconamento de grafos, os mas conhecdos e utlzados são: o METIS, JOSTLE (Walshaw, 2000), CHACO (Hendrckson, 1995), SCOTCH (Pellegrn, 1996). O METIS, por ser o pacote mas popular e um dos softwares utlzados no partconamento no modelo HIDRA e no software GERATRIZ, receberá uma descrção mas detalhada. O pacote METIS está dsponível no endereço não sendo necessára lcença de uso METIS O software METIS é um pacote de partconamento de grafos e reordenamento de matrzes esparsas desenvolvdo na Unversty of Mnessota por George Karyps e Vpn Kumar (Karpys, 1998). O pacote é composto por város programas dferentes, cada qual com uma fnaldade específca: pmets e kmets, para o partconamento de grafos; partnmesh e partdmesh, para o partconamento de malhas; oemets e onmets, para ordenação de matrzes esparsas; mesh2nodal, mesh2dual, graphchk e mtest, programas auxlares. Destes programas, os de relevânca para este trabalho são o pmets e o kmets. O pmets utlza um algortmo de partconamento baseado em bssecção recursva multnível, como mostrado na seção 3.4, e o kmets é baseado em um algortmo de k- partconamento multnível, descrto em (Karpys, 1998). O pmets garante um balanceamento perfeto a cada nível da recursão, enquanto o kmets permte um desbalanceamento de até 3%. Segundo (Karpys, 1998) o kmets mas é ndcado para partconamento de um grafo em mas de 8 partes. Já o pmets é mas rápdo que o kmets em partconamento de um grafo em um número pequeno de partes (menor que 8). Além de ser usado como programa ndependente, o METIS pode ser utlzado como bbloteca. Através da bbloteca metslb, o usuáro pode acessar todos os algortmos de partconamento do METIS. A bbloteca metslb está dsponível para C e Fortran.

47 Crtéros para Escolha do Algortmo Város fatores devem ser levados em consderação na escolha de um algortmo para o partconamento. Estes fatores estão relaconados tanto coma aplcação como com a arqutetura onde os algortmos serão executados. Segundo (Bhargava, 1993), dentre os aspectos mas mportantes que podem ser analsados, destacam-se: Custo x qualdade: quanto maor o custo de um algortmo, em relação a tempo de execução, melhor a qualdade das partções geradas. Uma boa estratéga é aquela que possu custo e qualdade equlbrados. Paralelzabldade: este fator é muto mportante quanto são consderados grafos de grande porte. Custo de mplementação: smlarmente ao custo de execução, os algortmos que geram partções melhores também são mas complexos de mplementar. Deve-se ponderar muto este fator, pos mutas vezes aplcações não exgem uma alta qualdade, sendo mas adequado a mplementação de um método mas smples. 4.7 Conclusão Neste capítulo abordou-se o partconamento de dados e domíno. O partconamento de domíno pode ser tratado como um problema de partconamento de grafos. Por ser um problema NP-dfícl, não exste um algortmo que defna um partconamento ótmo, assm faz-se necessáro o uso de heurístcas para se ter aproxmações razoavelmente boas. As heurístcas podem ser classfcadas como métodos globas, locas e multníves. Os métodos globas tomam um grafo e geram um partconamento. Já os métodos locas servem para o refnamento de grafos já partconados. Os métodos multníves são uma combnação de métodos globas e locas. A escolha de um algortmo de partconamento é muto mportante, pos a dvsão do domíno nfluenca na carga de trabalho para cada processo, e na quantdade de comuncação entre eles, afetando dretamente o tempo de solução do problema.

48 5. SISTEMAS DE EQUAÇÕES a11 x1 + a12 x2 + + a1 nxn = b1 a21x1 + a22x2 + + a2nxn = b2 am 1x1 + am2x2 + + amn xn = bm na qual j como: Ax para o qual se tem: a11 a12 a1 m x1 b1 a21 a22 a2m x2 b2 A =, x =, b = an 1 an2 anm xm bm Um sstema de equações lneares pode ser defndo como um conjunto de n equações com m varáves ndependentes entre s, na forma genérca, como: (5.1) a (,j = 1, 2, 3,..., n) são os coefcentes do sstema de equações x ( = 1, 2, 3,..., n) são as n ncógntas e b ( = 1, 2,...,m) são os termos ndependentes (Shgue, 2003). As equações representadas em (5.1) podem ser descrtas na forma matrcal 48 = b (5.2) A solução de um sstema de equações lneares é obtda através do cálculo de um vetor x, formado por valores que satsfaçam a gualdade (5.2) (Stenbruch, 1999). O estudo de sstemas de equações é de grande mportânca, pos estes resultam de modelos dscretos provenentes de város tpos de aplcação, como programação lnear, dnâmca dos fluídos, modelagem do clma e prevsão meteorológca, etc. (Saad, 1996). 5.1 Geração de Sstemas de Equações Um modelo matemátco que não possu solução analítca deve ser resolvdo numercamente. Além dsso, tas modelos são, algumas vezes, defndos em uma regão cujo porte obrga o emprego de computação de alto desempenho. O processo de transformação do modelo contínuo em um modelo dscreto, que pode ser construído consderando-se um determnado método de aproxmação e um dado domíno de defnção, gera sstemas de equações que podem ser lneares ou não lneares (Galante, 2002).

49 49 No caso específco de sstemas gerados pela dscretzação de equações dferencas parcas (EDPs), pode-se aproxmar cada uma das dervadas parcas do modelo usando métodos de dscretzação como, por exemplo, o de dferenças fntas. Para essas aproxmações deve-se consderar, em geral, ao valores das células adjacentes. E nesse caso, o nível de dependênca de dados entre as células da malha, após a dscretzação, pode ser representada usando um estêncl (molécula computaconal). O estêncl empregado é aquele de 5-pontos, representado na Fgura 5.1. Fgura 5.1: Estêncl de 5-pontos (molécula computaconal) Com a dscretzação usando o estêncl de 5-pontos, o valor de cada célula depende da sua posção e dos quatro vznhos. Ou seja, o valor de uma célula no domíno depende de seu valor central (C) e do valor de seus quatro vznhos, que são: esquerdo (E), dreto (D), superor (S) e fundo (F). O estêncl computaconal defne a posção e valor de cada elemento na matrz e a estrutura e regulardade da mesma (Pcnn, 2002). A Fgura 5.2 mostra a construção de uma matrz a partr da aplcação do estêncl ao domíno (cnza). Fgura 5.2: Geração de Sstemas de Equações

50 50 A geometra do domíno ou dos subdomínos determna a localdade dos elementos não-nulos da matrz. Na Fgura 5.2, pode-se notar que um domíno não-retangular gerou consequentemente uma matrz rregular. Da mesma forma um domíno retangular gerara uma matrz regular, cujos elementos estão posconados em forma de dagonas. 5.2 Métodos Dretos e Métodos Iteratvos Para a solução de sstemas de equações lneares, exstem, bascamente, duas classes de métodos que os resolvem: a classe dos métodos dretos e a classe dos métodos teratvos. Os métodos dretos apresentam a solução exata em um número fnto de passos, exceto por erros de arredondamento, que surgem devdo a operações de ponto flutuante. Métodos teratvos, por sua vez, utlzam-se de sucessvas aproxmações dos valores das ncógntas para obter uma solução cada vez mas acurada. Estas aproxmações são fetas até que se obtenha um lmte de erro acetável ou um número máxmo de terações (Martnotto, 2002). Os métodos teratvos são os mas aproprados na solução de sstemas de equações esparsos de grande porte, pos estes métodos trabalham apenas sobre os elementos não nulos da matrz de coefcentes, não destrundo, portanto, a sua esparsdade. Essa questão é mportante, pos esse fato permte que se possa fazer otmzações no armazenamento, nas estratégas de solução e de comuncação, de modo que se obtém soluções computaconalmente efcentes Métodos teratvos do subespaço de Krylov Os métodos teratvos podem ser classfcados em estaconáros ou não estaconáros. Nos estaconáros, cada teração não envolve nformações da teração anteror e manpulam varáves do sstema de equações lneares durante a resolução, através de operações elementares entre lnhas e colunas da matrz. Alguns exemplos são Jacob, Gauss-Sedel e SOR (Dvero, 1990). Os não estaconáros trabalham sob a ótca da mnmzação da função quadrátca ou por projeção, manpulando os vetores e matrzes nteros, e ncluem a heredtaredade em suas terações, a cada teração. Desse modo calcula-se um resíduo que é usado na teração subseqüente (Canal, 2000). Dentre os métodos não estaconáros, a classe mas promssora é a dos métodos do subespaço de Krylov, pos são robustos e computaconalmente efcentes em

51 51 ambentes paralelos. Essa efcênca decorre do fato de que esses métodos são construídos sobre operações báscas de álgebra lnear e, portanto, são altamente paralelzáves (Rzz, 2002). O método do subespaço de Krylov mas proemnente é o gradente conjugado (GC), que objetva encontrar uma aproxmação da solução para o sstema de equações lneares (5.2) num subespaço de Krylov de k-dmensões. Consderando uma solução k ncal dada por x 0 uma solução aproxmada é obtda através de: x0 + K, onde k K é o subespaço de Krylov de k-dmensões formado a partr de do subespaço gerado como: k K = gerado( r, Ar,..., A r ), para k 1. O vetor r 0 corresponde ao resíduo ncal e é k calculado a partr de r 0 = b Ax Método do gradente conjugado Para sstemas de equações cujas matrzes são smétrcas e defndas-postvas (SDP), o método do subespaço de Krylov mas efcente é o gradente conjugado (GC) (Shewchuk, 1994). O método basea-se na mnmzação de uma dada função quadrátca, e não na nterseção de hperplanos como os métodos teratvos clásscos. Parte do prncípo de que o gradente, que é um campo vetoral, aponta sempre na dreção mas crescente da função quadrátca. Assm, as dreções de procura devem buscar a solução na dreção oposta do gradente. Levando em consderação a característca SDP da matrz, o algortmo do GC, ao buscar mnmzar essa função quadrátca, tem a mportante característca de calcular o gradente da função quadrátca, f (x), que se pode mostrar ser defndo por f ( x) = b Ax. Então, como o objetvo é mnmzar f (x), deve-se determnar o vetor solução x tal que f ( x) = b Ax, ou seja o sstema de equações (5.2). Isso sgnfca que ao encontrar a solução do GC encontra-se a solução do sstema de equações a ele assocado. Exstem dferentes algortmos do GC que apresentam algumas modfcações em relação ao algortmo orgnal (Pcnn, 2002). Neste trabalho a versão do algortmo do GC adotada é a apresentada em (Shewchuk, 1994), mostrado na Fgura 5.3. Nesse algortmo, como entrada tem-se a matrz dos coefcentes A, o vetor b, uma aproxmação ncal de x 0, o número máxmo de terações t max e a tolerânca do erro ε (crtéro de parada). A déa do Gradente Conjugado é, então, r efetuando novas terações na dreção oposta à do gradente (campo vetoral), de tal forma que as dreções já pesqusadas não seja repetdas, até encontrar o mínmo global. A mnmzação ocorre sobre certos espaços de

52 52 vetores, chamados de subespaço de pesqusa (espaço de Krylov), gerados a partr dos resíduos (r) de cada teração (Canal, 2000). t 0 (ncalzação das terações) r b Ax (subtração de vetores (produto matrz vetor)) d r δ_novo r T r (produto escalar) δ_o δ_novo enquanto I< t max e δ_novo >ε 2 δ_o faça q Ad (produto matrz vetor) α δ_novo / d T q (dvsão (produto escalar)) x x + αd (adção de vetores (multplcação escalar vetor)) r r αq (subtração de vetores (multplcação escalar vetor)) δ_velho δ_novo δ_new r T r (produto escalar) β δ_velho / δ_novo d r + βd(adção de vetores (multplcação escalar vetor)) t t + 1 Fgura 5.3: Algortmo do Gradente Conjugado 5.3 Métrcas para Avalação da Qualdade da Solução em Paralelo Soluções numércas são obrgatoramente aproxmadas relatvamente às soluções exatas. Essas soluções têm, além dos erros que podem eventualmente ser ntroduzdos na etapa de programação, três tpos de erros que surgem de forma sstemátca (Rzz, 2002): erros de modelagem: que são os erros que surgem da dferença entre o problema real e a solução exata do modelo matemátco, que quase sempre é aproxmado; erros de dscretzação: que são aqueles de aproxmação ou de truncamento, e que surgem da dferença entre a solução exata das equações na forma analítca, e a solução exata do sstema de equações algébrcas obtda quando da dscretzação das equações analítcas; erros de arredondamento: que são os erros ntroduzdos nos cálculos que são constantemente arredondados quando do uso de artmétca de ponto flutuante. Pode-se analsar e avalar a qualdade da aproxmação do modelo dscreto e os erros de arredondamento gerados pela solução desse modelo dscreto, através do emprego de métrcas apropradas. Essas métrcas verfcam a conservatvdade de determnadas propredades

53 53 físcas e/ou numércas do esquema numérco e, em geral, consderam a dferença entre o valor arredondado e o valor exato. * e Assm, se ϕ e ϕ são, respectvamente, a solução numérca e a solução dscreta exata, defne-se o erro absoluto E A como * e E A = ϕ ϕ e o erro relatvo E R como E = ϕ ϕ ϕ, se * e * R ϕ 0, para calcular o erro relatvo à solução exata, ou como * e E = ϕ ϕ ϕ, se ϕ 0, para calcular o erro relatvo à solução numérca. * e e R Erros relatvos são mas aproprados já que é mas sgnfcatvo saber se o erro relatvo é pequeno ou grande comparando-o com, por exemplo, 1,0 pos nesse caso E R = 1,0 sgnfca que o erro absoluto é da mesma magntude que o número que está sendo aproxmado. Por exemplo, se o * erro relatvo de 5 ϕ é da O( 10 ) *, dz-se que ϕ tem precsão (ou acuráca) de cnco dígtos decmas. Neste trabalho a solução exata, não dsponível, será substtuída na métrca do erro relatvo por aquela solução numérca fornecda pelo MATLAB, que servrá como um benchmark. Assm serão calculados os erros relatvos entre a solução fornecda pelo benchmark MATLAB e a solução numérca fornecda pela versão seqüencal (monoprocessada) do algortmo do Gradente Conjugado mplementado. Essa abordagem ndcará a qualdade numérca entre a solução exata e a solução numérca. Agora, para avalar a qualdade numérca da solução seqüencal (monoprocessada) em relação à solução numérca obtda em paralelo, será feta uma avalação, usando a métrca do erro relatvo, entre a solução gerada pela versão seqüencal e a solução gerada versão bprocessada. Essa abordagem é sufcente dado que a abordagem empregada neste trabalho para se obter o paralelsmo é aquela que usa o método de decomposção de domíno Adtvo de Schwarz. Nessa abordagem as trocas de dados são restrtas às fronteras e, desse modo, basta avalar as dferenças entre as soluções seqüencal e paralela nas células adjacentes às fronteras artfcas geradas pelo algortmo ou pacote de partconamento. Note-se que, além das métrcas destacadas nessa seção, exstem outras mas que podem ser adotadas e podem ser encontradas em (Rzz, 2002). 5.4 Conclusão Conforme o esquema de dscretzação empregado na transformação do modelo contínuo para o modelo dscreto, podem se orgnar sstemas de equações que são lneares, esparsos e SDP. Os sstemas de equações lneares estão entre os mas freqüentes problemas que são abordados pela computação centífca.

54 54 Uma vez gerados, os sstemas de equações podem ser resolvdos empregando dos tpos de métodos: os dretos e os teratvos. Os métodos teratvos são os mas aproprados na solução de sstemas de equações esparsos de grande porte, pos estes métodos trabalham apenas sobre os elementos não nulos da matrz de coefcentes, não destrundo a sua esparsdade. Neste trabalho será utlzado um método teratvo do subespaço de Krylov, o Gradente Conjugado, dada as característcas ntrínsecas da matrz dos coefcentes. Para avalar a acuráca das soluções numércas encontradas pode-se utlzar métrcas específcas, conforme mostrado na seção 5.3.

55 55 6. MÉTODOS DE DECOMPOSIÇÃO DE DOMÍNIO Métodos de decomposção de domíno (MDD) desgnam um conjunto de técncas e métodos matemátcos, numércos e computaconas para resolver problemas em computadores paralelos. Um MDD é caracterzado pela dvsão do domíno computaconal, que é partconado em subdomínos empregando algortmos de partconamento. A solução global do problema é, então, obtda através da combnação dos subproblemas que são resolvdos localmente. Cada processador é responsável por encontrar a solução local de um ou mas subdomínos, que a ele são alocados e, então, essas soluções locas são combnadas para fornecer uma aproxmação para a solução global. No caso da resolução de sstemas de equações de a combnação das soluções resume-se em ntercalar corretamente o vetor de solução. Uma lustração para o emprego de métodos de decomposção de domíno na solução de sstemas de equações lneares (SELs) é como mostrado na Fgura 6.1. Fgura 6.1: Ilustração para o esquema geral de MDDs Abordagens paralelas va decomposção de domíno baseam-se no fato de que cada processador pode fazer grande parte do trabalho de forma ndependente (Saad, 1994). E, uma vez que os subdomínos podem ser tratados ndependentemente, tas métodos são atratvos para ambentes de memóra dstrbuída. De fato, alguns dos prncpas atratvos para o uso de MDDs são: a necessdade de pouca comuncação, a qual, em geral, fca restrta às fronteras dos subdomínos; a versatldade para trabalhar com dstntos modelos matemátcos que são defndos em dferentes subregões do domíno global; e o fato de que podem ser utlzados para a construção de pré-condconadores para métodos teratvos (Smth, Bjorstad e Gropp, 1996). Os MDDs podem ser dvddos em duas classes: os métodos de Schwarz, onde os subdomínos apresentam uma regão de sobreposção, que pode varar de acordo com o tpo de aproxmação empregada para resolver os modelos matemátcos já dscretzados, e métodos de Schur, onde os subdomínos não apresentam regão de sobreposção.

56 Métodos de Schwarz O uso pela prmera vez de decomposção do domíno como método de solução fo aquele proposto por Hermann Amandus Schwarz em Schwarz empregou essa abordagem para resolver analtcamente uma EDP elíptca defnda em um domíno não retangular, formado pela unão de dos subdomínos regulares sobrepostos, como, por exemplo, os domínos formados pela unão de um dsco e de um retângulo como mostrado na Fgura 6.2. O método desenvolvdo por Schwarz fo o de obter a solução do problema global de modo alternado em cada subdomíno, sendo que os valores calculados em um subdomíno, em uma determnada teração, são utlzados como condção de contorno para o outro subdomíno na teração segunte. Este algortmo é conhecdo na lteratura como MDD Alternado de Schwarz (Flemsh, 2001). Em 1936 Sobolov propõe uma formulação matemátca abstrata para o método orgnal de Schwarz colocando-o em rgorosas bases matemátcas. Com essa nova formulação matemátca, o método orgnal de Schwarz, passou a ser conhecdo na lteratura técnca como MDD multplcatvo de Schwarz. Posterormente, Dryja e Wdlund (Dryja, 1987) ao analsarem as característcas matemátcas do MDD multplcatvo de Schwarz, desenvolveram um novo MDD, o Adtvo de Schwarz. Tal abordagem será abordada neste trabalho para resolver EDPs em paralelo, dado que tem maor potencal de paralelsmo (Müller, 2003). Ω Ω Ω Γ Ω Fgura 6.2: Domíno formado pela unão de um dsco e um retângulo. A notação empregada na Fgura 6.2 decorre do fato que os MDDs de Schwarz caracterzam-se pela decomposção do domíno global Ω em N subdomínos sobrepostos, tal que = com ΩΩ j. As fronteras artfcas são denotadas = 1,s por Γ, e Ω denota a fronteras reas de Ω. A frontera artfcal é parte de que é nteror do domíno Ω, e Ω \ Γ são os pontos de Ω que não estão em Γ.

57 6.1.1 MDD Adtvo de Schwarz No MDD Adtvo de Schwarz os subdomínos utlzam condções de contorno do tpo Drchlet (Rzz, 2002), que são obtdas através do conhecmento dos valores das células adjacentes aos subdomínos vznhos na teração anteror. Assm, os subdomínos, durante uma teração, podem ser resolvdos ndependentemente. O método Adtvo de Schwarz pode ser escrto, na forma dscreta, como: n Lu = f, u Ω n = = u g, u Ω \ Γ (6.1) n n 1 u g, u Γ n n onde em (6.1), Lu = f, u Ω representa a solução no nteror de Ω ; u = g, u Ω \ Γ representa a solução na frontera real de Ω ; e u n n 1 g 57 = solução na frontera artfcal Γ de Ω. Note-se que para resolver (6.1) no nível de tempo n é necessáro o conhecmento dos valores das células de contorno no nível de tempo anteror (n-1), como pode ser vsto em u n n 1 = g. Assm, para resolver o problema em paralelo em arquteturas de memóra dstrbuída deve-se trocar nformações entre os subdomínos. A forma de como é feta a troca dessas nformações, que são chamadas de condções de contorno (CC), entre as fronteras artfcas geradas pelo partconamento determnam o partcular MDD. Na versão adtva, utlzada neste trabalho, todos os subdomínos usam a solução da últma teração em cada subdomíno como CC para os subdomínos adjacentes, de modo que cada um deles pode ser resolvdo ndependentemente, fcando as comuncações restrtas às fronteras. Além dsso, supondo que Ω Ω j Ω k, j k, pode-se mostrar que o algortmo converge, e a presença de regões sobrepostas assegura a contnudade da solução e de suas dervadas (Debreu, 1998). O nível de sobreposção mínma requerda depende do partcular método usado para aproxmar as EDPs, e o uso do MDD Adtvo de Schwarz requer troca de nformações a cada teração do método de Schwarz (cclo de Schwarz), a fm de estabelecer CC homogêneas. Como as matrzes locas são smétrcas defndas postvas (SDP) empregou-se como resolvedor local o GC seqüencal, de modo que a cada cclo do método de Schwarz trocam-se as CCs até que seja satsfeto um determnado crtéro de convergênca global. Essas questões serão melhores dscutdas na seção Na Fgura 6.3 é mostra-se um exemplo de como são fetas as trocas de dados entre os subdomínos.

58 58 Fgura 6.3: Esquema de troca de dados entre as fronteras Este esquema de troca de dados permte que um sstema de equações Ax = b possa ser escrto como Ax = b + bext, onde b ext denota a contrbução dada pelos subdomínos vznhos. Pode-se notar na Fgura 6.3 a presença de uma regão dferencada (em azul), esta área é chamada de regão de sobreposção, que é a área sobreposta entre dos domínos. Observa-se que esta área é numerada após as demas células Implementação do MDD Adtvo de Schwarz Para que possa ser resolvdo em paralelo o domíno computaconal deve ser partconado, conforme dscutdo no capítulo 4. O partconamento de domínos e o processo de geração dos arquvos de dados referente a cada subdomíno são fetos pelo modelo HIDRA. Uma vez que os sstemas de equações gerados são de grande porte e esparsos, pode-se economzar um espaço sgnfcatvo de memóra se forem armazenados apenas os termos dferentes de zero. Desse modo, os arquvos de entrada para cada subdomíno utlzam-se do formato CSR (Compressed Sparse Row) (Saad, 1996). O formato CSR armazena apenas os elementos não nulos de uma matrz esparsa e sua estrutura é baseada em quatro vetores, como pode ser vsto no exemplo lustrado pela Fgura 6.4 onde dos vetores são de ponto flutuante e dos vetores são de ntero, de modo que:

59 dag elems cols ptrs Fgura 6.4: Exemplo de matrz armazenada no formato CSR dag: armazena os valores da dagonal prncpal da matrz; 2. elems: armazena os demas valores da matrz; 3. cols: armazena a coluna da qual os valores contdos em elems foram obtdos na matrz; 4. ptrs: armazena os ponteros que ndcam quantos valores não nulos cada lnha possu. A prmera posção desse vetor recebe 0, a segunda posção recebe o valor da posção anteror somado com o número de elementos não nulos da prmera lnha do vetor (exceto os elementos da dagonal) e assm sucessvamente. O formato CSR não consdera qualquer nformação sobre a estrutura da matrz, armazenando os elementos não nulos em posções contíguas na memóra. Com a utlzação deste formato de armazenamento ao nvés de se armazenar N 2 elementos, são necessáros apenas n+n+1 posções (onde N é a dmensão da matrz e n é o número de elementos não nulos). Note-se, porém, que o formato CSR não é computaconalmente efcente para matrzes de dmensões pequenas, pos necessta de endereçamento ndreto para quasquer operações. O arquvo de dados possu anda os vetores x e b e algumas estruturas auxlares necessáras para a comuncação entre subdomínos vznhos. Estas estruturas consstem da dentfcação dos subdomínos vznhos, sendo que para cada vznho são armazenadas duas lstas. A prmera armazena as posções do vetor das ncógntas x a serem envadas. A segunda armazena as posções em que serão recebdos os valores envados pelos subdomínos vznhos. Uma vez ldos, os dados dos arquvos de entrada são armazenados em memóra através de vetores alocados dnamcamente. Na seqüênca, cada processo calcula ndependentemente a solução do sstema de equações referente ao seu subdomíno, conforme o algortmo da Fgura 6.5.

60 0011 ( ) Incalzação: escolha uma solução ncal u em cada subdomíno Ω ; ( ) Resolva o sstema com a solução ncal u ; k=1; faça (k ) envar dados das fronteras da teração u para os vznhos; (k ) receber dados das fronteras da teração u dos vznhos; resolver va GC o sstema utlzando os novos valores da frontera recebdos; obter u ; k++; (k) 12 2 até que (k) (k ) (k) max ( u u u ) ε,onde ε é a acuráca desejada. 60 Fgura 6.5: Algortmo do MDD Adtvo de Schwarz Faz-se a segur um exemplo para lustrar os detalhes para uma mplementação efetva do MDD Adtvo em paralelo. Na Fgura 6.6 o domíno D 1 é partconado em dos subdomínos S 1 e S 2. Neste trabalho esta etapa é feta no modelo HIDRA, que emprega o pacote de partconamento de grafos como METIS, conforme vsto no capítulo 4. Fgura 6.6: Partconamento de domíno Como no MDD Adtvo de Schwarz é necessáro crar uma regão de sobreposção entre os subdomínos, gera-se esta sobreposção de uma célula para cada subdomíno, representado por O 1 e O 2, como pode ser vsto na Fgura 6.7. A regão O 1 corresponde à regão de sobreposção de S 1 em S 2 e a regão O 2 é a regão de sobreposção de S 2 em S 1. Fgura 6.7: Domíno partconado com sobreposção

61 61 Uma vez partconado o domíno computaconal, e com suas regões de sobreposção já cradas, as EDPs são dscretzadas va métodos de dscretzação e de aproxmação. O resultado desse procedmento pode ser representado por um estêncl computaconal, como vsto na seção 5.1. Nesta representação utlzou-se como estêncl o valor 4 para a célula central e 1 para as demas. Nas Fguras 6.8 e 6.9 são mostrados a matrz gerada pela dscretzação do domíno S 1 e o arquvo de entrada gerado a partr dela, respectvamente. Note que no arquvo de entrada a matrz está armazenada em formato CSR e que já estão nclusos os dados adconas necessáros para a comuncação entre os subdomínos vznhos Fgura 6.8: Matrz gerada a partr do subdomíno S1 da Fgura 6.7 Domíno S1 Ordem 9 Número de Elementos 24 Ponteros Colunas Dagonal Valores Qtde Vznhos 1 ID do Vznho 2 Índces a envar Índces a receber Vetor X Vetor B Fgura 6.9: Arquvo de entrada da matrz lustrada na Fgura 6.8

62 62 Após a geração do arquvo, cada processo carrega o arquvo pelo qual é responsável e calcula a solução utlzando o algortmo mostrado na Fgura Métodos do Complemento de Schur Ω Ω Métodos de Schur são empregados em computação centífca paralela para o desenvolvmento de soluções para aplcações nas quas a malha numérca é não estruturada, ou não ocorre o emparelhamento das submalhas entre os dversos subdomínos, ou anda, quando os dferentes subdomínos possuem dferentes modelos matemátcos (Martnotto, 2003). Os métodos de Schur foram desenvolvdos na década de 70. Nestes MDDs o domíno Ω é partconado em subdomínos sem sobreposção, da forma que: = com ΩΩ= j = 1,s A contnudade da solução entre os subdomínos é garantda através da solução de um sstema de nterface (sstema correspondente às células pertencentes às fronteras artfcas cradas pelo partconamento). O sstema de nterface é conhecdo na lteratura como complemento de Schur (Smth, 1996). Exstem dversas varantes do Método do Complemento de Schur, cada uma dferenca-se de outra pela forma de partconamento. Neste trabalho será utlzada o partconamento feto através de cortes nos nodos fronteras (Saad, 1996). Neste tpo de partconamento células locas de todos os domínos são numeradas prmero. Em seguda todas as células de frontera são numeradas, conforme pode ser vsto na Fgura Fgura 6.10: Esquema de numeração do Método do Complemento de Schur Com este esquema de numeração, o domíno da Fgura 6.10 gera uma matrz mostrada na Fgura 6.11.

NOTA II TABELAS E GRÁFICOS

NOTA II TABELAS E GRÁFICOS Depto de Físca/UFMG Laboratóro de Fundamentos de Físca NOTA II TABELAS E GRÁFICOS II.1 - TABELAS A manera mas adequada na apresentação de uma sére de meddas de um certo epermento é através de tabelas.

Leia mais

CAPÍTULO VI Introdução ao Método de Elementos Finitos (MEF)

CAPÍTULO VI Introdução ao Método de Elementos Finitos (MEF) PMR 40 - Mecânca Computaconal CAPÍTULO VI Introdução ao Método de Elementos Fntos (MEF). Formulação Teórca - MEF em uma dmensão Consderemos a equação abao que representa a dstrbução de temperatura na barra

Leia mais

Nota Técnica Médias do ENEM 2009 por Escola

Nota Técnica Médias do ENEM 2009 por Escola Nota Técnca Médas do ENEM 2009 por Escola Crado em 1998, o Exame Naconal do Ensno Médo (ENEM) tem o objetvo de avalar o desempenho do estudante ao fm da escolardade básca. O Exame destna-se aos alunos

Leia mais

Introdução e Organização de Dados Estatísticos

Introdução e Organização de Dados Estatísticos II INTRODUÇÃO E ORGANIZAÇÃO DE DADOS ESTATÍSTICOS 2.1 Defnção de Estatístca Uma coleção de métodos para planejar expermentos, obter dados e organzá-los, resum-los, analsá-los, nterpretá-los e deles extrar

Leia mais

Sistemas de Filas: Aula 5. Amedeo R. Odoni 22 de outubro de 2001

Sistemas de Filas: Aula 5. Amedeo R. Odoni 22 de outubro de 2001 Sstemas de Flas: Aula 5 Amedeo R. Odon 22 de outubro de 2001 Teste 1: 29 de outubro Com consulta, 85 mnutos (níco 10:30) Tópcos abordados: capítulo 4, tens 4.1 a 4.7; tem 4.9 (uma olhada rápda no tem 4.9.4)

Leia mais

TEORIA DE ERROS * ERRO é a diferença entre um valor obtido ao se medir uma grandeza e o valor real ou correto da mesma.

TEORIA DE ERROS * ERRO é a diferença entre um valor obtido ao se medir uma grandeza e o valor real ou correto da mesma. UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE CIÊNCIAS EXATAS DEPARTAMENTO DE FÍSICA AV. FERNANDO FERRARI, 514 - GOIABEIRAS 29075-910 VITÓRIA - ES PROF. ANDERSON COSER GAUDIO FONE: 4009.7820 FAX: 4009.2823

Leia mais

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES ALGORÍTMOS PARALELOS (Aula 2) Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Programa do Curso LCAD 1. Introdução 2. Arquitetura de Computadores 3. Arquiteturas

Leia mais

7. Resolução Numérica de Equações Diferenciais Ordinárias

7. Resolução Numérica de Equações Diferenciais Ordinárias 7. Resolução Numérca de Equações Dferencas Ordnáras Fenômenos físcos em dversas áreas, tas como: mecânca dos fludos, fluo de calor, vbrações, crcutos elétrcos, reações químcas, dentre váras outras, podem

Leia mais

ALGORITMO E PROGRAMAÇÃO

ALGORITMO E PROGRAMAÇÃO ALGORITMO E PROGRAMAÇÃO 1 ALGORITMO É a descrção de um conjunto de ações que, obedecdas, resultam numa sucessão fnta de passos, atngndo um objetvo. 1.1 AÇÃO É um acontecmento que a partr de um estado ncal,

Leia mais

NORMAS DE SELEÇÃO AO DOUTORADO

NORMAS DE SELEÇÃO AO DOUTORADO 1. INSCRIÇÕES PARA SELEÇÃO 1.1. Para a Área de Irrgação e Drenagem Poderão nscrever-se canddatos formados em Engenhara Agrícola, Agronoma, Meteorologa e demas Engenharas, ou em outras áreas afns a crtéro

Leia mais

Despacho Econômico de. Sistemas Termoelétricos e. Hidrotérmicos

Despacho Econômico de. Sistemas Termoelétricos e. Hidrotérmicos Despacho Econômco de Sstemas Termoelétrcos e Hdrotérmcos Apresentação Introdução Despacho econômco de sstemas termoelétrcos Despacho econômco de sstemas hdrotérmcos Despacho do sstema braslero Conclusões

Leia mais

5.1 Seleção dos melhores regressores univariados (modelo de Índice de Difusão univariado)

5.1 Seleção dos melhores regressores univariados (modelo de Índice de Difusão univariado) 5 Aplcação Neste capítulo será apresentada a parte empírca do estudo no qual serão avalados os prncpas regressores, um Modelo de Índce de Dfusão com o resultado dos melhores regressores (aqu chamado de

Leia mais

Fast Multiresolution Image Querying

Fast Multiresolution Image Querying Fast Multresoluton Image Queryng Baseado no artgo proposto por: Charles E. Jacobs Adan Fnkelsten Davd H. Salesn Propõe um método para busca em um banco de dados de magem utlzando uma magem de consulta

Leia mais

Introdução às arquiteturas paralelas e taxonomia de Flynn

Introdução às arquiteturas paralelas e taxonomia de Flynn Introdução às arquiteturas paralelas e taxonomia de Flynn OBJETIVO: definir computação paralela; o modelo de computação paralela desempenhada por computadores paralelos; e exemplos de uso da arquitetura

Leia mais

Sistemas Robóticos. Sumário. Introdução. Introdução. Navegação. Introdução Onde estou? Para onde vou? Como vou lá chegar?

Sistemas Robóticos. Sumário. Introdução. Introdução. Navegação. Introdução Onde estou? Para onde vou? Como vou lá chegar? Sumáro Sstemas Robótcos Navegação Introdução Onde estou? Para onde vou? Como vou lá chegar? Carlos Carreto Curso de Engenhara Informátca Ano lectvo 2003/2004 Escola Superor de Tecnologa e Gestão da Guarda

Leia mais

PLANILHAS EXCEL/VBA PARA PROBLEMAS ENVOLVENDO EQUILÍBRIO LÍQUIDO-VAPOR EM SISTEMAS BINÁRIOS

PLANILHAS EXCEL/VBA PARA PROBLEMAS ENVOLVENDO EQUILÍBRIO LÍQUIDO-VAPOR EM SISTEMAS BINÁRIOS PLANILHAS EXCEL/VBA PARA PROBLEMAS ENVOLVENDO EQUILÍBRIO LÍQUIDO-VAPOR EM SISTEMAS BINÁRIOS L. G. Olvera, J. K. S. Negreros, S. P. Nascmento, J. A. Cavalcante, N. A. Costa Unversdade Federal da Paraíba,

Leia mais

Introdução à Análise de Dados nas medidas de grandezas físicas

Introdução à Análise de Dados nas medidas de grandezas físicas Introdução à Análse de Dados nas meddas de grandezas físcas www.chem.wts.ac.za/chem0/ http://uregna.ca/~peresnep/ www.ph.ed.ac.uk/~td/p3lab/analss/ otas baseadas nos apontamentos Análse de Dados do Prof.

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

Leia mais

CENTRO UNIVERSITÁRIO DO LESTE DE MINAS GERAIS - UnilesteMG

CENTRO UNIVERSITÁRIO DO LESTE DE MINAS GERAIS - UnilesteMG 1 CENTRO UNIVERSITÁRIO DO LESTE DE MINAS GERAIS - UnlesteMG Dscplna: Introdução à Intelgênca Artfcal Professor: Luz Carlos Fgueredo GUIA DE LABORATÓRIO LF. 01 Assunto: Lógca Fuzzy Objetvo: Apresentar o

Leia mais

Ministério da Educação. Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira. Cálculo do Conceito Preliminar de Cursos de Graduação

Ministério da Educação. Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira. Cálculo do Conceito Preliminar de Cursos de Graduação Mnstéro da Educação Insttuto Naconal de Estudos e Pesqusas Educaconas Aníso Texera Cálculo do Conceto Prelmnar de Cursos de Graduação Nota Técnca Nesta nota técnca são descrtos os procedmentos utlzados

Leia mais

Suporte Básico para Sistemas de Tempo Real

Suporte Básico para Sistemas de Tempo Real Suporte Básco para Sstemas de Tempo Real Escalonamento e Comuncação Sldes elaborados por George Lma, com atualzações realzadas por Ramundo Macêdo Suporte Básco para Sstemas de Tempo-Real Escalonamento

Leia mais

Análise Econômica da Aplicação de Motores de Alto Rendimento

Análise Econômica da Aplicação de Motores de Alto Rendimento Análse Econômca da Aplcação de Motores de Alto Rendmento 1. Introdução Nesta apostla são abordados os prncpas aspectos relaconados com a análse econômca da aplcação de motores de alto rendmento. Incalmente

Leia mais

UTILIZAÇÃO DO MÉTODO DE TAGUCHI NA REDUÇÃO DOS CUSTOS DE PROJETOS. Uma equação simplificada para se determinar o lucro de uma empresa é:

UTILIZAÇÃO DO MÉTODO DE TAGUCHI NA REDUÇÃO DOS CUSTOS DE PROJETOS. Uma equação simplificada para se determinar o lucro de uma empresa é: UTILIZAÇÃO DO MÉTODO DE TAGUCHI A REDUÇÃO DOS CUSTOS DE PROJETOS Ademr José Petenate Departamento de Estatístca - Mestrado em Qualdade Unversdade Estadual de Campnas Brasl 1. Introdução Qualdade é hoje

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS 1. Introdução a supercomputação 2. Visão geral de Mainframe 3. Cluster de computadores 4. Cluster Beowulf considerações de projeto 5. Cluster x Grid 6.

Leia mais

3 Algoritmos propostos

3 Algoritmos propostos Algortmos propostos 3 Algortmos propostos Nesse trabalho foram desenvolvdos dos algortmos que permtem classfcar documentos em categoras de forma automátca, com trenamento feto por usuáros Tas algortmos

Leia mais

LOCALIZAÇÃO ESPACIAL DA MÃO DO USUÁRIO UTILIZANDO WII REMOTE. Ricardo Silva Tavares 1 ; Roberto Scalco 2

LOCALIZAÇÃO ESPACIAL DA MÃO DO USUÁRIO UTILIZANDO WII REMOTE. Ricardo Silva Tavares 1 ; Roberto Scalco 2 LOCALIZAÇÃO ESPACIAL DA MÃO DO USUÁRIO UTILIZANDO WII REMOTE Rcardo Slva Tavares 1 ; Roberto Scalco 1 Aluno de Incação Centífca da Escola de Engenhara Mauá (EEM/CEUN-IMT); Professor da Escola de Engenhara

Leia mais

Universidade Salvador UNIFACS Cursos de Engenharia Cálculo IV Profa: Ilka Rebouças Freire. Integrais Múltiplas

Universidade Salvador UNIFACS Cursos de Engenharia Cálculo IV Profa: Ilka Rebouças Freire. Integrais Múltiplas Unversdade Salvador UNIFACS Cursos de Engenhara Cálculo IV Profa: Ilka ebouças Frere Integras Múltplas Texto 3: A Integral Dupla em Coordenadas Polares Coordenadas Polares Introduzremos agora um novo sstema

Leia mais

Metodologia IHFA - Índice de Hedge Funds ANBIMA

Metodologia IHFA - Índice de Hedge Funds ANBIMA Metodologa IHFA - Índce de Hedge Funds ANBIMA Versão Abrl 2011 Metodologa IHFA Índce de Hedge Funds ANBIMA 1. O Que é o IHFA Índce de Hedge Funds ANBIMA? O IHFA é um índce representatvo da ndústra de hedge

Leia mais

PARTE 1. 1. Apresente as equações que descrevem o comportamento do preço de venda dos imóveis.

PARTE 1. 1. Apresente as equações que descrevem o comportamento do preço de venda dos imóveis. EXERCICIOS AVALIATIVOS Dscplna: ECONOMETRIA Data lmte para entrega: da da 3ª prova Valor: 7 pontos INSTRUÇÕES: O trabalho é ndvdual. A dscussão das questões pode ser feta em grupo, mas cada aluno deve

Leia mais

IMPLEMENTAÇÃO DO MÉTODO DE FATORAÇÃO DE INTEIROS CRIVO QUADRÁTICO

IMPLEMENTAÇÃO DO MÉTODO DE FATORAÇÃO DE INTEIROS CRIVO QUADRÁTICO IMPLEMENTAÇÃO DO MÉTODO DE FATORAÇÃO DE INTEIROS CRIVO QUADRÁTICO Alne de Paula Sanches 1 ; Adrana Betâna de Paula Molgora 1 Estudante do Curso de Cênca da Computação da UEMS, Undade Unverstára de Dourados;

Leia mais

UNIVERSIDADE PRESBITERIANA MACKENZIE CCSA - Centro de Ciências Sociais e Aplicadas Curso de Economia

UNIVERSIDADE PRESBITERIANA MACKENZIE CCSA - Centro de Ciências Sociais e Aplicadas Curso de Economia CCSA - Centro de Cêncas Socas e Aplcadas Curso de Economa ECONOMIA REGIONAL E URBANA Prof. ladmr Fernandes Macel LISTA DE ESTUDO. Explque a lógca da teora da base econômca. A déa que sustenta a teora da

Leia mais

Estatística stica Descritiva

Estatística stica Descritiva AULA1-AULA5 AULA5 Estatístca stca Descrtva Prof. Vctor Hugo Lachos Davla oo que é a estatístca? Para mutos, a estatístca não passa de conjuntos de tabelas de dados numércos. Os estatístcos são pessoas

Leia mais

Figura 8.1: Distribuição uniforme de pontos em uma malha uni-dimensional. A notação empregada neste capítulo para avaliação da derivada de uma

Figura 8.1: Distribuição uniforme de pontos em uma malha uni-dimensional. A notação empregada neste capítulo para avaliação da derivada de uma Capítulo 8 Dferencação Numérca Quase todos os métodos numércos utlzados atualmente para obtenção de soluções de equações erencas ordnáras e parcas utlzam algum tpo de aproxmação para as dervadas contínuas

Leia mais

Máquinas Multiníveis

Máquinas Multiníveis Infra-Estrutura de Hardware Máquinas Multiníveis Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Classificação de arquiteturas Tendências da tecnologia Família Pentium

Leia mais

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede Prof. Samuel Souza } Monolíticas Aplicações em um computador centralizado } Em Rede Aplicações com comunicação em rede } Distribuídas Comunicação e cooperação em rede } Aplicações que são funcionalmente

Leia mais

Objetivos da aula. Essa aula objetiva fornecer algumas ferramentas descritivas úteis para

Objetivos da aula. Essa aula objetiva fornecer algumas ferramentas descritivas úteis para Objetvos da aula Essa aula objetva fornecer algumas ferramentas descrtvas útes para escolha de uma forma funconal adequada. Por exemplo, qual sera a forma funconal adequada para estudar a relação entre

Leia mais

2 Máquinas de Vetor Suporte 2.1. Introdução

2 Máquinas de Vetor Suporte 2.1. Introdução Máqunas de Vetor Suporte.. Introdução Os fundamentos das Máqunas de Vetor Suporte (SVM) foram desenvolvdos por Vapnk e colaboradores [], [3], [4]. A formulação por ele apresentada se basea no prncípo de

Leia mais

Elaboração: Fevereiro/2008

Elaboração: Fevereiro/2008 Elaboração: Feverero/2008 Últma atualzação: 19/02/2008 E ste Caderno de Fórmulas tem por objetvo esclarecer aos usuáros a metodologa de cálculo e os crtéros de precsão utlzados na atualzação das Letras

Leia mais

Estimativa da Incerteza de Medição da Viscosidade Cinemática pelo Método Manual em Biodiesel

Estimativa da Incerteza de Medição da Viscosidade Cinemática pelo Método Manual em Biodiesel Estmatva da Incerteza de Medção da Vscosdade Cnemátca pelo Método Manual em Bodesel Roberta Quntno Frnhan Chmn 1, Gesamanda Pedrn Brandão 2, Eustáquo Vncus Rbero de Castro 3 1 LabPetro-DQUI-UFES, Vtóra-ES,

Leia mais

PROJEÇÕES POPULACIONAIS PARA OS MUNICÍPIOS E DISTRITOS DO CEARÁ

PROJEÇÕES POPULACIONAIS PARA OS MUNICÍPIOS E DISTRITOS DO CEARÁ GOVERNO DO ESTADO DO CEARÁ SECRETARIA DO PLANEJAMENTO E GESTÃO - SEPLAG INSTITUTO DE PESQUISA E ESTRATÉGIA ECONÔMICA DO CEARÁ - IPECE NOTA TÉCNICA Nº 29 PROJEÇÕES POPULACIONAIS PARA OS MUNICÍPIOS E DISTRITOS

Leia mais

Rastreando Algoritmos

Rastreando Algoritmos Rastreando lgortmos José ugusto aranauskas epartamento de Físca e Matemátca FFCLRP-USP Sala loco P Fone () - Uma vez desenvolvdo um algortmo, como saber se ele faz o que se supõe que faça? esta aula veremos

Leia mais

ALGORITMOS GENÉTICOS COMO FERRAMENTA AUXILIAR NA TOMADA DE DECISÃO EM ATIVIDADES DE GESTÃO AGROINDUSTRIAL

ALGORITMOS GENÉTICOS COMO FERRAMENTA AUXILIAR NA TOMADA DE DECISÃO EM ATIVIDADES DE GESTÃO AGROINDUSTRIAL ALGORITMOS GENÉTICOS COMO FERRAMENTA AUXILIAR NA TOMADA DE DECISÃO EM ATIVIDADES DE GESTÃO AGROINDUSTRIAL Danlo Augusto Hereda VIEIRA 1 Celso Correa de SOUZA 2 José Francsco dos REIS NETO 3 Resumo. As

Leia mais

Covariância e Correlação Linear

Covariância e Correlação Linear TLF 00/ Cap. X Covarânca e correlação lnear Capítulo X Covarânca e Correlação Lnear 0.. Valor médo da grandeza (,) 0 0.. Covarânca na propagação de erros 03 0.3. Coecente de correlação lnear 05 Departamento

Leia mais

XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA NOVO MODELO PARA O CÁLCULO DE CARREGAMENTO DINÂMICO DE TRANSFORMADORES

XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA NOVO MODELO PARA O CÁLCULO DE CARREGAMENTO DINÂMICO DE TRANSFORMADORES XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA Versão 1.0 22 a 25 Novembro de 2009 Recfe - PE GRUPO XIII GRUPO DE ESTUDO DE TRANSFORMADORES, REATORES, MATERIAIS E TECNOLOGIAS

Leia mais

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Sistemas Paralelos e Distribuídos Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Conceitos preliminares Paralelismo refere-se a ocorrência simultânea de eventos em um computador Processamento

Leia mais

Hansard OnLine. Guia Unit Fund Centre

Hansard OnLine. Guia Unit Fund Centre Hansard OnLne Gua Unt Fund Centre Índce Págna Introdução ao Unt Fund Centre (UFC) 3 Usando fltros do fundo 4-5 Trabalhando com os resultados do fltro 6 Trabalhando com os resultados do fltro Preços 7 Trabalhando

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

O Método de Redes Neurais com Função de Ativação de Base Radial para Classificação em Data Mining

O Método de Redes Neurais com Função de Ativação de Base Radial para Classificação em Data Mining O Método de Redes Neuras com Função de Atvação de Base Radal para Classfcação em Data Mnng Ana Paula Scott 1, Mersandra Côrtes de Matos 2, Prscyla Walesa T. A. Smões 2 1 Acadêmco do Curso de Cênca da Computação

Leia mais

MODELAGEM MATEMÁTICA DO PROCESSO DE EVAPORAÇÃO MULTI-EFEITO NA INDÚSTRIA DE PAPEL E CELULOSE

MODELAGEM MATEMÁTICA DO PROCESSO DE EVAPORAÇÃO MULTI-EFEITO NA INDÚSTRIA DE PAPEL E CELULOSE MODELAGEM MATEMÁTICA DO PROCESSO DE EVAPORAÇÃO MULTI-EFEITO NA INDÚSTRIA DE PAPEL E CELULOSE R. L. S. CANEVESI 1, C. L. DIEL 2, K. A. SANTOS 1, C. E. BORBA 1, F. PALÚ 1, E. A. DA SILVA 1 1 Unversdade Estadual

Leia mais

Audiência Pública Comissão de Ciência e Tecnologia, Comunicação e Informática Câmara dos Deputados

Audiência Pública Comissão de Ciência e Tecnologia, Comunicação e Informática Câmara dos Deputados Audênca Públca Comssão de Cênca e Tecnologa, Comuncação e Informátca Câmara dos Deputados Superntendente de Servços Prvados Brasíla, 11 de julho de 2007 AGENDA 1 2 3 4 DEFINIÇÕES DA LGT REGULAMENTAÇÃO

Leia mais

Software para Furação e Rebitagem de Fuselagem de Aeronaves

Software para Furação e Rebitagem de Fuselagem de Aeronaves Anas do 14 O Encontro de Incação Centífca e Pós-Graduação do ITA XIV ENCITA / 2008 Insttuto Tecnológco de Aeronáutca São José dos Campos SP Brasl Outubro 20 a 23 2008. Software para Furação e Rebtagem

Leia mais

Cálculo do Conceito ENADE

Cálculo do Conceito ENADE Insttuto aconal de Estudos e Pesqusas Educaconas Aníso Texera IEP Mnstéro da Educação ME álculo do onceto EADE Para descrever o cálculo do onceto Enade, prmeramente é mportante defnr a undade de observação

Leia mais

Variabilidade Espacial do Teor de Água de um Argissolo sob Plantio Convencional de Feijão Irrigado

Variabilidade Espacial do Teor de Água de um Argissolo sob Plantio Convencional de Feijão Irrigado Varabldade Espacal do Teor de Água de um Argssolo sob Planto Convenconal de Fejão Irrgado Elder Sânzo Aguar Cerquera 1 Nerlson Terra Santos 2 Cásso Pnho dos Res 3 1 Introdução O uso da água na rrgação

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

CÁLCULO DO ALUNO EQUIVALENTE PARA FINS DE ANÁLISE DE CUSTOS DE MANUTENÇÃO DAS IFES

CÁLCULO DO ALUNO EQUIVALENTE PARA FINS DE ANÁLISE DE CUSTOS DE MANUTENÇÃO DAS IFES MIISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO SUPERIOR DEPARTAMETO DE DESEVOLVIMETO DA EDUCAÇÃO SUPERIOR TECOLOGIA DA IFORMAÇÃO CÁLCULO DO ALUO EQUIVALETE PARA FIS DE AÁLISE DE CUSTOS DE MAUTEÇÃO DAS IFES

Leia mais

Unidade 13: Paralelismo:

Unidade 13: Paralelismo: Arquitetura e Organização de Computadores 1 Unidade 13: Paralelismo: SMP e Processamento Vetorial Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura SMP e alguns detalhes

Leia mais

Ambiente de Desenvolvimento de Manufatura Virtual

Ambiente de Desenvolvimento de Manufatura Virtual UNIVERSIDADE FEDERAL DE ITAJUBÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA Welnton Das Ambente de Desenvolvmento de Manufatura Vrtual Dssertação submetda ao Programa de Pós- Graduação em Engenhara

Leia mais

CAPÍTULO 1 Exercícios Propostos

CAPÍTULO 1 Exercícios Propostos CAPÍTULO 1 Exercícos Propostos Atenção: Na resolução dos exercícos consderar, salvo menção em contráro, ano comercal de das. 1. Qual é a taxa anual de juros smples obtda em uma aplcação de $1.0 que produz,

Leia mais

Probabilidade e Estatística. Correlação e Regressão Linear

Probabilidade e Estatística. Correlação e Regressão Linear Probabldade e Estatístca Correlação e Regressão Lnear Correlação Este uma correlação entre duas varáves quando uma delas está, de alguma forma, relaconada com a outra. Gráfco ou Dagrama de Dspersão é o

Leia mais

Controlo Metrológico de Contadores de Gás

Controlo Metrológico de Contadores de Gás Controlo Metrológco de Contadores de Gás José Mendonça Das (jad@fct.unl.pt), Zulema Lopes Perera (zlp@fct.unl.pt) Departamento de Engenhara Mecânca e Industral, Faculdade de Cêncas e Tecnologa da Unversdade

Leia mais

slide 0 Algoritmos Paralelos

slide 0 Algoritmos Paralelos slide 0 Algoritmos Paralelos Slide 2 Demanda por Velocidade Computational Demanda contínua por maior rapidez computational das máquinas que as atualmente disponíveis. As áreas que exigem maior rapidez

Leia mais

A Evolução dos Clusters frente as demais arquiteturas de Alto Desempenho

A Evolução dos Clusters frente as demais arquiteturas de Alto Desempenho A Evolução dos Clusters frente as demais arquiteturas de Alto Desempenho Rodrigo Santos de Souza, Adenauer C. Yamin Universidade Católica de Pelotas - UCPel {rsouza,adenauer}@ucpel.tche.br, 1 Introdução

Leia mais

Regressão e Correlação Linear

Regressão e Correlação Linear Probabldade e Estatístca I Antono Roque Aula 5 Regressão e Correlação Lnear Até o momento, vmos técncas estatístcas em que se estuda uma varável de cada vez, estabelecendo-se sua dstrbução de freqüêncas,

Leia mais

UNIVERSIDADE DO ESTADO DA BAHIA - UNEB DEPARTAMENTO DE CIÊNCIAS EXATAS E DA TERRA COLEGIADO DO CURSO DE DESENHO INDUSTRIAL CAMPUS I - SALVADOR

UNIVERSIDADE DO ESTADO DA BAHIA - UNEB DEPARTAMENTO DE CIÊNCIAS EXATAS E DA TERRA COLEGIADO DO CURSO DE DESENHO INDUSTRIAL CAMPUS I - SALVADOR Matéra / Dscplna: Introdução à Informátca Sstema de Numeração Defnção Um sstema de numeração pode ser defndo como o conjunto dos dígtos utlzados para representar quantdades e as regras que defnem a forma

Leia mais

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França Arquitetura NUMA 1 Daniel de Angelis Cordeiro INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França 6 de Outubro de 2010 1 Baseado em slides feitos por Christiane Pousa

Leia mais

ANALISADOR DE EVENTOS EM TEMPO QUASE-REAL

ANALISADOR DE EVENTOS EM TEMPO QUASE-REAL XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA Versão 1.0 GPC.01 22 a 25 Novembro de 2009 Recfe - PE GRUPO -V GRUPO DE ESTUDO DE PROTEÇÃO, MEDIÇÃO, CONTROLE E AUTOMAÇÃO EM SISTEMAS

Leia mais

Análise de Regressão. Profa Alcione Miranda dos Santos Departamento de Saúde Pública UFMA

Análise de Regressão. Profa Alcione Miranda dos Santos Departamento de Saúde Pública UFMA Análse de Regressão Profa Alcone Mranda dos Santos Departamento de Saúde Públca UFMA Introdução Uma das preocupações estatístcas ao analsar dados, é a de crar modelos que explctem estruturas do fenômeno

Leia mais

Cálculo Aproximado do número PI utilizando Programação Paralela

Cálculo Aproximado do número PI utilizando Programação Paralela Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Cálculo Aproximado do número PI utilizando Programação Paralela Grupo 17 Raphael Ferras Renan Pagaiane Yule Vaz SSC-0143 Programação

Leia mais

Escolha do Consumidor sob condições de Risco e de Incerteza

Escolha do Consumidor sob condições de Risco e de Incerteza 9/04/06 Escolha do Consumdor sob condções de Rsco e de Incerteza (Capítulo 7 Snyder/Ncholson e Capítulo Varan) Turma do Prof. Déco Kadota Dstnção entre Rsco e Incerteza Na lteratura econômca, a prmera

Leia mais

Expressão da Incerteza de Medição para a Grandeza Energia Elétrica

Expressão da Incerteza de Medição para a Grandeza Energia Elétrica 1 a 5 de Agosto de 006 Belo Horzonte - MG Expressão da ncerteza de Medção para a Grandeza Energa Elétrca Eng. Carlos Alberto Montero Letão CEMG Dstrbução S.A caletao@cemg.com.br Eng. Sérgo Antôno dos Santos

Leia mais

Avaliação da Tendência de Precipitação Pluviométrica Anual no Estado de Sergipe. Evaluation of the Annual Rainfall Trend in the State of Sergipe

Avaliação da Tendência de Precipitação Pluviométrica Anual no Estado de Sergipe. Evaluation of the Annual Rainfall Trend in the State of Sergipe Avalação da Tendênca de Precptação Pluvométrca Anual no Estado de Sergpe Dandara de Olvera Félx, Inaá Francsco de Sousa 2, Pablo Jónata Santana da Slva Nascmento, Davd Noguera dos Santos 3 Graduandos em

Leia mais

INTRODUÇÃO SISTEMAS. O que é sistema? O que é um sistema de controle? O aspecto importante de um sistema é a relação entre as entradas e a saída

INTRODUÇÃO SISTEMAS. O que é sistema? O que é um sistema de controle? O aspecto importante de um sistema é a relação entre as entradas e a saída INTRODUÇÃO O que é sstema? O que é um sstema de controle? SISTEMAS O aspecto mportante de um sstema é a relação entre as entradas e a saída Entrada Usna (a) Saída combustível eletrcdade Sstemas: a) uma

Leia mais

REGULAMENTO GERAL (Modalidades 1, 2, 3 e 4)

REGULAMENTO GERAL (Modalidades 1, 2, 3 e 4) REGULAMENTO GERAL (Modaldades 1, 2, 3 e 4) 1. PARTICIPAÇÃO 1.1 Podem concorrer ao 11º Prêmo FIEB de Desempenho Socoambental da Indústra Baana empresas do setor ndustral nas categoras MICRO E PEQUENO, MÉDIO

Leia mais

Sempre que surgir uma dúvida quanto à utilização de um instrumento ou componente, o aluno deverá consultar o professor para esclarecimentos.

Sempre que surgir uma dúvida quanto à utilização de um instrumento ou componente, o aluno deverá consultar o professor para esclarecimentos. Insttuto de Físca de São Carlos Laboratóro de Eletrcdade e Magnetsmo: Transferênca de Potênca em Crcutos de Transferênca de Potênca em Crcutos de Nesse prátca, estudaremos a potênca dsspada numa resstênca

Leia mais

Implementação de uma Arquitetura Reed-Solomon para uso em Redes OTN 10.7 Gbps

Implementação de uma Arquitetura Reed-Solomon para uso em Redes OTN 10.7 Gbps Pontfíca Unversdade Católca do Ro Grande do ul Faculdade de Engenhara Faculdade de Informátca Curso de Engenhara de Computação Implementação de uma Arqutetura Reed-olomon para uso em Redes OTN.7 Gbps Volume

Leia mais

CORRELAÇÃO DO EQUILÍBRIO DE FASES DO SISTEMA MULTICOMPONENTE ÉSTERES ETÍLICOS DO ÓLEO DE MURUMURU/DIÓXIDO DE CARBONO COM A EQUAÇÃO SRK

CORRELAÇÃO DO EQUILÍBRIO DE FASES DO SISTEMA MULTICOMPONENTE ÉSTERES ETÍLICOS DO ÓLEO DE MURUMURU/DIÓXIDO DE CARBONO COM A EQUAÇÃO SRK CORRELAÇÃO DO EQUILÍBRIO DE FASES DO SISTEMA MULTICOMPONENTE ÉSTERES ETÍLICOS DO ÓLEO DE MURUMURU/DIÓXIDO DE CARBONO COM A EQUAÇÃO SRK Welsson de Araújo SILVA PRODERNA/ITEC/UFPA waslva89@hotmal.com Fernando

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

ALGORÍTMOS PARALELOS LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES

ALGORÍTMOS PARALELOS LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES ALGORÍTMOS PARALELOS Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Programa do Curso LCAD 1. Introdução 2. Arquitetura de Computadores 3. Arquiteturas de Sistemas

Leia mais

Professor Mauricio Lutz CORRELAÇÃO

Professor Mauricio Lutz CORRELAÇÃO Professor Maurco Lutz 1 CORRELAÇÃO Em mutas stuações, torna-se nteressante e útl estabelecer uma relação entre duas ou mas varáves. A matemátca estabelece város tpos de relações entre varáves, por eemplo,

Leia mais

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

Leia mais

Sinais Luminosos 2- CONCEITOS BÁSICOS PARA DIMENSIONAMENTO DE SINAIS LUMINOSOS.

Sinais Luminosos 2- CONCEITOS BÁSICOS PARA DIMENSIONAMENTO DE SINAIS LUMINOSOS. Snas Lumnosos 1-Os prmeros snas lumnosos Os snas lumnosos em cruzamentos surgem pela prmera vez em Londres (Westmnster), no ano de 1868, com um comando manual e com os semáforos a funconarem a gás. Só

Leia mais

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat: 0413829 5

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat: 0413829 5 Projetos I Resumo de TCC Luiz Rogério Batista De Pieri Mat: 0413829 5 MAD RSSF: Uma Infra estrutura de Monitoração Integrando Redes de Sensores Ad Hoc e uma Configuração de Cluster Computacional (Denise

Leia mais

3 Elementos de modelagem para o problema de controle de potência

3 Elementos de modelagem para o problema de controle de potência 3 Elementos de modelagem para o problema de controle de potênca Neste trabalho assume-se que a rede de comuncações é composta por uma coleção de enlaces consttuídos por um par de undades-rádo ndvdualmente

Leia mais

UMA REDE NEURAL ARTIFICIAL HÍBRIDA: MULTI-LAYER PERCEPTRON (MLP) E INTERAC- TIVE ACTIVATION AND COMPETITION (IAC)

UMA REDE NEURAL ARTIFICIAL HÍBRIDA: MULTI-LAYER PERCEPTRON (MLP) E INTERAC- TIVE ACTIVATION AND COMPETITION (IAC) UMA REDE NEURAL ARTIFICIAL HÍBRIDA: MULTI-LAYER PERCEPTRON (MLP) E INTERAC- TIVE ACTIVATION AND COMPETITION (IAC) ANDRÉA T. R. BARBOSA, GLORIA M. CURILEM SALDÍAS, FERNANDO M. DE AZEVEDO Hosptal São Vcente

Leia mais

5 Problema de planejamento de novas redes de telecomunicações

5 Problema de planejamento de novas redes de telecomunicações Problema de planejamento de novas redes de telecomuncações O Problema de Planejamento de Novas Redes de Telecomuncações (PPNRT) consste em atender um conjunto de clentes com demandas dferentes que devem

Leia mais

Organização da Aula. Gestão de Obras Públicas. Aula 2. Projeto de Gestão de Obras Públicas Municipais. Contextualização

Organização da Aula. Gestão de Obras Públicas. Aula 2. Projeto de Gestão de Obras Públicas Municipais. Contextualização Gestão de Obras Públcas Aula 2 Profa. Elsamara Godoy Montalvão Organzação da Aula Tópcos que serão abordados na aula Admnstração e Gestão Muncpal Problemas Admnstração e Gestão Muncpal Gestão do Conhecmento

Leia mais

SÉRGIO HENRIQUE LOPES CABRAL ANÁLISE DE TRANSITÓRIOS ELÉTRICOS EM TRANSFORMADORES ATRAVÉS DO MÉTODO TLM

SÉRGIO HENRIQUE LOPES CABRAL ANÁLISE DE TRANSITÓRIOS ELÉTRICOS EM TRANSFORMADORES ATRAVÉS DO MÉTODO TLM SÉRGIO HENRIQUE LOPES CABRAL ANÁLISE DE TRANSITÓRIOS ELÉTRICOS EM TRANSFORMADORES ATRAVÉS DO MÉTODO TLM FLORIANÓPOLIS 2003 UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA

Leia mais

Influência dos Procedimentos de Ensaios e Tratamento de Dados em Análise Probabilística de Estrutura de Contenção

Influência dos Procedimentos de Ensaios e Tratamento de Dados em Análise Probabilística de Estrutura de Contenção Influênca dos Procedmentos de Ensaos e Tratamento de Dados em Análse Probablístca de Estrutura de Contenção Mara Fatma Mranda UENF, Campos dos Goytacazes, RJ, Brasl. Paulo César de Almeda Maa UENF, Campos

Leia mais

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador)

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador) Multiprocessamento Multiprocessadores com memória distribuída (multicomputador) Conjunto de processadores, cada qual com sua memória local Processadores se comunicam por troca de mensagens, via rede de

Leia mais

Análise Fatorial F 1 F 2

Análise Fatorial F 1 F 2 Análse Fatoral Análse Fatoral: A Análse Fatoral tem como prncpal objetvo descrever um conjunto de varáves orgnas através da cração de um número menor de varáves (fatores). Os fatores são varáves hpotétcas

Leia mais

Visando dar continuidade ao trabalho de simulação, encaminho o MODELO DE ALOCAÇÃO E DIMENSIONAMENTO DO PESSOAL DOCENTE DE TERCEIRO GRAU

Visando dar continuidade ao trabalho de simulação, encaminho o MODELO DE ALOCAÇÃO E DIMENSIONAMENTO DO PESSOAL DOCENTE DE TERCEIRO GRAU Ofíco Brasíla, 24 de anero de 2005. Senhora Presdente ANDIFES, Vsando dar contnudade ao trabalho de smulação, encamnho o MODELO DE ALOCAÇÃO E DIMENSIONAMENTO DO PESSOAL DOCENTE DE TERCEIRO GRAU revsado

Leia mais

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2. Pg. 1 Universidade Federal do Espírito Santo - UFES Mestrado em Informática 2004/1 Projetos O Projeto O projeto tem um peso maior na sua nota final pois exigirá de você a utilização de diversas informações

Leia mais

2 ENERGIA FIRME DE SISTEMAS HIDRELÉTRICOS

2 ENERGIA FIRME DE SISTEMAS HIDRELÉTRICOS ENERGIA FIRME DE SISTEMAS HIDRELÉTRICOS 22 2 ENERGIA FIRME DE SISTEMAS HIDRELÉTRICOS Como vsto no capítulo 1, a energa frme de uma usna hdrelétrca corresponde à máxma demanda que pode ser suprda contnuamente

Leia mais

Escola Secundária Dr. Ângelo Augusto da Silva Matemática 12.º ano Números Complexos - Exercícios saídos em (Exames Nacionais 2000)

Escola Secundária Dr. Ângelo Augusto da Silva Matemática 12.º ano Números Complexos - Exercícios saídos em (Exames Nacionais 2000) Internet: http://rolvera.pt.to ou http://sm.page.vu Escola Secundára Dr. Ângelo Augusto da Slva Matemátca.º ano Números Complexos - Exercícos saídos em (Exames Naconas 000). Seja C o conjunto dos números

Leia mais

MODELO DE FILA HIPERCUBO COM MÚLTIPLO DESPACHO E BACKUP PARCIAL PARA ANÁLISE DE SISTEMAS DE ATENDIMENTO MÉDICO EMERGENCIAIS EM RODOVIAS

MODELO DE FILA HIPERCUBO COM MÚLTIPLO DESPACHO E BACKUP PARCIAL PARA ANÁLISE DE SISTEMAS DE ATENDIMENTO MÉDICO EMERGENCIAIS EM RODOVIAS versão mpressa ISSN 00-7438 / versão onlne ISSN 678-542 MODELO DE FILA HIPERCUBO COM MÚLTIPLO DESPACHO E BACKUP PARCIAL PARA ANÁLISE DE SISTEMAS DE ATENDIMENTO MÉDICO EMERGENCIAIS EM RODOVIAS Ana Paula

Leia mais

Análise logística da localização de um armazém para uma empresa do Sul Fluminense importadora de alho in natura

Análise logística da localização de um armazém para uma empresa do Sul Fluminense importadora de alho in natura Análse logístca da localzação de um armazém para uma empresa do Sul Flumnense mportadora de alho n natura Jader Ferrera Mendonça Patríca Res Cunha Ilton Curty Leal Junor Unversdade Federal Flumnense Unversdade

Leia mais

MAPEAMENTO DA VARIABILIDADE ESPACIAL

MAPEAMENTO DA VARIABILIDADE ESPACIAL IT 90 Prncípos em Agrcultura de Precsão IT Departamento de Engenhara ÁREA DE MECANIZAÇÃO AGRÍCOLA MAPEAMENTO DA VARIABILIDADE ESPACIAL Carlos Alberto Alves Varella Para o mapeamento da varabldade espacal

Leia mais

NODAL Versão 3.0 Programa de Simulação de Tarifas de Uso do Sistema Elétrico MANUAL DO USUÁRIO ANEEL Agência Nacional de Energia Elétrica

NODAL Versão 3.0 Programa de Simulação de Tarifas de Uso do Sistema Elétrico MANUAL DO USUÁRIO ANEEL Agência Nacional de Energia Elétrica NODAL Versão 3.0 Programa de Smulação de Tarfas de Uso do Sstema Elétrco MANUAL DO USUÁRIO ANEEL Agênca Naconal de Energa Elétrca ÍNDICE. INTRODUÇÃO...-.. CONSIDERAÇÕES...-.2. FUNÇÃO DO PROGRAMA...-2.3.

Leia mais

LQA - LEFQ - EQ -Química Analítica Complemantos Teóricos 04-05

LQA - LEFQ - EQ -Química Analítica Complemantos Teóricos 04-05 LQA - LEFQ - EQ -Químca Analítca Complemantos Teórcos 04-05 CONCEITO DE ERRO ALGARISMOS SIGNIFICATIVOS Embora uma análse detalhada do erro em Químca Analítca esteja fora do âmbto desta cadera, sendo abordada

Leia mais