0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)
31 Ansichten6 Seiten
O documento discute os conceitos de computação paralela e sequencial. Apresenta três opções para ganhar desempenho em programas: melhorar o ambiente de execução, melhorar o algoritmo ou usar paralelismo. Também descreve diferentes modelos de computação paralela como SIMD, MISD e MIMD.
O documento discute os conceitos de computação paralela e sequencial. Apresenta três opções para ganhar desempenho em programas: melhorar o ambiente de execução, melhorar o algoritmo ou usar paralelismo. Também descreve diferentes modelos de computação paralela como SIMD, MISD e MIMD.
O documento discute os conceitos de computação paralela e sequencial. Apresenta três opções para ganhar desempenho em programas: melhorar o ambiente de execução, melhorar o algoritmo ou usar paralelismo. Também descreve diferentes modelos de computação paralela como SIMD, MISD e MIMD.
3 opoes para ganhar desempenho em programas: Melhorar o ambiente de execuo; Melhorar o algoritmo; Paralelizao;
Usar paralelismo por: Tempo/dinheiro; Limite da computao sequencial; Soluo de grandes problemas; Alocao de recursos; Arquiteturas esto mudando;
Computao Sequencial: Programa executa em uma nica CPU ; Dividido em uma srie de instrues; Executadas uma aps a outra ; Apenas uma instruo executada por vez;
Computao Paralela Utilizao de mltiplos recursos computacionais para resolver um determinado problema. Mltiplas CPUs Problemas so divididos para serem executados simultaneamente
Medidas de Desempenho Fator de acelerao (speedup) : o fator de acelerao da verso paralela em relao sequencial Quantifica o ganho de desempenho Calculando-se o speedup, temos quantas vezes a verso paralela mais rpida que a sequencial Calculado para cada processo Speedup ideal: com x processos, x vezes mais rpido Gera uma curva em um grfico
Eficincia (efficiency) Indica se os recursos esto sendo bem utilizados Razo entre o speedup e o nmero de processos utilizados Idealmente, cada unidade deveria ter ficado 100% ativa Devido aos custos de comunicao, processamento, inicializao, esta eficincia ideal no alcanada
Desequilbrio de carga Distribuio do trabalho entre os recursos O trabalho deve ser distribudo de forma a ocupar sempre todos os processos Isto no ocorre quando alguns processos possuem muito mais carga que outros Sub-utiliza uns, sobrecarrega outros Perda de desempenho (desperdcio de poder computacional) M diviso do trabalho, execuo em ambientes heterogneos, etc Tcnicas de balanceamento de carga
Pipeline A idia de pipeline a mesma da produo em srie em uma fbrica: "quebrar" a produo de alguma tarefa em pequenas tarefas que podem ser executadas paralelamente.
Quantos estgios? dois estgios passem a gastar mais tempo de execuo do que o estgio original Caminho Crtico? Dependncia entre Instrues Estgios esperando, I2 depende de 11. Desvio pioram a situao
Super Escalar Vrios pipelines para a CPU Execuo literal de vrias instrues ao mesmo tempo Paralelismo em nvel de instrues Instrues independentes entre si
Programao de Multiprocessadores Modelo de programao: Mltiplas threads compartilhando dados Aspecto crtico: sincronizao quando diferentes tarefas acessam os mesmos dados Ferramentas para programao: linguagens concorrentes (Ada, SR, Java ...) linguagens seqenciais + extenses/biliotecas (OpenMP, Pthreads, Cilk, HPF)
Programao de Multicomputadores Modelo de programao: troca de mensagens entre tarefas cooperantes Aspectos crticos: Comunicao e distribuio dos dados (balanceamento de carga) Ferramentas para programao: Linguagens sequenciais + extenses/bibliotecas MPI (C,C++,Fortran,Java), PVM, Java+RMI Memria compartilhada distribuda: Linda, Threadmarks
SISD Classe que representa os computadores convencionais(seriais). As instrues so executadas serialmente, porem os estgios ( busca de instruo, decodificao, busca do operando e execuo)podem ser sobrepostos (pipeline) . Pode-se saber o que est ocorrendo exatamente em cada instante de tempo e reproduzir o processo passo a passo mais tarde. O computador consiste de UCP que recebe um fluxo simples de instrues e opera sobre um simples fluxo de dados . Exemplo : Computadores Baseados no Modelo de Von Neumann
SIMD SIMD = nico fluxo de instrues, mltiplo fluxo de dados; Algumas caractersticas: simplicidade de conceitos e programao, regularidade da estrutura, facilidade de escalabilidade em tamanho e desempenho; Existem duas categorias: processadores matriciais e processadores vetoriais; Os vetoriais so mais bem sucedidos comercialmente que os matriciais. Isso deve-se ao fato de que um processador vetorial uma arquitetura de uso geral, capaz de executar todas as operaes escalares normais; Os matriciais no implementam funes escalares e, so configurados como perifricos de outras arquiteturas para a execuo da parte vetorial dos programas; ENDEREAMENTO DE VETORES: Podem ser de 3 maneiras: - Acesso contguo; - Acesso no contguo; - Acesso esparo; Na prtica, poucos computadores vetoriais so construdos com ULAs paralelas, por razes econmicas; O mtodo mais utilizado a combinao de processamento vetorial com arquitetura pipeline;
MISD MISD uma arquitetura de computao paralela, onde muitas unidades executam operaes sobre o mesmo dado; O mesmo fluxo de dados transmitido atravs de um conjunto de processadores que executam diferentes fluxos de instrues. Cada processador opera sob o controle de uma sequncia de instrues emitidas pela unidade de controle; isso significa que os processadores funcionam normalmente de forma assncrona. Computadores MISD, podem analisar o mesmo conjunto de dados utilizando vrias operaes diferentes ao mesmo tempo, onde o nmero de operaes depende do nmero de processadores disponveis. Exemplos : Mltiplos filtros de freqncia operando sobre um nico fluxo de sinal; Mltiplos algoritmos de criptografia para decodificar uma mensagem.
MIMD So divididos em dois tipos:
Multiprocessadores Todos os processadores tem acesso ao mesmo espao de endereos na memria. Simples comunicao entre processo Semelhante mltiplos processadores em uma mquina von Neumann tradicional Podem ser classificados quanto a distncia dos processadores memria, e quanto aos esquemas de coerncia de cache. So conectados memria atravs de uma rede de interconexo.
UMA O tempo para o acesso aos dados na memria o mesmo para todos os processadores a para todas as posies da memria Tambm so chamadas de SMP Forma de interconexo mais comum o barramento Memria geralmente implementada com um nico mdulo Principal problema que o barramento e a memria tornam-se gargalos para o sistema, limitando a uma nica transferncia por vez
NUMA Memria geralmente distribuda e portanto implementada com mltiplos mdulos Cada processador est associado a um mdulo, mas o acesso aos mdulos ligados a outro processador possvel O espao de endereamento comum a todos os processadores A latncia para ler ou escrever na memria pertencente a um outro processador maior que a latncia para o acesso memria local
COMA Assemelham-se a uma arquitetura NUMA cada n de processamento possui uma parte da memria global. O particionamento dos dados entre as memrias de cada n no esttico As memrias funcionam como caches de nvel 3. Coerncia conseguida em hardware A arquitetura bastante complexa Mquinas possuem um custo elevado.
Multicomputadores Essas mquinas caracterizam-se pelo fato de que cada processador enxerga somente a sua prpria memria. Para a troca de mensagens e dados preciso o envio de requisies atravs da rede de interconexo. Existe 3 tipos de classificao de classificao dessas mquinas referente ao seu compartilhamento MPP: So multicomputadores compostos por um grande nmero de processadores, fortemente acoplados atravs de uma rede de alta velocidade. COW: Tambm chamadas de NOW , essas mquinas so construdas a partir de computadores comuns (PCs) ligados por redes de interconexo tradicionais. A organizao da memria em um mdulo nico causa problemas devido a possibilidade de vrios acessos de muitos processadores. O ideal seria a possibilidade de cada processador acessar todas as posies da memria sem a ocorrncia de ciclos de espera. Para aumentar a capacidade de acessos simultneos memria implementa-se memrias entrelaadas. O entrelaamento permite que vrios mdulos operem em paralelo atendendo a requisies de vrios processadores. O entrelaamento pode ser feito de 3 formas: Considere uma memria com 2n endereos. No primeiro tipo de entrelaamento, a parte mais significativa do endereo (com m bits) utilizada para a especificao do mdulo (2m mdulos) ao qual o restante do endereo se refere. No segundo tipo de entrelaamento, a parte menos significativa do endereo (com m bits) utilizada para a especificao do mdulo (2m mdulos) ao qual o restante do endereo se refere. As principais caractersticas no entrelaamento da parte mais significativa: facilidade de expanso da memria;a falha em um mdulo afeta uma regio especfica de endereos;maior possibilidade de trfego para um mesmo mdulo em arquiteturas pipeline, vetoriais e multiprocessadores SIMD, devido a concentrao dos dados em um mesmo mdulo. As principais caractersticas no entrelaamento da parte menos significativa: os conflitos por acesso ao mesmo mdulo ficam reduzidos pois os dados geralmente ficam distribudos ao longo de vrios mdulos; a falha em um mdulo afeta toda a memria do sistema.
REDES DE INTERCONEXAO Escalabilidade: possibilidade de acrscimo de dispositivos sem a necessidade de alterao das caractersticas da rede; - Desempenho: est relacionado com as distncias envolvidas e com o nmero de operaes simultneas. O desempenho tem como mtricas a latncia e a taxa de transferncia. A primeira corresponde ao tempo necessrio para a transferncia dos dados e a segunda representa a quantidade de dados que podem ser comunicados por unidade de tempo. Uma outra questo com impacto no desempenho se a rede unidirecional ou bidirecional; Custo: basicamente proporcional ao desempenho desejado e ao nmero de ligaes existentes; - Confiabilidade: especifica a capacidade de comunicao da rede mediante falha em alguma ligao. Est associada com a existncia de caminhos redundantes entre os componentes;
REDES ESTATICAS So as que especificam uma ligao direta dedicada entre dois componentes quaisquer. Muito utilizada em multicomputadores. O nmero de ligaes diretas de cada componente define o grau do n. A maior distncia (em nmero de ligaes) entre dois componentes quaisquer chamada de dimetro da rede.
REDES DINAMICAS Corresponde s redes em que as conexes so feitas sob demanda. No existem ligaes fixas entre os componentes. So as mais utilizadas em multiprocessadores. Podem ser classificadas em 3 tipos: Barramento O barramento a forma mais simples de conexo mas tem como grande desvantagem o compartilhamento do mesmo meio fsico por parte de todos os elementos do sistema. Matriz de chaveamento A matriz de barramento uma alternativa no bloqueante de interconexo. Quaisquer elementos podem ser interligados dinamicamente mas esta caracterstica originada na grande disponibilidade de hardware, o que se reflete em um alto custo do sistema para um grande nmero de processadores. Rede multinvel As redes multinvel so uma variao das matrizes de chaveamento, de maneira que se possa utilizar matrizes de chaveamento padro (2 x 2, por exemplo) para a interconexo dos elementos.
ROTEAMENTO DE MENSAGENS A ligao entre dois elementos quaisquer em uma rede normalmente indireta, existem ns intermedirios no caminho do n origem para o n destino. Existem duas formas bsicas de conduzir as mensagens: Chaveamento de circuito :caminho de conexo estabelecido e somente aps a mensagem enviada Chaveamento de pacotes :as mensagens no seguem um caminho pr- definido ao longo dos ns da rede. A cada n atingido pela mensagem um novo n de destino escolhido, ajuda a deixar os algoritmos de roteamento mais dinmicos.