Escolar Documentos
Profissional Documentos
Cultura Documentos
Eltevon Dias da Rocha Jonathas Junio Rodrigues da Silva Murilo Henrique da Silva Ribeiro
Dpto. de Cincia da Computao, Universidade Federal de Mato Grosso e ca Campus Universitrio do Araguaia, Barra do Garas - MT a c
28 de junho de 2011
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
1 / 50
Viso Geral a
Introduo ca Sistemas com Mltiplos Processadores u Multiprocessadores Hardware de Multiprocessador Sistemas Operacionais para Multiprocessadores Sincronizao de Multiprocessadores ca Escalonamento de Multiprocessadores Multicomputadores Hardware de Multicomputador Software de Comunicao de Baixo N ca vel Software de Comunicao no N do Usurio ca vel a Memria Compartilhada Distribu (DSM) o da Escalonamento em Multicomputadores Balanceamento de Carga Sistemas Distribu dos Hardware de Rede Middleware
CComp (UFMT) Arquiteturas Multiprocessadas 28 de junho de 2011 2 / 50
Introduo ca
Importancia
Desde seu inicio, a indstria de computadores mantm uma busca intensa u e por maior poder de processamento.
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
3 / 50
Introduo ca
Tipos
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
4 / 50
Multiprocessadores
Multiprocessadores
As CPUs compartilham uma unica memria o As CPUs podem ser conectadas atravs de barramento, chave e crossbar ou uma rede de comutao multiestgio ca a E o modelo preferido dos progamadores
CComp (UFMT) Arquiteturas Multiprocessadas 28 de junho de 2011 5 / 50
Multiprocessadores
Hardware de Multiprocessador
Hardware de Multiprocessador
Existem trs tipos de Multiprocessadores, distinguidos pela maneira como e a memria compartilhada implementada. o e
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
6 / 50
Multiprocessadores
Hardware de Multiprocessador
Multiprocessadores Simtricos e
Nos multiprocessadores simtricos (SMP), cada CPU possui igual acesso e sobre toda memria e todos os dispositivos de E/S. o
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
7 / 50
Multiprocessadores
Hardware de Multiprocessador
Cada CPU possui o mesmo tempo de acesso ` memria. a o A memria principal implementada como um unico bloco, pois a o e rede de interconexo suporta apenas uma transao por vez a ca
CComp (UFMT) Arquiteturas Multiprocessadas 28 de junho de 2011 8 / 50
Multiprocessadores
Hardware de Multiprocessador
Espao de endereamento unico vis a todas as CPUs. c c vel Acesso ` memria remota via comandos LOAD e STORE. a o Acesso ` memria remota mais lento que acesso ` memria local. a o a o
CComp (UFMT) Arquiteturas Multiprocessadas 28 de junho de 2011 9 / 50
Multiprocessadores
Hardware de Multiprocessador
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
10 / 50
Multiprocessadores
Existem tres modelos de implementao: ca Cada CPU tem seu prprio SO. o Multiprocessadores Mestre-escravo. Multiprocessadores Simtricos. e
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
11 / 50
Multiprocessadores
Cada CPU tem seu prprio SO. o Compartilhamento da memria entre as CPUs. o Apenas uma cpia do cdigo do sistema operacional compartilhada. o o e
CComp (UFMT) Arquiteturas Multiprocessadas 28 de junho de 2011 12 / 50
Multiprocessadores
Chamadas de sistema so tratadas pela CPU em questo. a a No h compartilhamento de processos. a a No h compartilhamento de pginas a a a Cada CPU tem sua cache de blocos de disco, pode haver problemas de coerencia.
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
13 / 50
Multiprocessadores
Multiprocessadores Mestre-escravo
Apenas uma CPU executa o cdigo do SO, enquanto as demais o executam programas de usurio. a O sistema simples e funcional para multiprocessadores pequenos, e mas ineciente para grandes. e
CComp (UFMT) Arquiteturas Multiprocessadas 28 de junho de 2011 14 / 50
Multiprocessadores
Multiprocessadores Simtricos e
Existe apenas uma cpia do SO na memria e qualquer CPU pode o o executar. Condies de corrida no SO so resolvidas com um mutex. co a A maioria dos multiprocessadores modernos usam esta organizao. ca
CComp (UFMT) Arquiteturas Multiprocessadas 28 de junho de 2011 15 / 50
Multiprocessadores
Sincronizao de Multiprocessadores ca
Sincronizao de Multiprocessadores ca
Pela existncia de vrias CPUs em um multiprocessador se v necessria a e a e a sincronizao frequente entre as CPUs. O principio fundamental na ca comunicao entre multiprocessadores o compartilhamento de variveis ca e a globais. Mecanismos de sincronizao garante a consistncia no acesso as ca e variveis. Instruo TSL (Test-and-Set) utilizada para implementar a ca e regies criticas. Instruo que implementa mecanismos no-bloqueantes o ca a e o Fetch-and-Add. Utilizado em redes combinantes, permite o acesso concorrente de vrios processadores a valores consistentes de variveis a a compartilhadas.
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
16 / 50
Multiprocessadores
Sincronizao de Multiprocessadores ca
A instruo TSL pode falhar se o barramento no puder ser travado. Desta ca a forma, as duas CPUs obtm acesso a regio critica e a excluso mtua no e a a u a est garantida. Para que se possa prevenir esse problema, a instruo TSL a ca deve primeiro impedir o acesso de outras CPUs ao barramento para depois ler e gravar na memria e nalmente liberar o barramento. o
CComp (UFMT) Arquiteturas Multiprocessadas 28 de junho de 2011 17 / 50
Multiprocessadores
Escalonamento de Multiprocessadores
Escalonamento de Multiprocessadores
Em multiprocessadores, o escalonamento bidimensional. Ou seja, o e escalonador dever decidir quais os processos executaro, e em quais CPUs a a executaro. Vrios algoritmos de escalonamento de multiprocessadores so a a a poss veis, a seguir falaremos sobre alguns.
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
18 / 50
Multiprocessadores
Escalonamento de Multiprocessadores
Tempo Compartilhado
Escalonamento de processos independentes. Um processo ganha uma fatia de tempo do processador, segundo uma unica estrutura de dados para os processos prontos no sistema. E o algoritmo mais simples.
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
19 / 50
Multiprocessadores
Escalonamento de Multiprocessadores
Compartilhamento no Espao c
Usado quando os processos esto relacionados uns aos outros de a algum modo. Mltiplos threads ou processos ao mesmo tempo sobre mltiplas u u CPUs. A vantagem a eliminao da multiprogramao, que pe m a e ca ca o sobrecarga causada pelo chaveamento de contexto. A desvantagem e o desperd de tempo quando a CPU bloqueia e cio esperando E/S.
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
20 / 50
Multiprocessadores
Escalonamento de Multiprocessadores
Escalonamento em Bando
Grupos de threads relacionados so escalados como uma unidade (um a bando). Todos os membros de um bando iniciam e nalizam juntos suas fatias de tempo. Todos os membros do bando executam simultaneamente em diferentes CPUs com compartilhamento de tempo. O segredo escalonar as CPUs de maneira s e ncrona.
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
21 / 50
Multicomputadores
Multicomputadores
Sistemas Computacionais conhecidos como Clusters. CPUs fortemente acopladas que no compartilham memria. a o
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
22 / 50
Multicomputadores
Hardware de Multicomputador
Topologias de Interconexo a
A maneira como os vrios nodos so interconectados. a a Multicomputadores podem ser compostos por vrios nodos. a Cada nodo possui memria e CPUs prprias, e uma placa de interface o o para comunicao. ca
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
23 / 50
Multicomputadores
Hardware de Multicomputador
Esquemas de comutao ca
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
24 / 50
Multicomputadores
Hardware de Multicomputador
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
25 / 50
Multicomputadores
Se vrios processos esto executando em um nodo, precisam de a a acesso ` rede para enviar pacotes. a Mapear a placa de interface para todos os processos que precisam dela. Se o ncleo precisa acessar a rede, usar duas placas de rede: uma u para o espao do usurio e outra para o ncleo. c a u
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
26 / 50
Multicomputadores
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
27 / 50
Multicomputadores
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
28 / 50
Multicomputadores
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
29 / 50
Multicomputadores
Replicao ca
(a) Pginas distribu a das em 4 mquinas. a (b) CPU 0 l pgina 10. e a (c) CPU 1 l pgina 10. e a
CComp (UFMT) Arquiteturas Multiprocessadas 28 de junho de 2011 30 / 50
Multicomputadores
Falso compartilhamento
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
31 / 50
Multicomputadores
Escalonamento em Multicomputadores
Escalonamento em Multicomputadores
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
32 / 50
Multicomputadores
Balanceamento de Carga
Balanceamento de Carga
E desejvel dividir a carga de processamento entre os vrios nodos. Existe a a vrios algoritmos com essa nalidade. A seguir, veremos alguns deles. a
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
33 / 50
Multicomputadores
Balanceamento de Carga
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
34 / 50
Multicomputadores
Balanceamento de Carga
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
35 / 50
Multicomputadores
Balanceamento de Carga
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
36 / 50
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
37 / 50
Item Congurao do nodo ca Perifricos do nodo e Localizao ca Comunicao internodo ca Sistemas operacionais Sistemas de arquivos Administrao ca
Multiprocessador CPU Tudo compartilhado Mesmo rack RAM Compartilhada Um, compartilhado Um, compartilhado Uma organizao ca
Multicomputador CPU, RAM, Interface de Rede Talvez disco Mesma sala Interconexo dedicada a Mltiplos, mesmo u Um, compartilhado Uma organizao ca
Sistema Distribu do Computador complexo Conjunto completo por nodo Possivelmente espalhado pelo mundo Rede tradicional Possivelmente todos diferentes Cada nodo tem seu prprio o Vrias organizaes a co
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
38 / 50
Hardware de Rede
Hardware de Rede
LAN - uma rede local que abrange edif cios ou campus (Ethernet) WAN - uma rede de longa distncia que abrange cidades, pa ou a ses at o mundo inteiro. (Internet) e Tanenbaum: Embora tecnicamente a Internet no seja uma rede, mas a sim uma federao de milhares de redes separadas. ca
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
39 / 50
Hardware de Rede
Infra-estrutura e Equipamentos
Interconexes: Estrela, anel, grade, um toro duplo, um cubo ou um o hipercubo. LAN: Switchs WAN: Backbones e roteadores
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
40 / 50
Hardware de Rede
Protocolos
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
41 / 50
Middleware
Middleware
E uma camada de Software que permite os Sistemas Distribu dos trabalharem com diferentes tipos de Sistemas Operacionais e Hardwares. No um Sistema Operacional. a e
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
42 / 50
Middleware
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
43 / 50
Middleware
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
44 / 50
Middleware
Mdelo onde todas as abordagens anteriores so consideradas como a objetos, empacotadas com procedimentos de acessos, chamados mtodos. e Os processos invocam os mtodos para terem acesso `s variveis. e a a Exemplos: CORBA e o GLOBO (Requisies Cliente-Servidor). co
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
45 / 50
Middleware
Projeto comercial JVM (Java Virtual Machine Language). Enorme gama de dispositivos e computadores. Servios localmente ou quando conectados em uma rede servindo o c mundo. A Mquina Virtual Java um programa que carrega e executa os a e aplicativos Java, convertendo os bytecodes em cdigo executvel de o a mquina que so executados por uma mquina virtual e responsvel a a a e a pelo gerenciamento dos aplicativos quando esto sendo executados. a
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
46 / 50
Middleware
Vantagens JVM
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
47 / 50
Middleware
Vantagens JVM
Portabilidade (Qualquer Sistema). Enorme gama de dispositivos e computadores. Possui recursos de rede cooperando com TCP/IP, HTTP e FTP. Coletor de lixo (Desaloca a memria automaticamente). o Executa programas distribu dos em Multitarefa.
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
48 / 50
Middleware
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
49 / 50
Middleware
CComp (UFMT)
Arquiteturas Multiprocessadas
28 de junho de 2011
50 / 50