1 Exploração de Paralelismo nos Paradigma de Software Porto Alegre, outubro de 2001 por Jorge Luis...

Post on 17-Apr-2015

103 views 0 download

Transcript of 1 Exploração de Paralelismo nos Paradigma de Software Porto Alegre, outubro de 2001 por Jorge Luis...

1

Exploração de Paralelismonos Paradigma de Software

Porto Alegre, outubro de 2001

por

Jorge Luis Victória Barbosa

2

Sumário

1 – Paradigmas de Software2 – Modelos para exploração do paralelismo3 – Paralelismo Implícito e Explícito4 – Paralelismo nos paradigmas de software5 – Multiparadigma6 – Holoparadigma7 – Conclusões

3

1 – Paradigmas de Software

4

1 – Paradigmas de Software

Realidade

5

1 – Paradigmas de Software

Realidade

Domínio

6

1 – Paradigmas de Software

Realidade

Domínio

ModeloComputacional

Modelagem

7

1 – Paradigmas de Software

Realidade

Domínio

ModeloComputacional

ModelagemGap Semântico

8

1 – Paradigmas de Software

Realidade

Domínio

ModeloComputacional

ModelagemGap Semântico

• Paradigma Convencional• Paradigma em Lógica• Paradigma Funcional• Paradigma Orientado a Objetos• Paradigma Orientado a Agentes

9

2 – Modelos para Exploração do Paralelismo

10

2 – Modelos para Exploração do Paralelismo

Propriedades Ideais (Skillicorn e Talia, 1998)

11

2 – Modelos para Exploração do Paralelismo

Propriedades Ideais (Skillicorn e Talia, 1998)

1) Facilidade de programação

12

2 – Modelos para Exploração do Paralelismo

Propriedades Ideais (Skillicorn e Talia, 1998)

1) Facilidade de programação- Decomposição- Mapeamento- Comunicação- Sincronização

13

2 – Modelos para Exploração do Paralelismo

Propriedades Ideais (Skillicorn e Talia, 1998)

1) Facilidade de programação- Decomposição- Mapeamento- Comunicação- Sincronização

2) Suporte à metodologia para desenvolvimento de software

14

2 – Modelos para Exploração do Paralelismo

Propriedades Ideais (Skillicorn e Talia, 1998)

1) Facilidade de programação- Decomposição- Mapeamento- Comunicação- Sincronização

2) Suporte à metodologia para desenvolvimento de software3) Independência da arquitetura

15

2 – Modelos para Exploração do Paralelismo

Propriedades Ideais (Skillicorn e Talia, 1998)

1) Facilidade de programação- Decomposição- Mapeamento- Comunicação- Sincronização

2) Suporte à metodologia para desenvolvimento de software3) Independência da arquitetura4) Facilidade de compreensão

16

2 – Modelos para Exploração do Paralelismo

Propriedades Ideais (Skillicorn e Talia, 1998)

1) Facilidade de programação- Decomposição- Mapeamento- Comunicação- Sincronização

2) Suporte à metodologia para desenvolvimento de software3) Independência da arquitetura4) Facilidade de compreensão5) Garantia de desempenho

17

2 – Modelos para Exploração do Paralelismo

Propriedades Ideais (Skillicorn e Talia, 1998)

1) Facilidade de programação- Decomposição- Mapeamento- Comunicação- Sincronização

2) Suporte à metodologia para desenvolvimento de software3) Independência da arquitetura4) Facilidade de compreensão5) Garantia de desempenho6) Medidas de custo

18

2 – Modelos para Exploração do Paralelismo

Classificação baseada em níveis de abstração

19

2 – Modelos para Exploração do Paralelismo

Classificação baseada em níveis de abstração

1) Abstração completa do paralelismo- Opera

20

2 – Modelos para Exploração do Paralelismo

Classificação baseada em níveis de abstração

1) Abstração completa do paralelismo- Opera

2) Paralelismo explícito, mas decomposição implícita- Concurrent Prolog

21

2 – Modelos para Exploração do Paralelismo

Classificação baseada em níveis de abstração

1) Abstração completa do paralelismo- Opera

2) Paralelismo explícito, mas decomposição implícita- Concurrent Prolog

3) Paralelismo e decomposição explícitos, mas mapeamento, comunicação e sincronização são implícitas

22

2 – Modelos para Exploração do Paralelismo

Classificação baseada em níveis de abstração

1) Abstração completa do paralelismo- Opera

2) Paralelismo explícito, mas decomposição implícita- Concurrent Prolog

3) Paralelismo e decomposição explícitos, mas mapeamento, comunicação e sincronização são implícitas

4) Paralelismo, decomposição e mapeamento explícitos, mascomunicação e sincronização implícitos

- Linda e Compositional C++

23

2 – Modelos para Exploração do Paralelismo

Classificação baseada em níveis de abstração

1) Abstração completa do paralelismo- Opera

2) Paralelismo explícito, mas decomposição implícita- Concurrent Prolog

3) Paralelismo e decomposição explícitos, mas mapeamento, comunicação e sincronização são implícitas

4) Paralelismo, decomposição e mapeamento explícitos, mascomunicação e sincronização implícitos

- Linda e Compositional C++5) Paralelismo, decomposição, mapeamento, comunicação

explícitos, mas sincronização explícita- Atores, Emerald e Concurrent Smalltalk

24

2 – Modelos para Exploração do Paralelismo

Classificação baseada em níveis de abstração

1) Abstração completa do paralelismo- Opera

2) Paralelismo explícito, mas decomposição implícita- Concurrent Prolog

3) Paralelismo e decomposição explícitos, mas mapeamento, comunicação e sincronização são implícitas

4) Paralelismo, decomposição e mapeamento explícitos, mascomunicação e sincronização implícitos

- Linda e Compositional C++5) Paralelismo, decomposição, mapeamento, comunicação

explícitos, mas sincronização explícita- Atores, Emerald e Concurrent Smalltalk

6) Tudo explícito- PVM, MPI, SR e Concurrent C

25

3 – Paralelismo Explícito e Implícito

26

3 – Paralelismo Explícito e Implícito Paralelismo Explícito: Detecção do paralelismo pelo usuário Paralelismo Implícito: Detecção automática do paralelismo

27

3 – Paralelismo Explícito e Implícito Paralelismo Explícito: Detecção do paralelismo pelo usuário Paralelismo Implícito: Detecção automática do paralelismo

Paralelismo Explícito- Linguagem com mecanismos para controle do paralelismo- Usuário utiliza seu conhecimento empírico- Possível exploração inadequada- Paralelismo é difícil para seres humanos- Menor complexidade dos compiladores

28

3 – Paralelismo Explícito e Implícito Paralelismo Explícito: Detecção do paralelismo pelo usuário Paralelismo Implícito: Detecção automática do paralelismo

Paralelismo Explícito- Linguagem com mecanismos para controle do paralelismo- Usuário utiliza seu conhecimento empírico- Possível exploração inadequada- Paralelismo é difícil para seres humanos- Menor complexidade dos compiladores

Paralelismo Implícito- Linguagem não contém mecanismos para controle do paralelismo- Usuário não se envolve- Aumenta a portabilidade- Aproveitamento dos programas já existentes

29

4 – Paralelismo nos Paradigmas

30

4 – Paralelismo nos Paradigmas Convencional

- Dependências de dados- Dependências de controle- Paralelismo explícito

31

4 – Paralelismo nos Paradigmas Convencional

- Dependências de dados- Dependências de controle- Paralelismo explícito

Lógica- Paralelismo E- Paralelismo OU

32

4 – Paralelismo nos Paradigmas Convencional

- Dependências de dados- Dependências de controle- Paralelismo explícito

Lógica- Paralelismo E- Paralelismo OU

Funcional- Resolução de funções

33

4 – Paralelismo nos Paradigmas Convencional

- Dependências de dados- Dependências de controle- Paralelismo explícito

Lógica- Paralelismo E- Paralelismo OU

Funcional- Resolução de funções

Orientação a Objetos- Inter-objetos- Intra-objetos

34

4 – Paralelismo nos Paradigmas

Semântica paralela nos paradigmas

Realidade

Domínio

35

4 – Paralelismo nos Paradigmas

Semântica paralela nos paradigmas

Modelo em Lógica

Modelagem em Lógica: Paralelismo E e OU

Realidade

Domínio

36

4 – Paralelismo nos Paradigmas

Semântica paralela nos paradigmas

Modelo em Lógica

Modelo Orientado a Objetos

Modelagem em Lógica: Paralelismo E e OU

Modelagem Orientada a Objetos:Paralelismo Intra e Inter Objetos

Realidade

Domínio

37

4 – Paralelismo nos Paradigmas

Fontes de paralelismo na Realidade

Realidade

38

4 – Paralelismo nos Paradigmas

Fontes de paralelismo na Realidade

Realidade

Domínio

39

4 – Paralelismo nos Paradigmas

Fontes de paralelismo na Realidade

Realidade

Domínio Fontes deParalelismo

40

4 – Paralelismo nos Paradigmas

Fontes de paralelismo na Realidade

Realidade

Domínio

Modelagem Subliminar do paralelismo

Fontes deParalelismo

ModeloComputacional

41

4 – Paralelismo nos Paradigmas

Fontes de paralelismo na Realidade

Realidade

Domínio

ModeloComputacional

Modelagem Subliminar do paralelismo

Fontes deParalelismo

Paralelismo Implícito

42

4 – Paralelismo nos Paradigmas

Fontes de paralelismo na Realidade

Realidade

Domínio

ModeloComputacional

Modelagem Subliminar do paralelismo

Execução Paralela

Exploração automática do paralelismo

Fontes deParalelismo

Paralelismo Implícito

43

4 – Paralelismo nos Paradigmas

Fontes de paralelismo na Realidade

Realidade

Domínio

ModeloComputacional

Modelagem Subliminar do paralelismo

Execução Paralela

Exploração automática do paralelismo

Semântica Paralela

Fontes deParalelismo

Paralelismo Implícito

44

5 – Multiparadigma

45

5 - Multiparadigma

Desenvolvimento Funcional

Desenvolvimento em Lógica

Orientação a Objetos

46

5 - Multiparadigma

Orientação a Objetos

Desenvolvimento Funcional

Desenvolvimento em Lógica

Paradigmas Básicos

47

5 - Multiparadigma

Desenvolvimento Funcional

Desenvolvimento em Lógica

Novos Modelos

Paradigmas Básicos

Orientação a Objetos

48

5 - Multiparadigma

• OLI (Object Logic Integration)• OWB (Object With Brain)• I+• DLO (Distributed Logic Objects)• ETA (Everything buT Assignment)• G• Oz

Exemplos

49

6 – Holoparadigma

50

6 - Holoparadigma

Descrição:• Novo paradigma de desenvolvimento de software• Semântica simples e distribuída• Suporte à exploração automática da distribuição

51

6 - Holoparadigma

Descrição:• Novo paradigma de desenvolvimento de software• Semântica simples e distribuída• Suporte à exploração automática da distribuição

Modelo:

Ente 1 . . .

História

Ente 2 Ente n

Invocação Implícita

Invocação Explícita

Blackboard

52

6 - Holoparadigma

História

História

História

História

História

História

História

História

História

História

Nível 0

Nível 1

Nível 2 Nível 2

Organização:

53

6 - Holoparadigma

Áreas de pesquisa:

• Sistemas Distribuídos• Arquitetura de Software• Multiparadigma• Grupos• Mobilidade• DSM (Distributed Shared Memory)

54

7 – Conclusões

55

7 - Conclusões

• O que são paradigmas de software?

56

7 - Conclusões

• O que são paradigmas de software?• Artigo interessante Skillicorn e Talia (1998)

57

7 - Conclusões

• O que são paradigmas de software?• Artigo interessante Skillicorn e Talia (1998)• Paradigmas não convencionais facilitam paralelismo implícito

58

7 - Conclusões

• O que são paradigmas de software?• Artigo interessante Skillicorn e Talia (1998)• Paradigmas não convencionais facilitam paralelismo implícito• Quais são as fontes de paralelismo existentes na Realidade?

59

7 - Conclusões

• O que são paradigmas de software?• Artigo interessante Skillicorn e Talia (1998)• Paradigmas não convencionais facilitam paralelismo implícito• Quais são as fontes de paralelismo existentes na Realidade?• Multiparadigma é uma tendência

60

7 - Conclusões

• O que são paradigmas de software?• Artigo interessante Skillicorn e Talia (1998)• Paradigmas não convencionais facilitam paralelismo implícito• Quais são as fontes de paralelismo existentes na Realidade?• Multiparadigma é uma tendência• Paralelismo + Multiparadigma é uma tendência

61

7 - Conclusões

• O que são paradigmas de software?• Artigo interessante Skillicorn e Talia (1998)• Paradigmas não convencionais facilitam paralelismo implícito• Quais são as fontes de paralelismo existentes na Realidade?• Multiparadigma é uma tendência• Paralelismo + Multiparadigma é uma tendência• Holoparadigma em desenvolvimento