Você está na página 1de 50

Arquiteturas Multiprocessadas

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

Sistemas com Mltiplos Processadores u

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

Sistemas com Mltiplos Processadores u

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

Mquinas com Acesso Uniforme ` Memria (UMA) a a o

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

Mquinas com Acesso No Uniforme ` Memria (NUMA) a a a o

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

Tipos de Mquinas NUMA a

Acesso no uniforme ` memria sem coerncia de cach a a o e e (NC-NUMA):


Quando o tempo de acesso a memria no oculto. o a e A coerncia de memria garantida porque no existe cache presente. e o e a Essas mquinas utilizam software elaborado para mover pginas de um a a lado para o outro de modo a maximizar o desempenho.

Acesso no uniforme ` memria com coerncia de cache a a o e (CC-NUMA):


Quando os caches coerentes esto presentes. a Uma abordagem para construir multiprocessadores CC-NUMA o e multiprocessador baseado em diretrio. o

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

10 / 50

Multiprocessadores

Sistemas Operacionais para Multiprocessadores

Sistemas Operacionais para 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

Sistemas Operacionais para Multiprocessadores

Cada CPU tem seu prprio SO o

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

Sistemas Operacionais para Multiprocessadores

Cada CPU tem seu prprio SO o

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

Sistemas Operacionais para 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

Sistemas Operacionais para 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

Falha de instruo TSL 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

Comutao Armazena e Encaminha. ca Comutao de Circuito. ca

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

24 / 50

Multicomputadores

Hardware de Multicomputador

Placas de Interface de Rede

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

25 / 50

Multicomputadores

Software de Comunicao de Baixo N ca vel

Software de Comunicao de Baixo N ca vel

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

Software de Comunicao no N do Usurio ca vel a

Envio e Recepo de mensagens ca

Chamadas do tipo Send e Receive. Podem ser chamadas bloqueantes ou no bloqueantes. a

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

27 / 50

Multicomputadores

Software de Comunicao no N do Usurio ca vel a

Chamada de Procedimento Remoto (RPC)

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

28 / 50

Multicomputadores

Memria Compartilhada Distribu (DSM) o da

Memria Compartilhada Distribu (DSM) o da

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

29 / 50

Multicomputadores

Memria Compartilhada Distribu (DSM) o da

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

Memria Compartilhada Distribu (DSM) o da

Falso compartilhamento

Deve ser implementada consistncia sequencial. e

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

31 / 50

Multicomputadores

Escalonamento em Multicomputadores

Escalonamento em Multicomputadores

Alocar processos nos nodos.

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

Algoritmo determin stico grafo-terico o

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

34 / 50

Multicomputadores

Balanceamento de Carga

Algoritmo heur stico distribu iniciado pelo emissor do

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

35 / 50

Multicomputadores

Balanceamento de Carga

Algoritmo heur stico distribu iniciado pelo receptor do

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

36 / 50

Sistemas Distribu dos

Sistemas Distribu dos


E um conjunto de computadores independentes que parecem ser um unico computador para os usurios do Sistema. a Pode rodar em plataformas diferentes. Programao de aplicaes dif ca co e cil.

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

37 / 50

Sistemas Distribu dos

Diferena entre Sistemas Multiprocessados c

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

Sistemas Distribu dos

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

Sistemas Distribu dos

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

Sistemas Distribu dos

Hardware de Rede

Protocolos

IP (Internet Protocol) TCP (Transmission Control Protocol).

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

41 / 50

Sistemas Distribu dos

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

Sistemas Distribu dos

Middleware

Middleware com base em Documentos


Formada por documentos web e hiperlinks.

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

43 / 50

Sistemas Distribu dos

Middleware

Middleware com base em Sistemas de Arquivos


Grandes Sistemas de Arquivos interligados por Hyperlinks. Upload e Download.

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

44 / 50

Sistemas Distribu dos

Middleware

Middleware com base em Objetos Compartilhados

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

Sistemas Distribu dos

Middleware

Middleware com base em Coordenao ca

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

Sistemas Distribu dos

Middleware

Vantagens JVM

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

47 / 50

Sistemas Distribu dos

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

Sistemas Distribu dos

Middleware

Middleware Open Mosix

Aplicao do Mediador Open Mosix: ca


Extenso ao Ncleo Linux. a u Converte uma Rede Clssica em um Super-computador. a Gerencia Aplicaes Linux. co Mantm comunicao com os Ns do Cluster (Disponibilidade de e ca o Recursos). Utilizado para clculos Intensivos. a Dif de implementar (Complicado por Kernel). cil

Outro: Aglomerado Beowulf


Criado por Donald Becker da NASA. Utilizado muito para Renderizao de Filmes e Processamento de ca Dados Cient cos.

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

49 / 50

Sistemas Distribu dos

Middleware

Middleware Open Mosix

CComp (UFMT)

Arquiteturas Multiprocessadas

28 de junho de 2011

50 / 50

Você também pode gostar