Você está na página 1de 15

Organização e Arquiteturas de Computadores

Processamento Paralelo

Prof. Cleiton
AULA 9

1
Memória distribuída
 A técnica da memória multiporta permite o acesso direto e independente dos
módulos de memória principal por cada CPU e dispositivos de E/S, neste caso, uma
lógica associada com a memória é necessária para resolver conflitos.

2
Memória distribuída
 O método freqüentemente utilizado para resolver esses conflitos é o de designar
permanentemente prioridade para cada porta de memória.

 Tipicamente, a interface física e elétrica em cada porta é idêntica a que é visto em


sistemas de memória com módulos de porta única, assim, para acomodar as
memórias multiportas, pequenas ou nenhuma modificação são necessárias tanto
para a CPU quanto para os dispositivos E/S.

3
Memória distribuída
 Esta técnica é mais complexa que a do barramento, pois, requer lógica adicional ao
sistema de memória, porém, fornece melhor performance, visto que, cada
processador tem um caminho fixo para um módulo de memória.

 Outra vantagem é que é possível configurar porções de memória como privadas,


para uma ou mais CPU's e/ou dispositivos de E/S, esta característica permite
aumentar a segurança contra acessos não autorizados e também o armazenamento
de rotinas em áreas não susceptíveis a modificações por outros processadores.

4
Unidade de Controle Central
 A unidade de controle central separa dados entre módulos independentes: CPU
memória, E/S.

 O controlador poder "bufferizar“ pedidos e executar funções de arbitragem e


temporização.

 Pode também, passar mensagens de estado e controle entre a CPUs e executar


alertas de atualização da cache.

 Devido ao fato de toda lógica de coordenação da configuração do sistema


multiprocessado se concentrar essencialmente na unidade central de controle,
interfaces de E/S, memória e CPU não são perturbadas com esta tarefa.

5
Unidade de Controle Central
 Esta técnica fornece a flexibilidade e simplicidade da técnica de barramentos.

 A desvantagem é que a unidade de controle é complexa e é um potencial gargalo no


 desempenho do sistema.

 A estrutura da unidade central de processamento é comum nos sistemas mainframes


de processadores múltiplos, tal como, membros da família IBM S/370.

6
Sistemas operacionais multiprocessados

 Em um sistema fortemente acoplado, o usuário percebe um sistema operacional


único, controlando os recursos do sistema, de fato, tal configuração deveria
aparecer como um sistema multiprogramado e monoprocessado.

 Em ambos os casos, múltiplas tarefas ou processos podem estar ativos ao mesmo


tempo e o sistema operacional tem a responsabilidade de despachar para execução
e alocar recursos.

7
Sistemas operacionais multiprocessados

 Sete funções de um sistema operacional multiprocessado:

 Alocação e gerenciamento de recursos;


 Proteção de dados e tabelas
 Prevenção contra deadlock do sistema
 Terminação anormal
 Balanceamento de carga de E/S
 Balanceamento de carga de processador
 Reconfiguração

8
Sistemas operacionais multiprocessados

 Sete funções de um sistema operacional multiprocessado:

 Alocação e gerenciamento de recursos;


 Proteção de dados e tabelas
 Prevenção contra deadlock do sistema
 Terminação anormal
 Balanceamento de carga de E/S
 Balanceamento de carga de processador
 Reconfiguração

9
Sistemas operacionais multiprocessados

 Se levarmos em conta os sistemas multiprogramados, somente as últimas três são


substancialmente diferentes, quando estabelecida comparação entre sistemas
multiprocessados e monoprocessados.

 É responsabilidade do sistema operacional determinar quais recursos são utilizados


eficientemente, de outra forma, os investimentos em várias CPU s são
desperdiçados.

 Ele deve também, reconfigurar o sistema quando um processador falha, para pode
continuar a operação, mesmo que num nível de performance reduzido.

10
Sistemas operacionais multiprocessados

 Multiprocessadores fortemente acoplados podem ser caracterizados pela forma que


uma tarefa é despachada.

 Existem duas dimensões para uma função de despacho:

 • Se processos são dedicados ao processador.


 • Como processos são despachados para o processador.

 Se cada processador tiver uma fila de despacho exclusiva (tipo short-term), então
uma vez que o processo for ativado, ele é associado a um processador
definitivamente até seu término.

11
Sistemas operacionais multiprocessados
 Neste caso, um processador pode estar ocioso, com a fila vazia, enquanto outro
processador tem um "backlog"6.

 Para previnir esta situação, uma fila comum, pode ser utilizada.

 Todos os processos vão para a fila e são despachados para qualquer processador
disponível.

 Assim, a tarefa pode ser executada em processadores diferentes em tempos


diferentes.
 Retomando o assunto, se um processo é dedicado a um processador, alguns
princípios são necessários para associar um processo ao processador. Duas técnicas
são utilizadas:

 • mestre/escravo e
 • "peer".

12
Arquitetura mestre/escravo
 Com a arquitetura mestre e escravo, o SO sempre roda em um
processador específico, enquanto os outros processadores podem
rodar somente programas do usuário.

 O mestre é responsável por despachar as tarefas. Uma vez que um


processo está ativo, se o escravo precisa executar um serviço, por
exemplo, uma chamada de E/S, ele deve enviar um pedido ao
mestre e esperar pela execução desse serviço.

 Esta técnica é simples e requer pouca melhora em relação a um


sistema operacional multitarefa operando sobre um sistema
monoprocessado.

13
Arquitetura mestre/escravo
 A resolução de conflitos é simplificada visto que, um processador
tem controle de todos os recursos de memória e E/S. Existem,
porém, duas desvantagens:

 • A falha do mestre põe o sistema em colapso


 • O mestre pode tornar a performance "bottleneck"7

14
Arquitetura peer
 O sistema operacional pode executar em qualquer processador e
 cada processador faz um despacho próprio a partir do conjunto de
 processos disponível. Esta técnica torna o SO mais complicado, pois, ele
 deve garantir que dois processadores não escolham o mesmo processo
 e que os processos não fiquem perdidos na fila, além disso, deve existir
 uma técnica para resolver o sincronismo entre a competição de
 recursos.

15