Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores



Documentos relacionados
Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

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

Ricardo Gonçalves 2013/2014. Arquitecturas Multicore

Sistemas Operacionais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano

Introdução ao Processador CELL BE

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

A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

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

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Symmetric Multiprocessing Simultaneous Multithreading Paralelismo ao nível dos dados

Unidade 13: Paralelismo:

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

Siang Wun Song - IME/USP e Universidade Federal do ABC. MAC setembro de 2010

Organização de Computadores 2005/2006 Processamento Paralelo

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

PROCESSADOR CELL BROADBAND ENGINE (MECANISMO DE BANDA LARGA)

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

Computação de Alto Desempenho uma pequena introdução

Imagem retirada de documentações de treinamentos oficiais INTEL

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Programação Paralela

Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução.

Máquinas Multiníveis

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações

Profs. Deja e Andrei

Capítulo 8 Arquitetura de Computadores Paralelos

Introdução aos Sistemas Operativos

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

Programação Concorrente Introdução

Comparação SDs X Scs

Introdução aos Computadores

Estrutura de um Computador

Figura 1 - O computador

slide 0 Algoritmos Paralelos

Arquitetura de Computadores. Professor: Vilson Heck Junior

ICORLI INSTALAÇÃO, CONFIGURAÇÃO E OPERAÇÃO EM REDES LOCAIS E INTERNET

Programação de Sistemas

Programação de Sistemas

Sistemas Operativos. 4ª Geração (a partir de 70 )

Sistema Operacional Correção - Exercício de Revisão

Gerência de Entrada/Saída

} 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

Aula 26: Arquiteturas RISC vs. CISC

Processadores clock, bits, memória cachê e múltiplos núcleos

INFORMÁTICA BÁSICA AULA 02. Docente: Éberton da Silva Marinho

Informática I. Aula 5. Aula 5-13/05/2006 1

Curso EFA Técnico/a de Informática - Sistemas. Óbidos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Arquitetura de Von Neumann e os Computadores Modernos

Linux no Playstation 3

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

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 :-)

Computação Heterogênea Programação paralela, clusters e GPUs

5 Entrada e Saída de Dados:

Arquitetura de Computadores. Tipos de Instruções

ISEP. Instituto Superior de Engenharia do Porto. Análise de Sistemas Informáticos

Organização de Computadores 1

O quê um Processador e qual a sua função?

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

Sistemas Computacionais II Professor Frederico Sauer

Sistema de Computação

Servidor de Dados. Sistemas de Informação Módulo 4

Broadband Engine Cell Processor. Arquitetura e Organização de Processadores (CPM237) Rodrigo Bittencourt Motta

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

Capítulo 1 Introdução

Componentes de um Sistema de Computador

Técnicas de Manutenção de Computadores

Introdução à Computação: Arquitetura von Neumann

EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60

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

Prof. Sandrina Correia

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Auditoria de senhas em hardware paralelo com o John the Ripper O impacto das tecnologias de processamento paralelo na quebra de senhas

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

Capítulo 9. Arquitecturas Reais e Alternativas

Sistemas de Computação e Desempenho (UCE Computação Paralela Distribuída)

Hardware de Computadores

Arquitetura de Computadores Arquitetura de entrada e saída

Tipos de Computadores


Aula 04 A. Barramentos. Prof. Ricardo Palma

Desenvolvimento Cliente-Servidor 1

Fundamentos de Hardware

Memória. Espaço de endereçamento de um programa Endereços reais e virtuais Recolocação dinâmica Segmentação

SUMÁRIO. Informática Informação X Comunicação Sistemas de Informação Tipos de computadores

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

SIS17-Arquitetura de Computadores

UFRJ IM - DCC. Sistemas Operacionais I

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Arquitectura de Computadores II. Multiprocessadores

Sistemas Operacionais

Transcrição:

Multi-processamento Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores Arquitecturas MIMD de memória distribuída Massive Parallel Computers Sistemas distribuídos

Ainda os GPUs Intel Larrabee Arquitectura baseada em cores x86 Extendidos com funções específicas de GPUs Sem execução fora de ordem cores mais pequenos Desenho inspirado no Cell CPUs ligados em anel Comunicação feita através de memórias L2 coerentes Disponível em 2009? 2010? Arquitectura de Computadores (2008/2009): Multi-processamento 776

Multi-cores heterogéneos CPUs compostos por cores com funcionalidades distinctas Conceito introduzido pela IBM com o processador Cell A AMD está a desenvolver o Fusion Arquitectura de Computadores (2008/2009): Multi-processamento 777

Cell (IBM, Sony e Toshiba) Processador com: 1 Power Processor Element (PPE) PowerPC que faz o processamento principal Vários Synergistic Processor Element (SPE) processamento SIMD LS Memória local Usado em máquinas IBM e na PlayStation 3 Arquitectura de Computadores (2008/2009): Multi-processamento 778

Cell Arquitectura interna Arquitectura de Computadores (2008/2009): Multi-processamento 779

Cada SPE contem: Um SPU Cell O SPU Com um ISA especializado composto essencialmente por instruções SIMD 256K de memória Uma unidade de DMA Quase toda a comunicação entre SPEs e entre o PPE e qualquer SPE é feita por DMA A excepção são umas mailboxes (caixas de correio) com pouca capacidade que permitem apenas o envio de dados até 32 bits Os SPUs estão ligados por dois bus em anel Comunicação em ambas as direcções Portanto é mais rápido comunicar do SPE1 para o SPE2 do que, por exemplo, para o SPE6 Arquitectura de Computadores (2008/2009): Multi-processamento 780

Cell Programação Existe um espaço de endereçamento único para PPE e SPEs A memória de cada SPE é mapeada nesse espaço único (a memória central) Portanto toda a comunicação é feita usando endereços desse espaço A IBM oferece uma extensão à linguagem de programação C Mas a programação continua a ser de muito baixo nível Além disso não é simétrico O interface é diferente na programação do PPE e do SPE Arquitectura de Computadores (2008/2009): Multi-processamento 781

Cell Comunicação Existem 2 operações DMA possíveis: Put enviar um valor da memória de um SPE para um endereço da memória central Get ler um valor da memória de um endereço da memória central para o SPE Todas as operações de DMA são feitas pelos SPEs Uma operação DMA desencadeada pelo PPE é na realidade realizada pelo SPE alvo Arquitectura de Computadores (2008/2009): Multi-processamento 782

AMD Fusion CPUs + GPU + aceleradores especializados A ideia é especializar o computador para certas tarefas Transacções comerciais Reconhecimento de imagens Segurança Arquitectura de Computadores (2008/2009): Multi-processamento 783

Sistemas multi-processador Um sistema computacional pode ter mais do que um processador Estes podem estar organizados de diversas formas, apresentando diferentes topologias Arquitectura de Computadores (2008/2009): Multi-processamento 784

Computadores multi-processador Até 2004 todos os processadores partilhavam o Front- Side Bus O modelo em vários processadores do mesmo modelo partilham uma memória dá-se o nome de SMP (Symmetric MultiProcessing) Arquitectura de Computadores (2008/2009): Multi-processamento 785

SMP Vantagens Todos os CPU partilham o programa e os dados Fácil e eficiente partilhar as alterações nos dados O SO tira partido destas arquitecturas Desvantagens Congestionamento no acesso à memória As caches podem aliviar esse problema, mas colocam o problema das escritas poderem tornar as caches incoerentes Impraticável para grande escala (muitos CPUs) Arquitectura de Computadores (2008/2009): Multi-processamento 786

Coêrencia de caches CPU x++; Cache L1 Write-back x = 10 Cache L2 Write-back partilhada CPU y = x; Cache L1 Write-back x = 0 y = 0? Arquitectura de Computadores (2008/2009): Multi-processamento 787

Coêrencia de caches É necessário ter um protocolo para garantir a coerência das caches Estes protocolos são normalmente protocolos de invalidação que invalidam as cópias dos blocos alterados É implementado em hardware Arquitectura de Computadores (2008/2009): Multi-processamento 788

Coêrencia de caches CPU x++; Cache L1 Write-back x = 10 Cache L2 Write-back partilhada CPU y = x; Cache L1 Write-back Invalid x = 10 y = 1 Arquitectura de Computadores (2008/2009): Multi-processamento 789

Computadores multi-processador (2005) Com o surgimento dos multi-core foi necessário diminuir o congestionamento no acesso ao bus Dois FSB, cada um dedicado a dois processadores Se cada processador tiver 2 cores, são 4 cores por bus Arquitectura de Computadores (2008/2009): Multi-processamento 790

Computadores multi-processador (2007) FSB dedicados Arquitectura de Computadores (2008/2009): Multi-processamento 791

Computadores multi-processador (2009) Quick-path Proposta da Intel onde cada processador tem a sua memória dedicada Não é uma arquitectura SMP, é sim NUMA (Non- Uniform Memory Access) O tempo de acesso a memória não é uniforme Aceder a dados na memória de outro processador é mais lento do que aceder a dados na própria memória Arquitectura de Computadores (2008/2009): Multi-processamento 792

MIMD memória distribuída Cada unidade processadora tem a sua própria memória Dois tipos, por vezes difíceis de distinguir: MPP (Massively Parallel Processors) Interligação CPU Memória CPU Memória Sistemas distribuídos CPU Memória Arquitectura de Computadores (2008/2009): Multi-processamento 793

MPP O foco está na computação paralela, onde o que se pretende é ter plataformas eficientes Os vários nós estão próximos e ligados por redes muito rápidas Gigabit Infiniband Myrinet Interligação local e rápida CPU Memória CPU Memória CPU Memória Arquitectura de Computadores (2008/2009): Multi-processamento 794

Exemplo: Roadrunner Cada nó é composto por uma junção de 3 blades 2 x 2 Cells + 1 x 2 AMD Opteron Dual-core Todos com memórias dedicadas Os nós são ligados por Inifiband Arquitectura de Computadores (2008/2009): Multi-processamento 795

Exemplo: Roadrunner Arquitectura de Computadores (2008/2009): Multi-processamento 796

Sistema Distribuído O foco é mais na cooperação de vários sistemas computacionais distribuídos geograficamente na obtenção do resultado final Exemplo: Reservar uma viagem através de um browser O resultado é obtido a partir da interacção entre o cliente (o browser) e o servidor (a aplicação de reserva de bilhetes) Interligação rede normal, pode ser mesmo Internet CPU Memória CPU Memória CPU Memória Arquitectura de Computadores (2008/2009): Multi-processamento 797

Vantagens Memória distribuída Podemos conseguir arquitecturas com milhares de CPUs Permite a ligação de equipamentos fisicamente distribuídos Desvantagens Interligações lentas e de grande latência Não suportam bem muitas dependências entre dados Difícil tirar o melhor partido, usar e gerir, estes sistemas Arquitectura de Computadores (2008/2009): Multi-processamento 798

Usando arquitecturas MIMD Se o problema pode ser decomposto: Dividimos as várias sequências de instruções e dados pelos vários processadores Estes executam em paralelo Speedup será proporcional ao paralelismo conseguido Mas nem todos os problemas podem ser facilmente decompostos Existem partes que são sempre sequenciais Existem dependências entre dados (os vários componentes têm de partilhar dados ou comunicar alterações) Há que distribuir o código e os dados pelos vários processadores e coligir os resultados Etc Arquitectura de Computadores (2008/2009): Multi-processamento 799

Top500.org 1. IBM Roadrunner Pertence ao Departamento de Energia dos EUA Cores: 122240 6120 AMD Opteron 12240 cores 12240 Cell 12240 PPE cores 97920 SPE cores FLOPS (Floating-Point Operations Per Second) peak: 1465704 1º a ultrapassar a barreira do TeraFLOPS Arquitectura de Computadores (2008/2009): Multi-processamento 800

2. Jaguar Top500.org Pertence a um laboratório de investigação do Departamento de Energia dos EUA Cores: 150152 Blades Cray XT5 com cores AMD Opteron Quad-core FLOPS peak: 1381400 3. Pleiades Pertence à NASA Cores: 51200 12800 blades SGI Altix ICE 8200EX com Intel Xeon Quad-core FLOPS peak: 608829 Arquitectura de Computadores (2008/2009): Multi-processamento 801