Arquitetura de Sistemas Operacionais

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Coerência de Cache em Multiprocessadores
Paralelismo em Máquinas Multiprocessadas
Sistemas Operacionais
Sistemas Operacionais
Introdução à Hierarquia de Memória
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Noções de Sistemas Operacionais
Sistemas operacionais
Arquitetura de Sistemas Operacionais
Barramentos Introdução.
Sistemas Operacionais - 3
Sistemas Operacionais - 4
MULTICORE Aluno: Gabriel Antonio Leite São processadores caracterizados por apresentar vários cores (núcleos de processamento) em um único chip.
Sistemas Operacionais
ARQUITETURA DE COMPUTADORES II
Multithreading e multiprocessamento
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Introdução à Informática
Sistemas Distribuídos e Redes de Computadores
Rganização de Computadores Multiprocessadores Capítulo 9 – Patterson & Hennessy Organização de Computadores Multiprocessadores Capítulo 9 – Patterson &
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Sistemas Operacionais
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Sistemas Distribuídos
2- Entendendo o que é Arquitetura e Organização
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Universidade São Marcos Curso: Gestão de Negócios Internacionais
SISTEMAS OPERACIONAIS
Paralelismo Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; -
Fundamentos de programação CUDA
Tópicos em redes e sistemas distribuídos B
Tópicos em redes e sistemas distribuídos B
Tópicos em redes e sistemas distribuídos
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Carlos Oberdan Rolim Ciência da Computação
Arquitetura de computadores
Sistemas Operacionais
Arquitetura de Sistemas Operacionais – Machado/Maia 13/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 13 Sistemas.
Sistemas Operacionais I
Arquitetura de computadores
Sistemas Distribuídos
Noções de Software Escola Almirante Soares Dutra
Sistemas Distribuídos
Sistemas Operacionais
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Distribuídos
BD Distribuído Conceitos Iniciais.
TELP: Aplicações Paralelas em Ambientes de Passagem de Mensagens
Organização e Arquitetura de Computadores
Paralelismo em Máquinas Multiprocessadas
Aula 1 – Introdução a Redes de Computadores
Sistemas Operacionais
Linux em Máquinas Paralelas
TIPOS DE SISTEMAS OPERACIONAIS Pablo Viana. T IPOS DE S ISTEMAS O PERACIONAIS.
Estrutura de Interconexão
Sistemas com Múltiplos processadores
Sistemas de Memória Cache em Multiprocessadores
Algoritmos Paralelos.
Arquitetura de computadores
Conceituação e Classificação
Transcrição da apresentação:

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado por Sidney Lucena (Prof. UNIRIO) Capítulo 13 Sistemas com Múltiplos Processadores

Sistemas com Múltiplos Processadores Arquiteturas que possuem duas ou mais CPUs interligadas funcionando em conjunto na execução de programas Processando tarefas independentes ou simultaneamente processando uma mesma tarefa Paralelismo a nível de instrução ou de tarefas Opção com melhor custo/benefício em relação a desenvolver processadores mais rápidos Custo elevado, limitações físicas p/ maior desempenho Surgimento de aplicações que demandam grande poder computacional: Previsão do tempo, Dinâmica dos fluidos, Genoma humano, Simulação de eventos raros, Modelagem computacional de sistemas

Principais Vantagens Desempenho: Apesar de não ser linear, desempenho aumenta a medida que novos processadores são acrescentados à arquitetura Maior throughput, menor tempo de resposta, menor tempo de processamento Ganho obtido pela execução simultânea de tarefas independentes Aumento de throughput, atende número maior de usuários simultaneamente Ganho obtido pela execução simultânea de uma mesma tarefa por vários processadores Depende da organização dos processadores, linguagem de programação utilizada, grau de paralelismo da aplicação

Principais Vantagens Escalabilidade: Relação custo/desempenho Capacidade de computação é ampliada ao se adicionar novos processadores ao hardware Custo inferior ao da aquisição de um sistema com maior desempenho Relação custo/desempenho Tolerância a falhas e disponibilidade Sistema se mantém em operação mesmo no caso de falha de algum dos processadores Apenas a capacidade é diminuída Disponibilidade aumenta em função do número mais reduzido de paradas

Balanceamento de Carga e Desvantagens Distribuição do processamento entre os diversos processadores melhora desempenho do sistema como um todo Desvantagens de sistemas multiprocessadores: Introdução de novos problemas de comunicação e sincronização P/ex.: vários processadores podem estar acessando a mesma posição de memória Organização de processadores, memórias e periféricos devem permitir boa relação custo/benefício Tolerância a falhas pode ser dependente do SO e não apenas do hardware Difícil implementação

Tipos de Sistemas Computacionais Podem ser classificados quanto ao grau de paralelismo no processamento de instruções e dados Modelo proposto por Flynn (1966) ainda é usado: SISD (Single Instruction Single Data) Sistemas que suportam seqüência única de instrução e apenas uma seqüência de dados Engloba maioria dos sistemas monoprocessador SIMD (Single Instruction Multiple Data) Sistemas que suportam seqüência única de instruções e múltiplas seqüências de dados Permite a execução de uma mesma instrução sobre diferentes elementos de dados (p/ex., vetores) Vantajoso p/ aplicações c/ alto grau de paralelismo

Tipos de Sistemas Computacionais SIMD (Single Instruction Multiple Data) Computadores específicos desenvolvidos para este modelo, chamados supercomputadores ou computadores vetoriais Ex.: Cray T90, com 8 registradores vetoriais, cada qual com 128 elementos, e até 32 processadores MISD (Multiple Instruction Single Data) Permite múltiplas seqüências de instrução e um única seqüência de dados Nenhuma arquitetura desenvolvida para este modelo MIMD (Multiple Instruction Multiple Data) Múltiplas seqüências de instrução e múltiplas seqüências de dados Compreende maioria dos sistemas com múltiplos processadores

Sistemas Fortemente e Fracamente Acoplados Arquiteturas MIMD podem ser classificadas quanto a seu grau de acoplamento Compartilhamento de memória, distância entre processadores, tempos de acesso, mecanismos de comunicação e sincronização Sistemas fortemente acoplados são aqueles onde os processadores compartilham uma mesma MP e são governados por um mesmo SO Sistemas fracamente acoplados são aqueles que possuem dois ou mais sistemas computacionais independentes conectados em rede

Sistemas Fortemente e Fracamente Acoplados

Sistemas Fortemente e Fracamente Acoplados Sistemas fortemente acoplados podem ser subdivididos quanto à forma de compartilhamento de memória SMP (Symmetric Multiprocessors) 2 ou mais processadores compartilhando mesmo espaço de endereçamento Tempo de acesso à MP é uniforme p/ processadores NUMA (Non-Uniform Memory Access) Tempo de acesso à memória depende da localização física do processador Vários conjuntos de processadores e memória, cada conjunto ligado aos demais por uma rede de interconexão ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

Sistemas Fortemente e Fracamente Acoplados ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

Arquitetura dos Sistemas Simétricos A organização interna de processadores, memória e dispositivos de E/S determinam o dimensionamento do sistema e o mecanismo de acesso à MP Fundamental para o projeto de sistemas simétricos Formas de interligação mais usuais das unidades funcionais: Barramento único Barrameno único com cache Barramento cruzado comutado (crossbar) Rede Ômega ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

Arquitetura dos Sistemas Simétricos Barramento único Forma mais simples, econômica e flexível Somente uma unidade funcional pode usar o barramento num dado instante Gargalo! Se barramento falha, todo o sistema é comprometido ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

Arquitetura dos Sistemas Simétricos Barramento único com cache Reduz limitação imposta pela velocidade do barramento Cache reduz latência das operações de acesso à MP Apresenta problema de Coerência de Cache: Caches de cada processador podem ter sido modificadas para os mesmos endereços na MP Solução mais usada: write-back c/ write-invalidate

Arquitetura dos Sistemas Simétricos Barramento cruzado comutado MP é dividida em N módulos, unidades funcionais conectadas entre si por uma matriz comutadora (crossbar) Possibilita N comunicações simultâneas HW e SO devem resolver conflitos de acesso Se N for grande, custo da matriz será muito alto

Arquitetura dos Sistemas Simétricos Rede Omega Forma de reduzir o custo da matriz de comutação da arquitetura crossbar Não há ligações exclusivas entre processadores e módulos de memória, caminhos são compartilhados Usa técnica de comutação das redes de pacotes Aumenta a possibilidade de conflitos, maior latência

Sistemas NUMA Vários conjuntos de processadores e memória, interconectados por rede interna, compartilham mesmo SO e espaço de endereçamento Tempo de acesso à memória segue esquema hierárquico Acessos mais rápidos à memória “local”

Sistemas NUMA Redes de interligação dos conjuntos de processadores + memória

Sistemas NUMA Redes de interligação dos conjuntos de processadores + memória

Sistemas NUMA Redes de interligação dos conjuntos de processadores + memória

Sistemas NUMA Arquitetura DASH (Universidade de Standford) Cada conjunto possui 4 processadores, módulo da MP, dispositivos de E/S e Diretório Diretório: estrutura usada para fazer coerência de cache

Sistemas NUMA Arquitetura do Multiplus (NCE/UFRJ) Cada EP formado por processador, cache e módulo da MP Rede de interconexão usa topologia n-cube invertido

Clusters São sistemas fracamente acoplados, formados por nós interconectados em rede dedicada de alto desempenho Cada nó (membro) possui seus próprios recursos (processador, MP, SO, E/S, etc) Cada membro possui seu próprio espaço de endereçamento Escalabilidade, disponibilidade, tolerância a falhas, balanceamento de carga Transparência para o usuário

Topologias de Redes de Computadores Rede de computadores Nós são totalmente independentes dos demais, podendo ser heterogêneos Cada nó possui seu próprio SO, processador, MP, etc Cada nó é unicamente identificado na rede

Topologias de Redes de Computadores

Topologias de Redes de Computadores

Sistemas Distribuídos Conjunto de sistemas interconectados por rede que funcionam como se fosse um único sistema Sistemas fracamente acoplados do ponto de vista de HW mas fortemente acoplados do ponto de vista de SW Para usuários e aplicações é como se não houvesse rede, apenas uma imagem única do sistema (single system image)

Sistemas Distribuídos Permitem a execução de aplicações distribuídas Partes da aplicação podendo ser executadas em qualquer dos sistemas componentes Necessário haver transparência e tolerância a falhas em diversos níveis: Transparência de acesso Transparência de localização Transparência de migração Transparência de replicação Transparência de concorrência Transparência de paralelismo Transparência de desempenho Transparência de escalabilidade Transparência a falhas (incluindo falhas de SW)