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

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

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

Apresentações semelhantes


Apresentação em tema: "A Abstração de Programação Concorrente Eduardo Nicola F. Zagari Principles of Concurrent and Distributed Programming - Ben-Ari."— 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. Caso 1 Caso 2 Tempo I1 I2

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.: N: Integer := 0; task body P1 is begin N := N + 1; end P1; task body P2 is begin N := N + 1; end P2;

9 Instruções Atômicas Compilador com instrução INC ProcInstrução Valor de N Início 0 P1Inc N1 P2Inc N 2 ProcInstrução Valor de N Início 0 P1Inc N1 P2Inc N 2 Uso de registradores ProcInstrução N Reg1 Reg2 Início P1Load Reg, N P2Load Reg, N P1Add Reg, # P2Add Reg, # P1Store Reg, N P2Store Reg, N 11 1

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 Eduardo Nicola F. Zagari Principles of Concurrent and Distributed Programming - Ben-Ari."

Apresentações semelhantes


Anúncios Google