Arquiteturas Paralelas

Documentos relacionados
30/5/2011. Sistemas computacionais para processamento paralelo e distribuído

Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór

Arquiteturas Paralelas

Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva

SSC510 Arquitetura de Computadores. 6ª aula

Sistemas Distribuídos

Arquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela

Multiprogramação leve em arquiteturas multi-core

Aula 3 Redes de Interconexão

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Arquitetura de Computadores. Processamento Paralelo

Organização de Computadores II. Arquiteturas MIMD

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD

Disciplina de Arquitetura de Computadores

1 Fundamentos de Processamento de Alto Desempenho

TOP Arquitetura dos supercomputadores

Programação Distribuída e Paralela. Jorge Barbosa

Multiprocessamento. Patterson & Hennessy Capítulo 9. Arquitetura e Organização de Computadores Juliano M. Vieira (c) 2011

PARALELISMO NO NÍVEL DO PROCESSADOR

Processamento Paralelo

Topologias de Arquiteturas de Comunicação

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR

Arquiteturas de Sistemas de Processamento Paralelo. Arquiteturas MIMD

Computação de alto desempenho

Computação de alto desempenho

Caracterização de Sistemas Distribuídos

Fundamentos de Processamento de Alto Desempenho

speedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado

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

Sistemas distribuídos. Prof. Emiliano Monteiro

Evolução da Computação de Alto Desempenho sob a Ótica da Lis. ou (Se um processador já é rápido, imaginem um sistema com processadores :-)

Processadores para computação de alto desempenho

Sistemas Operacionais Distribuídos

Ambientes de computação de alto desempenho no LNCC

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização e Arquitetura de Computadores I

SSC510 Arquitetura de Computadores. 7ª aula

Introdução. Redes de Interconexão - Prof a Luiza Mourelle 1

Processamento Paralelo

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

Barramento. Prof. Leonardo Barreto Campos 1

Arranjo de Processadores

Arquiteturas Paralelas

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core

SSC0611 Arquitetura de Computadores

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

AULA1 Introdução a Microprocessadores gerais. Disciplina: Aplicações Avançadas de Microprocessadores (AAM)

Sistemas Operacionais. Conceitos de Hardware

Desafios do Mapeamento de Processos em Arquiteturas Many-Core

Arquiteturas Paralelas

LISTA DE EXERCÍCIOS #2 (BASEADO NO ENADE COMPUTAÇÃO)

Capítulo 8 Arquitetura de Computadores Paralelos

Programação Concorrente

Computadores e Programação (DCC/UFRJ)

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

SIST706 Sistemas Distribuídos

MONTAGEM E MANUTENÇÃO DE COMPUTADORES

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa

Linguagem de Programação II

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

Supercomputador Pleiades

Sistemas Operacionais. Adão de Melo Neto

Estrutura Básica de um Computador

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Transcrição:

Apresentação Prof. Marcos José Brusso Arquiteturas Paralelas Prof. Ms. Marcos José Brusso brusso@upf.br Universidade de Passo Fundo Formação Graduação: Ciência da Computação, UPF/1994 Mestrado: Ciência da Computação, UFRG/2000 Atividades Professor Adjunto do ICG/UPF Coordenador da specialização em Desenvolvimento de oftware Coordenador projeto Kelix Prof. Dr. César A. F. De Rose derose@inf.pucrs.br Pontifícia Universidade Católica do Rio Grande do ul 2 Apresentação Prof. César De Rose umário Formação Graduação em Ciência da Computação - PUCR (1990), Mestrado em Ciência da Computação - UFRG (1993) Doutorado em Ciência da Computação pela Universidade de Karlsruhe, Alemanha (1998) Atividades Professor Adjunto da PUCR Coordena o Laboratório de Alto Desempenho da PUCR (LAD-PUCR) Introdução Motivação Classificação de Máquinas Paralelas Tendências na Construção de Máquinas Paralelas Máquinas Agregadas studo de Casos Comparação ntre Modelos Tópicos Atuais Bibliografia 3 4 volução das Arquiteturas Arquitetura Tradicional Uma única unidade ativa Introdução Unidades de / autônomas x.: DMA Multiprogramação 5 6

volução das Arquiteturas Hierarquia de Acelerar alimentação da Pipeline de instrução uperescalar Pipeline de dados Máquinas vetoriais L1 L2 F D W F D W F D W L1 L2 Objetivo desta volução Acelerar o processamento dos dados pela Liberando (delegando tarefas) Controle do barramento Tratamento de / Acelerando a alimentação da Hierarquia de memória obrepondo ciclos da Pipeline de instrução Acelerar o processamento dos dados construindo arquiteturas com múltiplas s Arquiteturas Paralelas 7 8 Por Que Pesquisar AP? Motivação Contribui para o ganho de desempenho de arquiteturas convencionais Alternativa para quando limites físicos forem atingidos Alternativa para aplicações com demanda imediata por alto desempenho imulação (previsão do tempo, modelos físicos, biológicos) Computação gráfica... 9 10 Por Que Pesquisar AP? Por Que studar AP? olução de aplicações complexas (científicas, industriais e militares) Meteorologia Prospeção de petróleo Análise de local para perfuração de poços de petróleo imulações físicas Aerodinâmica; energia nuclear Matemática computacional Análise de algoritmos para criptografia Bioinformática imulação computacional da dinâmica molecular de proteínas Domínio da terminologia utilizada na especificação de arquiteturas scolha / Construção da melhor arquitetura para o uso desejado Programação eficiente da máquina No caso de PPD, conhecimento da arquitetura da máquina influencia diretamente o desempenho da aplicação 11 12

Por Que studar Classificações? Classificação de Máquinas Paralelas Identificar o critério da classificação Por que é importante Quais as suas implicações Analisar todas as possibilidades Mesmo as classes que não foram implementadas Ou implementações que não deram certo Como ocorreu a evolução da área Como pode evoluir 13 14 Classificação de Flynn Classe ID Classificação genérica (1970) Diferencia se o fluxo de instruções (instruction stream) e o fluxo de dados (data stream) são múltiplos ou não ingle Instruction tream, ingle Data tream Um único fluxo de instruções Um único fluxo de dados Arquiteturas tradicionais não paralelas Máquinas de von Neumann tradicionais ingle Instruction Multiple Instruction ingle Data ID MID Multiple Data IMD MIMD 15 16 Classe MID Classe IMD Multiple Instruction tream, ingle Data tream Múltiplos fluxos de instruções Um único fluxo de dados Ainda sem implementação ingle Instruction tream, Multiple Data tream Um único fluxo de instruções Múltiplos fluxos de dados xecução síncrona Arquiteturas Array CM-2, MP-2 17 18

Classe MIMD Classificação segundo o Compartilhamento de Multiple Instruction tream, Multiple Data tream Múltiplos fluxos de instruções Múltiplos fluxos de dados Vários programas sobre vários dados Arquiteturas Paralelas Modernas Dependendo da máquina paralela utilizar uma memória compartilhada por todos os processadores, pode-se diferenciar: Multiprocessadores Multicomputadores 19 20 Multiprocessador Multiprocessador Compartilha uma memória central Arquitetura tradicional com vários processadores Um único espaço de endereçamento Comunicação através da memória Variáveis compartilhadas m um multiprocessador a memória é disputada pelos processadores Muitas vezes endereços são diferentes Posso quebrar memória em diferentes módulos para permitir múltiplos acessos ntrelaçada (interleaved) Bloco único ntrelaçada 21 22 Multiprocessador Multicomputador Não adianta a memória suportar múltiplos acessos se o barramento suporta apenas uma transação por vez Ideal: rede não bloqueante com suporte a várias transações simultâneas x: Matriz de Chaveamento (crossbar) Não compartilha memória Interligação de várias arquiteturas tradicionais Cada uma possui sua memória local Múltiplos espaços de endereçamento privados Comunicação por troca de mensagens 23 24

Classificação egundo o Tipo de Acesso à Multiprocessadores UMA Multiprocessadores UMA NCC-NUMA CC-NUMA C-NUMA COMA Uniform Memory Access centralizada (mesma distância de todos os processadores) Custo único de acesso Necessário tratar coerência das caches 25 26 Multiprocessadores NUMA Multiprocessadores NUMA Non Uniform Memory Access Único espaço de endereçamento distribuída (distâncias diferentes) Custo não uniforme de acesso à memória m relação ao tratamento do problema de coerência de cache NCC-NUMA Non Cache-Coherent NUMA CC-NUMA Cache-Coherent NUMA Implementada em hardware C-NUMA oftware-coherent NUMA Implementada em software DM (Distributed hared Memory) 27 28 Multiprocessadores COMA Multicomputadores NORMA Cache-only Memory Architecture s locais são caches (COMA caches) Gerência de caches na MMU Non-Remote Memory Access) Apenas acesso local à memória 29 30

Resumo da Classificação Redes de Interconexão 31 32 Redes de Interconexão Redes státicas Implementa comunicação N:N com redes estáticas ou dinâmicas stática Roteamento em hardware Anel Torus... Dinâmica Chaveadores (switches) Interligadas através de ligações fixas ntre cada componente existe ligação direta dedicada Topologia (estrutura de interligação) determina características da rede No caso das máquinas paralelas são normalmente regulares 33 34 Redes státicas Anel Baixa escalabilidade (aumento um a um até 12) Problemas com Tolerância a Falhas Uni ou bidirecional Grau do nó: 2 Array linear strela Anel imples Anel Cordado Anel Completo 35 36

Torus Malha com extremidades interligadas Roteamento simplificado Boa escalabilidade (aumento linha ou coluna até 12x12) Grau do nó: 4 Redes Dinâmicas Não há topologia fixa Rede adapta-se dinamicamente, por demanda Barramento Matriz de Chaveamento (Crossbar) Redes Multinível Malha Torus 37 38 Matriz de Chaveamento Roteamento Crossbar Baixa escalabilidade (limite é o número de portas) Alto custo Bidirecional Grau do nó 1 Rede de interconexão normalmente não possui ligações diretas entre todos os nós Mensagem precisa trafegar por nós intermediários para chegar ao destino A condução da mensagem é chamada de roteamento Duas formas de condução Chaveamento de circuito (circuit switching) Chaveamento de pacotes (packet switching) 39 40 Chaveamento de Circuito Chaveamento de Pacotes Mais usado em redes de telecomunicações stabeleço inicialmente o caminho (alto custo) nvio posteriormente os dados Mais comum em máquinas paralelas Não existe caminho pré-definido em custo inicial Custo adicional em cada nó em reserva de canal 41 42

Plataformas Tradicionais para PPD Plataformas Tradicionais para PPD PVP Processadores Vetoriais MP Multiprocessadores imétricos com memória compartilhada MPP Multicomputadores Maciçamente Paralelos com múltiplas memórias locais NOW Redes de stações de Trabalho Arquitetura e características bem diferentes!!! 43 44 PVP... Parallel Vector Processor Interconexão compartilhada (UMA) Comunicação através da memória Matriz de chaveamento M M M Permite acesso concorrente a memória Baixa escalabilidade (poucos processadores) Grandes registradores, sem caches x: Cray C90, Cray T-90, NC X-4 VP VP VP PVP: xemplos NC X6 Cray T90 45 46 MP P ymmetric Multiprocessor... P compartilhada (UMA) Interconexão Comunicação através da memória Interconexão por barramento Baixa escalabilidade (poucos processadores) Fácil programação x: GI Power Challenge, un parc ntrerprise, ervidor x86 Dual/Quad P MP: xemplos un PARC nterprise T5440 erver (até 4 UltraPARC T2 Plus) IBM eerver p5 550 (2 ou 4 POWR5) 47 48

MPP... P Massively Parallel Processors Múltiplas memórias locais Comunicação por troca de mensagens Interconexão por rede de alta velocidade (proprietária) P M P M Interconexão Boa escalabilidade (muitos processadores) Programação mais complicada x: Intel Paragon, Cray T3, Thinking Machines CM-5 M MPP: xemplos IBM P2 Intel Paragon Connection Machine CM-5 49 50 NOW Network of Workstations Múltiplas memórias locais Comunicação por troca de mensagens Interconectados por rede tradicional Difícil programação x: PCs interligadas por rede thernet... PC PC PC Rede NOW: xemplo 51 52 Comparação urge Uma Nova Classe PVP MP MPP NOW Número de Ps Baixo Baixo Alto Médio scalabilidade Baixa Baixa Alta Média Latência de Comunicação Baixa Média Baixa Alta Programação Média Fácil Difícil Difícil PVP MP MPP NOW Máquinas Agregadas Cluster of Workstations (COW) Redes de estações dedicadas ao Processamento Paralelo Interconectadas por novas tecnologias de redes locais (baixa latência) Otimização de NOW Procura aliar vantagens das outras quatro classes 53 54

Máquinas Agregadas Baixo custo (NOW) Baixa latência na comunicação (MPP) distribuída (MPP) e/ou compartilhada (MP) Boa escalabilidade (MPP) COW: xemplos Clusters Amazônia e Ombrófila CPAD-PUCR/HP 55 56 COW: xemplos Construção de COW s HP i-cluster Grenoble Atualmente há duas tendências Interligadas por rede rápida Impulsionada por fabricantes de placas de rede especiais Alto custo por nó compromete escalabildade Máquinas de pequeno e médio porte (dezenas de nós) Interligadas por rede thernet Impulsionada por grandes fabricantes (HP, IBM) Máquinas de grande porte (centenas de nós) 57 58 Como Obter Baixa Latência Myrinet Placas de interconexão (rede) otimizadas Conexão ponto-a-ponto entre estações Interconexão por redes estáticas ou dinâmicas Implementação de protocolos de rede em HW Implementa troca de mensagens (NORMA) Latência em torno de 2µs Vazão 1.2 GBytes/s Interligação através de switch de alto desempenho 59 60

CI InfiniBand calable Coherent Interface Padrão I 1596-1992 Implementa troca de mensagens e memória compartilhada (NORMA, NUMA) Latência em torno de 5µs Vazão 6.4 Gbits/s Interligação em anel ou switch de alto desempenho Tecnologia para comunicação Computador/Computador Computador/IO Latência em torno de 1µs Vazão 40 Gb/s uporta Remote Direct Memory Access (RDMA) 61 62 COW - Configuração Mínima Aproveitamento das máquinas mais rápidas como nós (homogêneo) - 8 nós Aproveitamento de uma máquina como hospedeira Não participa do cluster (simétrico) Bloqueia acesso direto ao cluster Função de console istema Operacional Linux Rede de interconexão de baixa latência ou uso de switch Fast-thernet Configuração Mínima witch Fast-thernet Hospedeira... Cluster... Rede 63 64 Configuração Avançada Máquinas MP como nós (dual) - 16 nós Redes de interconexão primária e secundária Rede primária para comunicação (rede rápida) Rede secundária para gerência e monitoração Configuração Avançada... Rede ecundária Rede Primária Hospedeiras Console Gerência e Monitoração Acesso remoto Rede 65 66

Lista TOP 500 http://www.top500.org Benchmark: Linpack Última lista: novembro de 2009 Top500: Os Top 5 Rank Computer/Year Vendor Cores Rmax Rpeak Power 1 Jaguar - Cray XT5-H Opteron ix Core 2.6 GHz / 2009 Cray Inc. 2 Roadrunner - BladeCenter Q22/L21 Cluster, PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz, Voltaire Infiniband / 2009 IBM 3 Kraken XT5 - Cray XT5-H Opteron ix Core 2.6 GHz / 2009 Cray Inc. 4 JUGN - Blue Gene/P olution / 2009 IBM 224162 1759.00 2331.00 6950.60 122400 1042.00 1375.78 2345.50 98928 831.70 1028.85 294912 825.50 1002.70 2268.00 5 Tianhe-1 - NUDT TH-1 Cluster, Xeon 5540/5450, ATI Radeon HD 4870 2, Infiniband / 2009 NUDT 71680 563.10 1206.19 67 68 Jaguar -Cray XT5 Top500 69 70 Top500 Tópicos Atuais 71 72

MT - imultaneous Multithreading MT - imultaneous multithreading Abordagem multi-thread 2 ou mais threads podem executar simultaneamente no mesmo processador Não há troca de contexto para execução dos threads Processador virtualmente duplicado n processadores lógicos Objetivo: melhor utilização de recursos Intel comercializa como Hyper-Threading Componentes replicados (< 5% da área do chip) Contexto do processo em execução (pilha, regs de controle, etc) Concorrência na execução dos processos Controlador de interrupções Gerência concorrente de interrupções Recursos compartilhados entre processos Unidades de execução Cache 73 74 Tecnologia Multicore Tecnologia Multicore Múltiplos cores (núcleos de execução) integrados em um único chip Multiplicação total dos recursos de processamento Vantagem: compatibilidade com código existente! xemplo: Intel Core i7 Quad core Agradecimentos: Professores Rafael antos e Gerson Cavalheiro 75 76 Tecnologia Multicore Bibliografia De Rose, C.; Navaux, P. Arquiteturas Paralelas ditora agra-luzzatto Hwang, Kai; Xu - calable parallel computing, 1998 Culler, D.; ingh, J. - Parallel Computer Architecture, 1999 eitz et. al. - Myrinet, a gigabit-per-second Local Area Network. I Micro, 15, 1995. I:I tandard for calable Cherent Interface (CI). I tandard 1596-1992 77 78