Você está na página 1de 12

Bacharelado em Sistemas de Informação Programação Distribuída Concorrente - PDC

Programação Distribuída Concorrente í
(INF1406)

01 - Introdução

Sérgio Côrtes scortes@inf.puc-rio.br

Ementa da disciplina
eventos Processos: concorrência; threads; eventos. Comunicação: troca de mensagens; chamada remota de procedimentos e de métodos; outros modelos; código móvel. Arquiteturas: cliente-servidor; peer-toclientepeer-topeer; publish/subscribe. Nomeação: Nomeação localização de entidades. Segurança: criptografia; autenticação; controle de acesso.
Programação Distribuída Concorrente - Prof. Sérgio Côrtes 01 - Introdução - Slide 2/23

PUC-Rio – 2011.2

Página - 1/12

Slide 3/23 Bibliografia Bibliografia Complementar TANENBAUM.. 2003 PrenticeISBN 8587918575 Programação Distribuída Concorrente . 2008 Programação Distribuída Concorrente . Sistemas Operacionais TANENBAUM A S Modernos: .Introdução . Sérgio Côrtes 01 . PETER BAER GALVIN.2 Página . CAMPUS. São Paulo: Prentice-Hall.. 2007 ISBN 9788576051428 TANENBAUM.2/12 . Sistemas Distribuídos -: Princípios e Paradigmas. S.Bacharelado em Sistemas de Informação Programação Distribuída Concorrente . Sérgio Côrtes 01 .Slide 4/23 PUC-Rio – 2011. S. São Paulo: PrenticePrenticeHall. A.Prof. GREG GAGNE.Introdução .Prof.PDC Bibliografia Bibliografia Principal SISTEMAS OPERACIONAIS COM JAVA 7ª EDIÇÃO REVISTA E ATUALIZADA ABRAHAM SILBERSCHATZ. A.

o aluno está aprovado sem a necessidade de fazer um terceiro grau.Bacharelado em Sistemas de Informação Programação Distribuída Concorrente .Slide 6/23 PUC-Rio – 2011.Introdução .PDC Critério de Aprovação O critério de avaliação da disciplina (Média) será composto por dois graus: MÉDIA = (G1 + G2*2)/3 Se MÉDIA >= 6.Introdução . Sérgio Côrtes 01 .Prof. que substituirá o menor grau entre G1 e G2. Sérgio Côrtes 01 .Slide 5/23 Programação das Provas Prova 1 – 13/09/2011 Prova 2 – 08/11/2011 Prova 3 – 01/12/2011 Programação Distribuída Concorrente .3/12 . G2 As notas G1 e G2 serão compostas por provas e trabalhos combinados em sala de aula com os alunos.2 Página .Prof. Categoria II Presença: > 25% faltas • Reprovado por faltas (RF) • Média Final = 0 Perda de prova • Requerer prova de reposição na DAR ATÉ 7 dias depois da data da prova não realizada com toda documentação necessária Programação Distribuída Concorrente .

desta forma chegando quase que ao mesmo tempo sem invadir a via do outro.2 Página .Slide 8/23 PUC-Rio – 2011. Sérgio Côrtes 01 . d j i de t t Eles podem competir por espaços em uma mesma estrada ou acabam seguindo uns aos outros ou competindo por posições.Introdução . Programação Distribuída Concorrente . Ou poderiam andar em vias paralelas. Ou poderiam trafegar em rotas diferentes usando estradas separadas.PDC Programação Distribuída Cenário-Exemplo Vários Vá i carros desejam ir d um ponto A à um ponto B.4/12 .Bacharelado em Sistemas de Informação Programação Distribuída Concorrente .Prof.

em paralelo em múltiplos processadores (pistas em uma estrada).Slide 9/23 Características Um programa concorrente contém dois ou mais processos que trabalham juntos para executar uma tarefa. (carros em feitas movimento) Cada tarefa pode ser executada: uma de cada vez em um único processador (uma única estrada). Programação Distribuída Concorrente . Programação Distribuída Concorrente . Sérgio Côrtes 01 .Prof.Introdução .Slide 10/23 PUC-Rio – 2011.5/12 .Bacharelado em Sistemas de Informação Programação Distribuída Concorrente . controle Programa concorrente múltiplos threads de controle. Programa seqüencial único thread de controle. ou.Introdução .PDC Computação Concorrente Existem múltiplas tarefas a serem feitas. em processadores distribuídos (estradas separadas). Sérgio Côrtes 01 . Cada processo é um programa seqüencial.Prof.2 Página .

Sérgio Côrtes 01 . Sérgio Côrtes 01 .Prof.Slide 11/23 Breve Histórico Apareceu na década de 60 dentro do contexto de Sistemas Operacionais. processos precisam sincronizar-se: sincronizarexclusão mútua (seções críticas) sincronização condicional Programação Distribuída Concorrente . Estes dispositivos funcionam independente de um processador de controle e podem fazer operações de E/S concorrentemente com a execução de um programa. comunicandoA comunicação pode ser feita através de: variáveis compartilhadas troca de mensagens Independente da forma de comunicação os comunicação.Introdução .6/12 . A motivação foi a criação de unidades de hardware denominadas canais ou dispositivos de controle.Bacharelado em Sistemas de Informação Programação Distribuída Concorrente .Slide 12/23 PUC-Rio – 2011.Introdução .PDC Comunicação Os processos em um programa concorrente trabalham juntos comunicando-se entre si.Prof.2 Página . Programação Distribuída Concorrente .

7/12 . Como sincronizar as atividades de processos concorrentes? Como utilizar múltiplos processadores para que uma aplicação seja executada mais rapidamente? Programação Distribuída Concorrente .Bacharelado em Sistemas de Informação Programação Distribuída Concorrente .PDC Breve Histórico Um canal comunica-se com o processador central comunicaatravés de uma interrupção.Prof. foram desenvolvidos as máquinas multiprocessadas. Sérgio Côrtes 01 . Com a introdução dos canais.Slide 14/23 PUC-Rio – 2011. Programação Distribuída Concorrente .Prof.Slide 13/23 Breve Histórico Permite também que uma aplicaçã p ssa aplicação possa ser executada mais rapidamente se puder ser reescrita de forma a utilizar múltiplos processadores.Introdução . partes de um programa poderiam funcionar de forma imprevisível.Introdução .2 Página . Sérgio Côrtes 01 . lti d Estas máquinas permitem que aplicações diferentes sejam executadas em processadores diferentes ao mesmo tempo. Logo após o aparecimento dos canais. d l id á i multiprocessadas.

Programação Distribuída Concorrente . Computação científica. Sérgio Côrtes 01 . Controle de processos de tempo real Programação Distribuída Concorrente .Bacharelado em Sistemas de Informação Programação Distribuída Concorrente .Slide 16/23 PUC-Rio – 2011. algoritmos que são executadas em redes locais e em multiprocessadores de memória compartilhada.Introdução .Introdução .Slide 15/23 Aplicações Processamento de informações distribuídas. Sérgio Côrtes 01 . o termo cobre .PDC Algoritmos Distribuídos Algoritmos que foram desenvolvidos para serem executadas em muitos processadores “distribuídos” em uma grande área geográfica.8/12 . Atualmente.2 Página .Prof.Prof.

pode falhar brevemente. completamente assíncronos. podeNa presença de falha: o processo pode parar com ou sem aviso.Bacharelado em Sistemas de Informação Programação Distribuída Concorrente .Prof. Modelo de Execução (Timing model): model): completamente síncronos. mensagens pontopontoa-ponto. Programação Distribuída Concorrente .Introdução .Prof.PDC Tipos de Algoritmos Distribuídos Método de comunicação entre processos: memória compartilhada. difusão de mensagens(broadcast) ponto.9/12 . Programação Distribuída Concorrente .Slide 17/23 Tipos de Algoritmos Distribuídos Modelo de falha: hardware completamente confiável ou pode-se admitir alguma falha. Sérgio Côrtes 01 .2 Página .Slide 18/23 PUC-Rio – 2011.Introdução . Sérgio Côrtes 01 . Também podem ocorrer falhas na comunicação: perda ou duplicação de mensagens. parcialmente síncronos. ou pode apresentar falhas g graves e o sistema funcionar de forma arbitrária. e chamadas remotas a procedimentos (RPC).

topologia de rede desconhecida. i i ã implementação t ã de vários tipos de objetos.Introdução .2 Página . consenso entre processadores distribuídos.Introdução . Programação Distribuída Concorrente .Bacharelado em Sistemas de Informação Programação Distribuída Concorrente . e operando a velocidades diferentes. começando em tempos diferentes. e i l h t ). detecção de deadlock. entradas independentes em diferentes locais. instantâneos globais (global snapshots) sincronização. Programação Distribuída Concorrente . controle de concorrência em bancos de dados.10/12 . entre elas: número de processadores desconhecido. Sérgio Côrtes 01 .Slide 20/23 PUC-Rio – 2011.PDC Tipos de Algoritmos Distribuídos Problemas abordados: alocação de recursos.Slide 19/23 Características A t lt t Apresentam um alto grau d i de incerteza e mais independência de atividades.Prof. Sérgio Côrtes 01 . comunicação. vários programas sendo executados de uma só vez.Prof.

Prof.Introdução . Sérgio Côrtes 01 . falhas de processadores e comunicação Programação Distribuída Concorrente . Em potencial: desempenho melhor.11/12 .Prof. tempos de envio de mensagens incertos. Programação Distribuída Concorrente .Slide 21/23 Motivação Permitir iteração entre usuários. Compartilhamento de recursos/dados e serviços.Bacharelado em Sistemas de Informação Programação Distribuída Concorrente . Sérgio Côrtes 01 .Slide 22/23 PUC-Rio – 2011. disponibilidade maior maior. desconhecimento da ordenação das mensagens. Software tem que estar distribuído. controle deve estar distribuído.2 Página .Introdução .PDC Características nãonão-determinismo dos processadores.

Sérgio Côrtes 01 . nãocontrole descentralizado.Slide 23/23 PUC-Rio – 2011.12/12 .Introdução .2 Página . ç tomada de decisão baseada em informação (parcial) sobre os dados do sistema. atomicidade de ações.Bacharelado em Sistemas de Informação Programação Distribuída Concorrente .PDC Motivação Requer nova forma de programação/projeto de algoritmos que levam em conta: paralelismo e não-determinismo. otimização do número de mensagens a serem trocadas.Prof. Programação Distribuída Concorrente . levar em conta a possibilidade de falhas.