MULTIPROCESSADORES
[email protected]
Acoplamento de processadores

Fortemente acoplados
 As
CPUs são conectadas no nível de barramento
 As CPUs podem acessar uma memória compartilhada

Fracamente acoplados
 Também
conhecido como clusters
 Computadores comuns com um ou dois processadores
cada interconectados por uma rede de alta
velocidade
Tipos de sistemas operacionais
multiprocessados
O que muda quando passamos a ter mais de
um processador, compartilhando a memória
RAM?
Como fica o desenho de Fubica?

Cada um no seu quadrado

Cada CPU com seu próprio SO
Mestre/escravo

Multiprocessadores mestre-escravo
Direitos iguais!

Multiprocessadores simétricos (SMP)
Desafios
Desafios
Desafios
Escalonamento com multiprocessadores
1.
2.
Qual o próximo
processo a ganhar
a CPU?
Em que CPU? Ou
em que CPUs?
Compartilhamento

No tempo
 Um
processo ganha uma fatia de tempo do
processador

No espaço
 Um
processo ganha um conjunto de processadores
(dimensão adicional) por uma fatia de tempo
 Processos possuem diversas linhas de execução, de
forma que é possível executá-lo em diferentes CPUs
Escalonamento com compartilhamento no tempo

Fila única de processos prontos
+ simples
+ balanceamento de carga automática
− contenção pela estrutura compartilhada
− custo da mudança de contexto quando um
processo bloqueia para E/S
− spinlocks


Escalonamento esperto
Escalonamento por afinidade
Escalonamento com compartilhamento no espaço



Processos formados por múltiplas linhas de execução
Clusters e supercomputadores
Algoritmo mais simples (FCFS): Tem CPUs suficientes?




Sim: escalona o processo
Não: espera até que um número de CPUs suficientes esteja
disponível
Menor Job Primeiro
Detalhe: a CPU fica ociosa quando a linha de execução é
bloqueada para E/S
Backfilling




Solicita o tempo esperado de uso dos
processadores
Permite que novas requisições sejam atendidas
antes de requisições mais antigas
Requisições mais antigas devem ter mais chance
de ganhar os processadores que requisições mais
novas
Deve-se evitar que requisições grandes sejam
postergadas indefinidamente
Conservative backfilling




(simplificadamente)
Põe os jobs no primeiro slot que eles couberem
Sempre que um job usar menos que o tempo
alocado, o escalonador tenta promover jobs já
escalonados para executarem antes
Ex.: Crono
Download

multiprocessadores