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

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

Programação Distribuída utilizando Mosix e DIPC André Mendes Carla Marchioro Cristina Machado 2000.

Apresentações semelhantes


Apresentação em tema: "Programação Distribuída utilizando Mosix e DIPC André Mendes Carla Marchioro Cristina Machado 2000."— Transcrição da apresentação:

1 Programação Distribuída utilizando Mosix e DIPC André Mendes Carla Marchioro Cristina Machado 2000

2 Sumário Conceitos Básicos –Memória Virtual –Memória Compartilhada –Sockets –Clusters –Comunicação entre processos Motivação para processamento distribuído DIPC MOSIX

3 Memória Virtual Memória Virtual: Separação lógica da memória do usuário da memória física (real). Vantagens: –Programas podem ser maiores que o tamanho da memória principal. –Facilita a programação, não é necessário se preocupar com a memória disponível.

4 Representação da memória virtual Página 1 Página 2 Página n Mapa de memória Memória virtual Memória física Disco

5 Memória Compartilhada Utilização de uma memória comum, onde se pode ler ou escrever. A memória compartilhada pode ser a memória física ou um arquivo em disco.

6 Tipos de memória compartilhada Entre processos: P2 - memória virtual P1 - memória virtual Memória real

7 Tipos de memória compartilhada Entre CPU’s: CPU 3 CPU 2 CPU 4 CPU 1 Memória

8 Tipos de memória compartilhada Entre Computador:

9 Sockets Interface genérica para comunicação que faz uso de uma porta de comunicação. Vantagem: Comunicação entre processos na mesma máquina ou em rede. Desvantagem: Difícil de programar.

10 Clusters São agrupamentos de computadores que utilizam seus recursos de forma cooperativa para resolver problemas. O cluster é visto como uma única máquina, na qual faz-se requisições e recebe resultados.

11 Clusters Os clusters são dividos em dois tipos: –NoW Network of Workstations (heterogêneos) –CCS Cluster of Connected Servers (homogêneo)

12 Comunicação entre processos (IPC) É uma API que implementa a comunicação entre processos de uma forma padrão. Para isto se pode utilizar: –Memória compartilhada –Troca de mensagens (send e receive) –Pipes –Arquivo...

13 Comunicação Interprocessos (IPC) Processo Processo I I P P C C KERNELKERNEL Mesma máquina

14 Aumento do poder de processamento com baixo custo possibilidade de software de prateleira Aplicações são distribuídas por definição Maior escalabilidade Tolerância a falhas Atender simultaneamente um número elevado de usuários Ambiente heterogêneos computador tecnologia de rede Motivação para processamento distribuído

15 Alguns problemas... Não existe mecanismo de balanceamento de carga Sistemas heterogêneos de diferentes gerações Compartilhamento de partes de processos Programação simplificada Transparência

16 DIPC - Comunicação interprocessos distribuída Solução de software para permitir a construção e programação em múltiplos computadores. É uma extensão das funcionalidades nos mecanismos do IPC do Unix System V para que o mesmo funcione em rede. Possibilita : –Troca de mensagem –Memória compartilhada distribuída

17 DIPC - Comunicação interprocessos distribuída KernelKernel Aplicação DIPCDIPC... IPCIPC Suporte de rede Aplicação D I P C... IPCIPC Suporte de rede

18  O sistema é simples. A simplicidade dos algoritmos é preferível ao desempenho  Transparente  Preservar a semântica do UNIX o máximo possível  Programador interfere diretamente no desempenho do sistema.  Ex. quantidade de dados a ser transferidos. DIPC - Características

19  Executa o código do DIPC no espaço do usuário  Portabilidade dos sistemas antigos  Portabilidade - DIPC trabalha tanto em Redes Locais (LAN) quanto em Redes de Longa Distância (WAN);  DIPC trabalha em um ambiente heterogêneo DIPC - Características

20 DIPC -Implementação  Kernel –Aplicar um "patch" no "código fonte" do kernel. –Após a aplicação do "patch", deve-se recompilar o kernel.

21 Programador Definir um "flag" nos "header file". –Não é necessário ligar nenhuma biblioteca ao código fonte. /* Exemplo do Header file de uma aplicacao em DIPC */ #include MSG_MODE ( IPC_DIPC IPC_EXCL 0777) DIPC -Implementação

22 DIPC - Funcionamento Estrutura de comunicação padronização Processo 1 Processo n

23 DIPC - Cluster Cluster JUIZ

24 DIPC - Memória compartilhada distribuída Segmento Computador 1Computador 2Computador n Copia

25 DIPC - Memória compartilhada distribuída Página Computador 1Computador 2Computador n 4 k Copia

26 DIPC - Próximos passos  Estudar o uso de DIPC dentro uma WAN, e fazer as mudanças necessárias para que ele funcione.  Portar o DIPC para arquiteturas não Intel que são suportadas pelo Linux, inclusive PowerPC, SPARC, ALFA, MIPS e ARM.  Portar o DIPC para outros sistemas operacionais UNIX que suportam o system V.  Tornar o DIPC tolerante a falhas.

27 MOSIX Extensão para os sistemas operacionais baseados no UNIX que faz com que um cluster de computadores se comportem como um grande e único supercomputador através da utilização de Migração Preemptiva de Processos e Balanceamento de Memória.

28 Motivação para o MOSIX Balanceamento dinâmico e inteligente de carga Clusters heterogênios Transparência Escalabilidade Descentralização Autonomia dos nós

29 Característica do MOSIX Algorítmos probabilísticos para disseminação das informações Migração preemptiva de processos Balanceamento dinâmico de carga Anunciador de memória Comunicação entre núcleos eficiente Controle descentralizado e autonomia Escalonamento

30 Implementado no núcleo do sistema usando a tecnologia de módulos, o que resulta que a interface entre o núcleo do sistema e as aplicações não é modificada, assim isto tudo é transparente para as aplicações. Construção do cluster de forma simples, com componentes padrões e progressiva. Funcionamento do MOSIX

31 Composto de duas partes: –Migração Preemptiva de Processos –Algoritmos adaptativos para realizar o compartilhamento de recursos.

32 MOSIX - Cluster Cluster

33 Migração Preemptiva de Processos

34 Entram em ação em situações de escassez de recursos para: – maximizar a ocupação de memória global do cluster –diminuir a sobrecarga individual de cada processador Algorítmos de compartilhamento de recursos

35 P1 Pn P3 P2 Computador 1 P1 Computador 1 P2 Computador 2 Pn P3 Computador 3 Ocup.33% Ocup.30%Ocup.25% P1 Computador 1 P2 Computador 2 Pn P3 Computador 3 Ocup.33% Ocup.80%Ocup.25% P4 Migração Preempitiva Saturação Algorítmos Normal

36 MOSIX -Implementação  Kernel –Aplicar um "patch" no "código fonte" do kernel. –Após a aplicação do "patch", deve-se recompilar o kernel. –Configurar estaticamente quais máquinas faz parte do cluster MOSIX.

37 MOSIX - Próximos passos Migração de Sockets redução da sobrecarga na comunicação interprocessos Migração de arquivos temporários melhorar o desempenho de programas como compiladores Pesquisa de algorítmos para NetworkRAM permitir que processos grandes utilizem toda a memória disponível nos diversos nós

38 Conclusão Utilização de máquinas mais baratas para resolver problema que demandem enorme poder de processamento Melhor utilização das diversas máquinas que compõem um rede local Melhorar a escalabilidade das soluções em cluster que existem hoje Facilitar a vida dos programadores Utilização dos programas existentes

39 Referências [KARIMI2000] Karimi, Kamran e Sharifi, Mohsen, DIPC: The linux Way of Distributed Programming. Linux Journal, 75:10-17, January [KARIMI99] Karimi, Kamran, Wellcome to DIPC,,,. [KARIMI99] Karimi, Kamran, DIPC,, 19/09/1999, 13:21. [BING] Matt, DIPC, [SILBERCHATZ94] Silberchatz, Abraham e Galvin, Peter. Operating System Concepts. Addison Wesley, [TANENBAUM92] Tanenbaum, Andrew. Modern Operating System. Prentice-Hall [TANENBAUM95] Tanenbaum, Andrew. Distributed Operating System. Prentice-Hall 1995.

40 Referências [BARAK99] Barak, Amnon; La’adan, Oren; Shiloh, Amnon; Scalable Cluster Computing with MOSIX for Linux,1999,The Hebrew University of Jerusalem. [BARAK95] Barak,A.; Laden,O.;Yarom,Y., The NoW MOSIX and its Preemptive Process Migration Scheme. Bulletin of the IEEE Technical Committee on Operating Systems and Application Environments, Summer 1995 [BARAK97] Barak,Amnon; Braverman, Avner; Memory Ushering in a Scalable Computing Cluster. 1997, The Hebrew University - Institute of Computer Science. Jerusalem


Carregar ppt "Programação Distribuída utilizando Mosix e DIPC André Mendes Carla Marchioro Cristina Machado 2000."

Apresentações semelhantes


Anúncios Google