A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

A Abstração de Programação Concorrente

Apresentações semelhantes


Apresentação em tema: "A Abstração de Programação Concorrente"— Transcrição da apresentação:

1 A Abstração de Programação Concorrente
Eduardo Nicola F. Zagari Principles of Concurrent and Distributed Programming - Ben-Ari

2 A Abstração de Programação Concorrente
Introdução Intercalamento Instruções Atômicas

3 Introdução Descrições científicas são baseadas em abstrações
cria-se o modelo ideal e se estuda o sistema complexo em um nível mais alto. Na computação, linguagens de programação são abstrações, projetadas para ignorar detalhes de instruções de máquinas específicas e arquiteturas.

4 Intercalamento Abstração de programação concorrente é o estudo de seqüências de execução intercaladas das instruções atômicas de processos seqüenciais Problema: explosão combinatorial de possibilidades de estados dos programas Interações entre processos: contenção comunicação

5 Intercalamento Tempo de execução absoluto não é relevante ( e sim a seqüência de execução): as seqüências de execução são suficientes para tratar as propriedades que não as de requisito de tempo absoluto sistemas estão sempre sendo atualizados com componentes mais rápidos e mesmo com algoritmos otimizados exceto as questões de tempo de resposta, é possível tratar com tempo no modelo seqüencial

6 Intercalamento em vários processadores
Esta abstração deve ser estendida para o caso de que todas as seqüências de execução de todos os processos sejam intercaladas em uma única seqüência. I1 Caso 2 I2 I1 Caso 1 I2 Tempo

7 Intercalamento Requer-se de um programa concorrente que ele seja correto sob TODOS os intercalamentos Debug convencional não funciona... Provar que o programa está errado é fácil... ... difícil é mostrar que ele está correto!

8 Instruções Atômicas Na aplicação da abstração de programação concorrente é extremamente importante definir exatamente quais instruções estão sendo intercaladas. Ex.: task body P2 is begin N := N + 1; end P2; N: Integer := 0; task body P1 is begin N := N + 1; end P1;

9 Instruções Atômicas Uso de registradores Compilador com instrução INC
Proc Instrução Valor de N Início P1 Inc N 1 P2 Inc N 2 Uso de registradores Proc Instrução N Reg1 Reg2 Início P1 Load Reg, N P2 Load Reg, N P1 Add Reg, # P2 Add Reg, # P1 Store Reg, N P2 Store Reg, N

10 Instruções Atômicas Conclusão: a corretude do programa concorrente depende das instruções atômicas usadas pelo computador.


Carregar ppt "A Abstração de Programação Concorrente"

Apresentações semelhantes


Anúncios Google