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

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

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

Linguagem de Programação II

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

Carlos Eduardo Batista Centro de Informática - UFPB

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Caracterização de Sistemas Distribuídos

Arquitetura de Computadores. Processamento Paralelo

Processamento Paralelo & Multiprocessadores

Organização e Arquitetura de Computadores I

Arquitetura de Computadores Unidade Central de Processamento CPU

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

Arquiteturas Paralelas

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

Multiprogramação leve em arquiteturas multi-core

Processamento Paralelo

Organização de Computadores II. Arquiteturas MIMD

SIST706 Sistemas Distribuídos

Modelo de Von Neumann

SSC0611 Arquitetura de Computadores

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

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

Organização de Computadores 2005/2006 Processamento Paralelo

PARALELISMO NO NÍVEL DO PROCESSADOR

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

OpenMP: Variáveis de Ambiente

Medida de desempenho

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

Avaliação de Desempenho

SSC510 Arquitetura de Computadores. 6ª aula

Computadores e Programação (DCC/UFRJ)

AOC II - Arquitetura e Organização de Computadores Prof. Dr. rer. nat. Daniel Duarte Abdala. Lista de Exercícios

Exemplo Amdahl. O speedup total é dado por:

Sistemas Distribuídos

Sistemas distribuídos. Prof. Emiliano Monteiro

Organização de Computadores Sistema de entrada e saída (I/O) e computação paralela. Professor: Francisco Ary

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

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

3 Computação de Propósito Geral em Unidades de Processamento Gráfico

Programação Concorrente e Paralela

Sistemas Operacionais Distribuídos

Introdução a Sistemas Operacionais. Adão de Melo Neto

Modelos para Concorrência

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

Barramento. Prof. Leonardo Barreto Campos 1

Sistemas Multiprogramáveis/Multitarefa

Processadores. Principal função é executar programas armazenados na memória principal.

JAVA CÁ & LÁ Um Middleware para Computação Paralela e Distribuída

Parte I Multiprocessamento

Disciplina de Arquitetura de Computadores

Programação Concorrente e Paralela. Noemi Rodriguez

SISTEMAS OPERACIONAIS DE REDE

Modelo de Programação Paralela

Multiprocessadores e Paralelismo nível de Thread

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

Conceitos Básicos Processador

SSC510 Arquitetura de Computadores. 8ª aula

SSC PROGRAMAÇÃO CONCORRENTE. Aula 03 Terminologia Geral de Computação Paralela Prof. Jó Ueyama

Arquitetura de Computadores. Prof. João Bosco Jr.

Sistemas Operacionais. Adão de Melo Neto

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

Arquiteturas de Sistemas de Processamento Paralelo. Arquiteturas MIMD

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio

Arquitetura de Sistemas Digitais

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

Arquiteturas paralelas Parte 1

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

Arquitetura de Computadores

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

Faculdade de Computação 3 a Prova de Arquitetura e Organização de Computadores 2 Parte I Prof. Cláudio C. Rodrigues

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

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

SSC0611 Arquitetura de Computadores

Organização de Computadores e Proj.Integrado. Desempenho Herbert Rausch Fernandes

Memória Cache. Aula 24

Desempenho. Na otimização do projeto, as métricas mais importantes são custo e desempenho. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 1

Organização e Arquitetura de Computadores I

Arquitetura de Computadores

Organização de Computadores

SISTEMAS OPERACIONAIS DE REDE

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Introdução OpenMP. Nielsen Castelo Damasceno

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

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

Laboratório de Programação Paralela. Introdução. Prof. Carlos Bazilio

Unidade 12: Introdução ao Paralelismo:

Programação Paralela e Distribuída

Arquiteturas Paralelas

ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA

Processamento Paralelo

Definindo melhor alguns conceitos

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

Arquitetura de sistemas distribuídos

Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h

Organização e Arquitetura de Computadores

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Transcrição:

Multiprocessadores - A evolução tecnológica dos processadores iria diminuir drasticamente. 2- O caminho para o aumento de desempenho é de unir mais de um processador para realizar a mesma tarefa em menos tempo através da divisão das tarefas entre os processadores. 3- Os sistemas paralelos foram classificados em 4 categorias em função das instruções e dos dados. SISD (Single Instruction stream, Single Data stream) Uniprocessador SIMD (Single Instruction stream, Multiple Data stream) A mesma instrução é executada por múltiplos processadores, porém cada um deles possui diferentes dados. MISD (Multiple Instruction stream, Single Data stream) Sem uso comercial. MIMD (Multiple Instruction stream, Multiple Data stream) Cada processador busca sua própria instrução e opera seu próprio dado. 4- Os sistemas MIMD são divididos em 2 grupos de acordo com a organização de memória. O primeiro grupo que é chamado de centralized shared-memory. Considerando a pequena quantidade de processadores utilizadas, cerda de poucas dezenas, é possível compartilhar a mesma memória e conectar todos os processadores a memória através de um barramento. Com uma grande memória cache, tanto o barramento como a memória principal podiam dar conta da demanda de acessos. Devido a uma única memória possuir um tempo de acesso uniforme para os processadores ela também é chamada de UMAs (Uniform Memory Access).

O segundo grupo consiste de máquinas com a memória física distribuída. Para suportar grandes quantidades de processadores, a memória deve ser distribuída entre os processadores, do contrário, o sistema não suportaria a grande demanda de largura de banda de tantos processadores. Para que a eficiência ainda seja boa, a rede de interconexão deve possuir uma alta largura de banda. Memória Distribuída possui duas grandes vantagens: Primeiro, é uma maneira viável economicamente para aumentar a largura de banda da memória, se a maioria dos acessos for realizada na memória local do nó. Segundo, a latência de acesso é diminuída para os acessos locais, já que não existe a disputa entre os diversos processadores. Como desvantagem, podemos citar a comunicação de dados entre processadores, que se torna mais complexa e a latência aumenta, já que a memória não é compartilhada. 5- Arquitetura de Memória DSM (Distributed Shared-Memory). A memória física distribuída pode ser visualizada como sendo uma única memória possuindo um espaço de endereçamento único. Neste caso, um mesmo endereço de memória em processadores diferentes faz referência à mesma célula, independente de onde ela se encontre. Este mecanismo facilita a programação e a compilação já que a memória é vista como sendo única. Porém, não fica tão explicito qual dos endereços possui maior ou menor latência. Este método também é chamado de NUMAs (Non- Uniform Memory Access). Alternativamente, podemos possuir diversos espaços de endereçamento, um para cada nó formado pelo par processador/memória. Neste caso, o mesmo endereço de memória faz referência a diversas células diferentes, uma em cada nó. Este sistema pode ser visto como sendo diversos computadores interligados por uma rede de comunicação. Para tarefas que requerem pouco compartilhamento de dados, este pode ser um método barato e eficiente. A forma como as informações são trocadas entre as máquinas é a passagem de mensagem. Devido a isso, estas máquinas também são chamadas de message passing machines.

6- Desafio do Processamento Paralelo Para o aumento de desempenho com multiprocessadores nos deparamos com dois grandes desafios. O primeiro diz respeito ao limitado paralelismo disponível nos programas e o segundo se refere ao alto custo nas comunicações. A limitação no paralelismo disponível dificulta em adquirirmos um bom nas máquinas s. Abaixo vemos um exemplo disso. Exemplo: Suponha que se deseje um de 80 (8.000%) em uma máquina com 00 processadores. Qual a fração da computação pode ser seqüencial? Speedup CPI Instruções Período executadas clock CPI Instruções executadas CPI Instruções Período executadas clock Período clock + + + + Speedup ( ) + ( ) Speedup + ( ) Que é a Lei de Amdahl s Para simplificar este exemplo, consideraremos que este programa roda em apenas dois modos: paralelo com o uso de todos os processadores, que será o modo

paralelo, ou serial, onde apenas um processador é utilizado. Com esta simplificação, o no modo paralelo será simplesmente o número de processadores. A partir da Lei de Amdahl s temos: Speedup + ( Speedup paralelo ) 80 00 + ( ) 80 + 80 ( ) 00 0,8 + 80 80 79,2 79 79 79,2 0,9975 Isso nos leva a concluir que apenas 0,25% do programa pode ser seqüencial para que o seja 80 vezes o de um único processador. Já, para o caso de memória distribuída, a latência do meio de comunicação será o ponto a dificultar no, como vemos no exemplo a seguir. Exemplo: Suponha que exista uma aplicação rodando numa máquina com 32 processadores, nos quais são gastos 2.000 ns de tempo para realizar uma referencia a memória remota. Para esta aplicação, assumiremos que toda a comunicação, com exceção daquelas que envolvam comunicação externa, é feita na memória local. Os processadores são paralisados durante as requisições remotas e o período de clock dos processadores é de 0 ns. Se a CPI básica for,0, qual será o entre uma máquina que não faz comunicação remota e uma que possui 0,5% de suas instruções envolvendo comunicação remota? Com a requisição remota teremos a seguinte CPI: CPI CPI + Taxa de Requisição Remota Remota Básica Custo da Requisição Remota(ciclos)

Custo da Requisição Remota(ciclos) Custo da Requisição Remota(ciclos) Custo do Acesso Remoto (tempo) Período Clock 2.000ns 0ns Custo da Requisição Remota(ciclos) 200ns CPI + 0,5% 200 0,5 CPI + 200 00 CPI + 0,5 2 CPI + CPI 2 Logo, CPI Remota SpeedUp CPI Básica 2 SpeedUp 2 Isto é, de apenas 2 vezes mais lenta. 7- Problema de Coerência de Cache. Momento Evento Cache da CPU A Cache da CPU B Conteúdo do endereço X da Memória 0 CPU A lê o endereço X 2 CPU B lê o endereço X 3 CPU A grava 0 no endereço X 0 0 Como mostra a tabela acima, quando um determinado endereço de memória está sendo compartilhado, um alteração neste conteúdo pode não ser feita em alguma das caches. Uma forma de resolver este problema é com o uso do método da espionagem de barramento. Este método possui dois possíveis protocolos: protocolo de invalidação e o protocolo de atualização. Atividade da CPU Atividade de Barramento Invalidação Cache da CPU A Cache da CPU B Conteúdo do endereço X da Memória 0 CPU A lê o endereço X Cache miss em X 0 0 CPU B lê o endereço X Cache miss em X 0 0 0 CPU A grava no endereço X Invalidação de X 0 (invalidado) 0 CPU B lê o endereço X Cache miss em X

Atividade da CPU Atividade de Barramento Atualização Cache da CPU A Cache da CPU B Conteúdo do endereço X da Memória 0 CPU A lê o endereço X Cache miss em X 0 0 CPU B lê o endereço X Cache miss em X 0 0 0 CPU A grava no endereço X Difusão de X CPU B lê o endereço X