Escolar Documentos
Profissional Documentos
Cultura Documentos
Bibliografia
Advanced Computer Architecture
Aplicaes Paralelas
Aplicaes Paralelas
Genoma Humano Turbulncia dos Fluidos Dinmica de Veculos Circulao de Oceanos Dinmica de Fluidos Viscosos Modelagem de Supercondutores Cromodinmica Quntica Viso por Computador Farmacutica Biologia Estrutural Previso do Tempo (+ 72 hs)
Gabriel P. Silva
Aplicaes Paralelas
Simulando as Correntes Ocenicas
Modelo do clima da terra precisa saber como a atmosfera interage com os oceanos, que ocupam da superfcie da Terra. Esto envolvidos neste estudo diversas foras fsicas: efeitos atmosfricos, vento e frico com o fundo dos oceanos. O oceano divido em planos e cada plano possui uma grade de pontos igualmente espaados (uma matriz) com informaes como velocidade e presso, entre outras. Alm disto, todos esses planos so simulados para diversos intervalos de tempo, tambm igualmente espaados.
Gabriel P. Silva
Aplicaes Paralelas
Simulando as Correntes Ocenicas
Para um oceano como o Atlntico, de 2000 km x 2000 km, uma grade de 100 x 100 pontos implica uma distncia de 20 km entre os pontos, o que no uma resoluo muito fina. Para simular o comportamento dos oceanos para um perodo de 5 anos, atualizados a cada 8 horas, sero necessrios cerca de 5500 intervalos de tempo. A demanda computacional para alta acurcia enorme e a necessidade de multiprocessamento clara. Por sorte a aplicao naturalmente permite bastante concorrncia, pois h bastante independncia de dados entre as diversas fases da computao.
Gabriel P. Silva
Aplicaes Paralelas
Simulando a Evoluo das Galxias
Para este tipo de problema seria necessrio calcular a interao gravitacional para cada par de estrelas em diversos intervalos de tempo. Este mtodo de soluo tem complexidade O(n2) o que o tornaria impossvel de ser aplicado para os milhes de estrelas de uma galxia. Mas levando-se em conta que a fora gravitacional diminui com o quadrado da distncia, pode-se usar um algoritmo de complexidade O(n logn).
Gabriel P. Silva
Aplicaes Paralelas
Simulando a Evoluo das Galxias
Neste caso grupos de estrelas mais distantes so consideradas como uma nica estrela com massa equivalente e situada no centro de massa dessas galxias. Este algoritmo hierrquico recebe o nome de Barnes-Hut Ampla concorrncia existe entre estrelas dentro de um intervalo de tempo, mas como so padres bastantes irregulares e variantes no tempo, um desafio explorar esta concorrncia em arquiteturas Gabriel P. Silva paralelas.
Computadores Paralelos
Gabriel P. Silva
Gabriel P. Silva
Gabriel P. Silva
Gabriel P. Silva
Conceitos Bsicos
Conceitos Bsicos
As arquiteturas paralelas permitem a execuo das tarefas em menor tempo, atravs da execuo em paralelo de diversas tarefas. O paralelismo pode ser obtido em diversos nveis, com ou sem o uso de linguagens de programao paralelas. Arquiteturas de diversos tipos, elaboradas para aplicaes especficas, podem ser utilizadas para acelerar a execuo dessas aplicaes.
Gabriel P. Silva
Processo
Processo:
Preparar o descritor de processo Reservar um espao de endereamento Carregar um programa no espao reservado Passar o descritor de processo para o escalonador
Nos modernos S.O.s, um processo pode gerar cpias, chamadas de processos filhos.
Gabriel P. Silva
Threads
Threads so partes autnomas de cdigo, criadas dentro de um mesmo processo. Todas as threads de um processo compartilham os mesmos recursos, em particular o mesmo espao de endereamento. A custo de criao, comunicao e sincronizao entre threads bem menor que entre processos.
Gabriel P. Silva
Escalonamento
H dois tipos bsicos de escalonamento:
Em qualquer dos casos o controle de atividade feito por um diagrama com pelo menos trs estados bsicos:
Conceitos Bsicos
Execuo concorrente est associada a idia de um servidor atendendo a vrios clientes atravs de uma poltica de escalonamento no tempo. Execuo paralela est associada ao modelo de vrios servidores atendendo a vrios clientes simultaneamente no tempo. As linguagens de programao podem ento ser classificadas como seqenciais, concorrentes e paralelas. Seqenciais:
C, Pascal, Fortran Ada, Pascal Concorrente, Modula-2, PROLOG Concorrente Occam-2, 3L Parallel C, Strand-88
Gabriel P. Silva
Concorrentes:
Paralelas:
Nveis de paralelismo
Nvel de instruo (granulosidade fina)
Arquiteturas SMT
Gabriel P. Silva
Avaliao de Desempenho
Medidas de Desempenho
Velocidade: tempo de resposta, vazo e utilizao:
Vazo (Throughput): taxa na qual os pedidos so atendidos (servidos) pelo sistema. Utilizao: frao do tempo em que o recurso permanece ocupado atendendo os pedidos dos usurios Tempo de resposta: tempo decorrido entre o pedido e o incio/concluso da realizao do servio (latncia). Probabilidade de erro Intervalo entre erros Durao da falha Intervalo entre falhas
Gabriel P. Silva
Confiabilidade
Disponibilidade
Vazo
Taxa na qual os pedidos so atendidos (servidos) pelo sistema. Exemplos:
Sistemas em lotes: jobs por segundo Sistemas interativos: pedidos por segundo CPUs: MIPs ou MFLOPs Redes: pacotes por segundo (pps) ou bits por segundo (bps) Sistemas de Processamento de Transaes: Transaes por segundo (TPS)
Gabriel P. Silva
Mede a razo entre o tempo gasto para execuo de um algoritmo ou aplicao em um nico processador e o tempo gasto na execuo com n processadores
S(n) = T(1)/T(n)
Eficincia:
E(n) = S(n)/n
Gabriel P. Silva
Medidas de Desempenho
Escalabilidade:
Um sistema dito escalvel quando sua eficincia se mantm constante medida que o nmero de processadores (n) aplicado soluo do problema cresce. Se o tamanho do problema mantido constante e o nmero de processadores aumenta, o overhead de comunicao tende a crescer e a eficincia a diminuir. A anlise da escalabilidade considera a possibilidade de se aumentar proporcionalmente o tamanho do problema a ser resolvido medida que n cresce de forma a contrabalanar o natural aumento do overhead de comunicao quando n cresce.
Gabriel P. Silva
Tcnicas de Avaliao
Gabriel P. Silva
Modelagem Analtica
uma tcnica aproximada, ou seja, aproxima a realidade por um modelo. Se o modelo for simples e a aproximao boa, possvel avaliar facilmente compromissos entre alternativas.
Simulao
Simulao de eventos discretos. Cada evento (ex.: chegada de usurio, trmino de servio, etc.) tratado quando do instante de sua ocorrncia. Simula o comportamento de um sistema real. Em geral, possvel construir um modelo muito mais prximo da realidade do que com a teoria das filas.
Gabriel P. Silva
Programas de Avaliao
o processo de comparao entre dois ou mais sistemas atravs de medies em que so utilizados programas de avaliao (benchmarks) como cargas de trabalho (workloads). Podem ser de vrios tipos:
Aplicaes Reais: compiladores, processadores de texto e imagem so alguns exemplos de programas utilizados. Sofrem de problemas de portabilidade. Aplicaes Modificadas: E/S removida. Scripts so utilizados para simular interatividade. Kernels: pequenos trechos de cdigo de programas reais so extrados de programas reais. Ex: Livermoore loops e Linpack.
Gabriel P. Silva
Programas de Avaliao
Benchmarks de brinquedo: tipicamente entre 10 e 100 linhas de cdigo para produzir um resultado previamente conhecido. Exemplos so o Crivo de Eratstenes, Quicksort e Puzzle. So fceis de digitar e executam em quase qualquer computador. Benchmarks sintticos: tentam imitar a freqncia de execuo mdia das instrues esperada em uma aplicao de um determinado tipo, mas no so extratos de programas reais. Whetstone (ponto flutuante) e Dhrystone (inteiro) so os exemplos mais populares.
Gabriel P. Silva
Programas de Avaliao
Sutes de Avaliao: coleo de programas de avaliao que tentam medir o desempenho dos processadores para uma variedade de aplicaes. O exemplo de maior sucesso o SPEC, que possui verses inteiras e de ponto flutuante, com edies em 1989, 1992, 1995 e 2000. Esto divididos em duas grandes categorias: inteiros e de ponto flutuante. O SPEC CPU2000 constitudo por 11 programas de avaliao inteiros (CINT2000) e 14 de ponto-flutuante (CFP2000).
http://www.spec.org http://www.top500.org
Gabriel P. Silva
Medio
Para efetuarmos medies (com os benchmarks programas de avaliao) preciso termos disposio ao menos um prottipo do sistema; Neste cado, normalmente difcil comparar alternativas; O mtodo mais utilizado compilar os benchmarks e execut-los no sistema que se deseja avaliar. Os programas devem ter caractersticas de acordo com os parmetros que se seja avaliar (CPU, E/S, Grfico, etc.).
Gabriel P. Silva
Porgramas de Avaliao
Gabriel P. Silva
Porgramas de Avaliao
Gabriel P. Silva
Tcnicas de Avaliao
Critrio Estgio Tempo Necessrio Ferramentas Preciso Modelagem Simulao Analtica Qualquer Qualquer Pouco Analistas Pouca Mdio Medio Prottipo Variado
Linguagens Instrumende tao Programao Moderada Variada Moderada Mdio Mdia Difcil Alto Alta
Gabriel P. Silva
Classificao
Paralelismo
Nveis de paralelismo :
nvel de instruo (granulosidade fina): arquiteturas pipelined, superescalares e VLIW nvel de thread (granulosidade mdia): arquiteturas multithreading, SMT nvel de processo (granulosidade grossa): multiprocessadores e multicomputadores
Gabriel P. Silva
Modelos de Programao
Modelos Bsicos de Programao:
Memria Compartilhada:
Todos os processos/threads compartilham de
um espao de endereamento comum; Comunicao atravs da memria; Uso de semforos para sincronizao; Linguagens: Pascal e C Concorrente.
Memria Distribuda:
Os processos/threads no dispem de um
espao comum para sincronizao e comunicao por troca de mensagens; Linguagens: PVM, MPI, Occam-3.
Gabriel P. Silva
Paralelismo
Classificao de Flynn (1966):
Single Instruction Stream (SI) Multiple Instruction Streams(MI) Single Data Stream (SD) Multiple Data Streams (MD)
Categorias de Arquiteturas
Gabriel P. Silva
Arquitetura SIMD
Arquitetura SIMD Bsica
R D D IN E C N X O E E E T R O E
Mm e . E m le . Po . r c
Mm e . E m le . Po . r c
Mm e . E m le . Po . r c
U id d n a e d e Cn o o tr le
Mmr e ia d e Po r m r g a a
Gabriel P. Silva
Arquitetura MIMD
Arquitetura de Memria Centralizada
Cache Proc.
Arquitetura MIMD
Arquitetura de Memria Distribuda
REDE DE INTERCONEXO
Mem. Cache Proc.
Duplicao de Recursos
Gabriel P. Silva
Classificao
Tipo de Processador Vetoriais Sistlicos SIMD Pipelined VLIW Superescalares Multithread Multicomputadores Multiprocessadores
Gabriel P. Silva
Pipelining Duplicao X X X X X X X X X X X X