AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Documentos relacionados
SSC0611 Arquitetura de Computadores

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

SSC510 Arquitetura de Computadores. 7ª aula

Arquitetura de Computadores. Processamento Paralelo

SSC0510 Arquitetura de Computadores

Arquiteturas de Sistemas de Processamento Paralelo. Arquiteturas MIMD

Introdução à Computação: Sistemas de Computação

Processamento Paralelo

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

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano

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

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

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

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

Carlos Eduardo Batista Centro de Informática - UFPB

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano

SIST706 Sistemas Distribuídos

Sistemas Operacionais. Tipos de SO

Modelo de Von Neumann

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

Linguagem de Programação II

Estrutura da Apresentação. Introdução ao Processamento Paralelo e Distribuído. Conceitos em PPD. Conceitos em PPD 4/26/09.

Caracterização de Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

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

Processamento Paralelo & Multiprocessadores

SSC510 Arquitetura de Computadores. 6ª aula

AULA 01: APRESENTAÇÃO

SSC-0742 PROGRAMAÇÃO CONCORRENTE. Aula 04 Revisão de Arquiteturas Paralelas -Parte 2 Prof. Jó Ueyama e Julio Cezar Estrella

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

Sistemas distribuídos. Prof. Emiliano Monteiro

SISTEMAS OPERACIONAIS DE REDE

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Multiprogramação leve em arquiteturas multi-core

Tipos de Sistemas Operacionais

Barramento. Prof. Leonardo Barreto Campos 1

Organização e Arquitetura de Computadores I

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

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 12: MEMÓRIA CACHE: FUNÇÃO DE MAPEAMENTO (PARTE 1)

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

Uma Proposta para Migração de Páginas Linux

TIPOS DE SISTEMAS OPERACIONAIS. Ademar Alves Trindade

Curso: Redes de Computadores

Arquiteturas Paralelas

Aula 3 Redes de Interconexão

Parte I Multiprocessamento

Organização e Arquitetura de Computadores I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

ARQUITETURA DE SISTEMAS OPERACIONAIS. VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI

Sistemas Distribuídos

PARALELISMO NO NÍVEL DO PROCESSADOR

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

Sistemas Operacionais. Adão de Melo Neto

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

SISTEMAS OPERACIONAIS

Organização de Computadores

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C

Sistemas Operacionais Distribuídos

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

Vamos fazer um pequeno experimento

Sistemas Distribuídos

Programação Concorrente

Sistemas Operacionais

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Características de Sistemas Distribuídos

Algoritmos Computacionais

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Organização e comunicação em plataformas paralelas

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

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

Tipos de Sistemas Operacionais. Professores : Jones - Wendell

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

COMPUTADORES. Arquiteturas de Computadores Paralelos. Prof.: Agostinho S. Riofrio

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Características de Sistemas Distribuídos

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

Sistemas Operacionais

Arquitetura de Computadores

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais

SSC0611 Arquitetura de Computadores

ORGANIZAÇÃO DE COMPUTADORES

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

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Organização e Arquitetura de Computadores I

SSC0611 Arquitetura de Computadores

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

Sistemas Operacionais

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

Sistemas Operacionais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

SSC0112 Organização de Computadores Digitais I

Transcrição:

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação

MULTIPROCESSADORES Os multiprocessadores são arquiteturas do tipo MIMD (multiple instruction, multiple data). Uma conjunto de processadores que executam sequências de instruções diferentes simultaneamente em diferentes conjuntos de dados. Multiprocessadores simétricos (SMP) Clusters Sistema NUMA (Acesso não uniforme à memória) 2

ARQUITETURA MIMD As arquiteturas MIMD são divididas em dois grandes grupos: Memória Compartilhada Cada processador pode endereçar toda a memória do sistema. Memória Distribuída Cada processador endereça somente a própria memória local.

ARQUITETURA MIMD MEMÓRIA COMPARTILHADA As vantagens de uma arquitetura MIMD com memória compartilhada são: A comunicação entre os processos é bastante eficiente, pois os dados não precisam se movimentar fisicamente. A programação não difere muito da programação para um único processador, não necessitam particionar código nem dados.

ARQUITETURA MIMD MEMÓRIA COMPARTILHADA As desvantagens de uma arquitetura MIMD com memória compartilhada são: Primitivas de sincronização são necessárias para acesso às regiões compartilhadas. Em algumas linguagens isso fica a cargo do programador. Linguagens mais novas escondem alguns detalhes do programador. Esse tipo de arquitetura não é muito escalável, devido ao limite da memória.

MULTIPROCESSADORES DIAGRAMA

ARQUITETURA MIMD MEMÓRIA DISTRIBUÍDA As vantagens de uma arquitetura MIMD com memória distribuída são: Altamente escalável, permitindo a construção de computadores massivamente paralelos (multicomputadores) A forma de comunicação (troca de mensagens) resolve tanto os problemas de comunicação como sincronização.

ARQUITETURA MIMD MEMÓRIA DISTRIBUÍDA As desvantagens de uma arquitetura MIMD com memória distribuída são: A programação exige que os problemas possuam uma natureza paralela. É necessária a distribuição da carga entre os processadores, seja de maneira automática ou manual.

MULTIPROCESSADORES SIMÉTRICOS São computadores com as seguintes características: Dois ou mais processadores (capacidade semelhante). Podem fazer as mesmas funções (simétricos) Os processadores compartilham a mesma memória e E/S Podem usar o mesmo canal ou possuírem caminhos independentes Os processadores são conectados por um barramento ou outra conexão interna. O tempo de acesso à memória é aproximadamente o mesmo para todos os processadores. Arquitetura UMA (Uniform Memory Access) O sistema operacional controla a arquitetura Fornece interação entre os processadores

MULTIPROCESSADORES SIMÉTRICOS VANTAGENS Desempenho Caso algum trabalho possa ser feito em paralelo Disponibilidade de recurso Todos os processadores podem fazer as mesmas funções, falha de um processador não param a máquina. Aumento incremental O usuário pode aumentar o desempenho adicionando novos processadores, mas sempre limitado pela memória. Diferentes faixas de equipamentos Os fornecedores oferecem diferentes produtos, baseados no número de processadores.

MULTIPROCESSADORES SIMÉTRICOS ORGANIZAÇÃO Os multiprocessadores simétricos podem ser organizados em: Barramento de tempo compartilhado (comum) Memória multiportas (multiportas)

MULTIPROCESSADORES SIMÉTRICOS BARRAMENTO COMPARTILHADO Forma mais simples Estrutura e interface similares às arquiteturas monoprocessadas Endereçamento (distingue módulos no barramento) Arbitragem (qualquer módulo pode ser o mestre temporariamente) Time sharing (se um módulo tem o barramento, os outros dispositivos esperam) Diferença em relação aos monoprocessados Múltiplos processadores além de múltiplos dispositivos de E/S

MULTIPROCESSADORES SIMÉTRICOS BARRAMENTO COMPARTILHADO

MULTIPROCESSADORES SIMÉTRICOS BARRAMENTO COMPARTILHADO Vantagens Desvantagens Simplicidade Flexibilidade Confiabilidade Desempenho limitado pelo clock do barramento Cada processador deveria ter cache local Reduz número de acessos ao barramento. Gera problemas com a coerência da cache.

MULTIPROCESSADORES SIMÉTRICOS MEMÓRIA MULTIPORTAS Acesso direto e independente dos módulos de memória pelos processadores. Lógica necessária para solucionar conflitos Pouca ou nenhuma modificação nos processadores ou módulos de memória.

MULTIPROCESSADORES SIMÉTRICOS MEMÓRIA MULTIPORTAS Mais complexa Desempenho melhor Cada processador tem o seu próprio caminho para os módulos de memória Pode configurar porções da memória como privada para um ou mais processadores Aumenta a segurança Política de write through para atualização da cache

MULTIPROCESSADORES SIMÉTRICOS CONSIDERAÇÕES SOBRE O SO Encapsula detalhes, fornecendo visão de uma arquitetura monoprocessada. Trabalha como: Processos concorrentes Escalonamento Sincronização Gerência de memória Confiabilidade e tolerância a falhas

MULTIPROCESSADORES SIMÉTRICOS EXEMPLO: IBM S/390

MULTIPROCESSADORES COM CONJUNTO DE MEMÓRIAS LOCAIS Implementação de uma memória que é logicamente compartilhada mas implementada com o uso de um conjunto de memórias locais NUMA (Non-Uniform Memory Access) COMA (Cache-Only Memory Access) CC-NUMA (Cache Coherent Non-Uniform Memory Access)

MULTIPROCESSADORES NUMA Quando o acesso à memória não é uniforme Todos os processadores tê acesso a toda memória Normalmente usando load/store Tempo de acesso à memória difere em função da região Diferentes processadores têm acesso às regiões da memória em diferentes velocidades O que faz necessário um certo cuidado na hora de programar.

MULTIPROCESSADORES COMA Assemelham-se a uma NUMA Onde cada nó de possui uma parte de memória global O particionamento dos dados entre as memórias de cada nó não é estática. As memórias funcionam como caches L3 O problema de partição de dados e balanceamento dinâmico de carga é realizado automaticamente. Conforme o algoritmo de coerência utilizado, os dados migram automaticamente para as caches locais dos processadores onde é mais necessária.

MULTIPROCESSADORES CC-NUMA Solução de compromisso entre as arquiteturas NUMA e COMA Cada nó de processamento possui uma cache local para reduzir o tráfego na rede de interconexão O balanceamento de carga é realizado dinamicamente pelos protocolos de coerência de cache.

MULTIPROCESSADORES CC-NUMA