sistemas distribuídos, programação concorrente e redes de computadores ssc/icmc/usp grupo de...
TRANSCRIPT
![Page 1: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/1.jpg)
Sistemas Distribuídos, Programação Concorrente e Redes
de Computadores
SSC/ICMC/USPSSC/ICMC/USP
Grupo de Sistemas DistribuídosGrupo de Sistemas Distribuídos e e Programação Programação ConcorrenteConcorrente
Paulo Sérgio Lopes de SouzaPaulo Sérgio Lopes de Souza
Marcos José SantanaMarcos José Santana
![Page 2: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/2.jpg)
Conteúdo
Sistemas Distribuídos Sistemas Distribuídos Programação ConcorrenteProgramação Concorrente Redes de ComputadoresRedes de Computadores DisciplinasDisciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação Concorrente Programação Concorrente Comentários FinaisComentários Finais
![Page 3: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/3.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação ConcorrenteProgramação Concorrente Redes de ComputadoresRedes de Computadores DisciplinasDisciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação Concorrente Programação Concorrente Comentários FinaisComentários Finais
![Page 4: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/4.jpg)
Sistemas Distribuídos
Sistemas Computacionais DistribuídosSistemas Computacionais Distribuídos
Lamport: Lamport:
““É um sistema que impede você de É um sistema que impede você de obter qualquer serviço quando uma obter qualquer serviço quando uma máquina que você nem imagina que máquina que você nem imagina que exista exista falhefalhe!”!”
![Page 5: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/5.jpg)
Sistemas Distribuídos
Sistemas Computacionais DistribuídosSistemas Computacionais Distribuídos
Tanenbaum + van Renesse:Tanenbaum + van Renesse:
““Aparenta ser um sistema centralizado Aparenta ser um sistema centralizado mas na realidade o S.O. executa em mas na realidade o S.O. executa em múltiplos e independentes múltiplos e independentes processadores.”processadores.”
![Page 6: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/6.jpg)
Sistemas Distribuídos
Sistemas Computacionais DistribuídosSistemas Computacionais Distribuídos
Tanenbaum + van Renesse:Tanenbaum + van Renesse:
““Aparenta ser um sistema centralizado mas na Aparenta ser um sistema centralizado mas na realidade o S.O. executa em múltiplos e realidade o S.O. executa em múltiplos e independentes processadores .”independentes processadores .”
Conceito Chave Conceito Chave TransparênciaTransparência o uso de o uso de múltiplos processadores deve ser invisível ao múltiplos processadores deve ser invisível ao usuário.usuário.
![Page 7: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/7.jpg)
Sistemas Distribuídos
Evolução Histórica:Evolução Histórica:
5 Fases: décadas de 50, 60, 70, 80 e 90:5 Fases: décadas de 50, 60, 70, 80 e 90:
5050 uso exclusivo - monousuário - alto custo uso exclusivo - monousuário - alto custo
![Page 8: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/8.jpg)
Sistemas Distribuídos
Evolução Histórica:Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90:5 Fases: décadas de 50, 60, 70, 80 e 90:
5050 uso exclusivo - monousuário - alto custo uso exclusivo - monousuário - alto custo
6060 processamento em lote (em batch) processamento em lote (em batch)
Evolução das memórias: espaço suficiente para acomodar o Evolução das memórias: espaço suficiente para acomodar o S.O. e programa de aplicação; S.O. e programa de aplicação;
Máxima utilização da máquinaMáxima utilização da máquina
![Page 9: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/9.jpg)
Sistemas Distribuídos
Evolução Histórica:Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90:5 Fases: décadas de 50, 60, 70, 80 e 90:
5050 uso exclusivo - monousuário - alto custo uso exclusivo - monousuário - alto custo 6060 processamento em lote (em batch) processamento em lote (em batch)
7070 multiusuário-compartilhamento da máquina ( multiusuário-compartilhamento da máquina (time sharingtime sharing))
Ciclo de máquina se tornou mais barato (máquinas mais Ciclo de máquina se tornou mais barato (máquinas mais velozes / preço menor por ciclo).velozes / preço menor por ciclo).
Programadores tornaram-se mais produtivosProgramadores tornaram-se mais produtivos..
![Page 10: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/10.jpg)
Sistemas Distribuídos
Evolução Histórica:Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90:5 Fases: décadas de 50, 60, 70, 80 e 90:
5050 uso exclusivo - monousuário - alto custo uso exclusivo - monousuário - alto custo 6060 processamento em lote (em batch) processamento em lote (em batch) 7070 multiusuário-compartilhamento da máquina ( multiusuário-compartilhamento da máquina (time sharingtime sharing)) 8080 computação pessoal e S.D. computação pessoal e S.D.
Tecnologia de VLSI e LAN tornaram as E.T. e os S.D. viáveis Tecnologia de VLSI e LAN tornaram as E.T. e os S.D. viáveis superando o T.S.superando o T.S.
![Page 11: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/11.jpg)
Sistemas Distribuídos
Evolução Histórica:Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90:5 Fases: décadas de 50, 60, 70, 80 e 90:
5050 uso exclusivo - monousuário - alto custo uso exclusivo - monousuário - alto custo 6060 processamento em lote (em batch) processamento em lote (em batch) 7070 multiusuário-compartilhamento da máquina ( multiusuário-compartilhamento da máquina (time sharingtime sharing)) 8080 computação pessoal e S.D. computação pessoal e S.D.
9090 computação pessoal, S.D. e Internet computação pessoal, S.D. e Internet
sedimentação dos S.D;sedimentação dos S.D; proliferação acelerada da Internet;proliferação acelerada da Internet; computação paralela sobre plataformas distribuídas;computação paralela sobre plataformas distribuídas; integração de ambientes computacionais. integração de ambientes computacionais.
![Page 12: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/12.jpg)
Sistemas Distribuídos
Evolução Histórica:Evolução Histórica: 5 Fases: décadas de 50, 60, 70, 80 e 90:5 Fases: décadas de 50, 60, 70, 80 e 90:
5050 uso exclusivo - monousuário - alto custo uso exclusivo - monousuário - alto custo 6060 processamento em lote (em batch) processamento em lote (em batch) 7070 multiusuário-compartilhamento da máquina ( multiusuário-compartilhamento da máquina (time sharingtime sharing)) 8080 computação pessoal e S.D. computação pessoal e S.D. 90 90 computação pessoal, S.D. e Internet computação pessoal, S.D. e Internet
2000 2000 globalização, computação ubíqua,... globalização, computação ubíqua,...
Sistemas distribuídos globais; Máquinas paralelas virtuais globais; Wireless e distribuição em tempo real do processamento.
![Page 13: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/13.jpg)
Sistemas Distribuídos
Motivação: aplicações especiais: requerem alto grau de interação
com os usuários (aplicações gráficas);
![Page 14: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/14.jpg)
Sistemas Distribuídos
Motivação: aplicações especiais: requerem alto grau de interação
com os usuários (aplicações gráficas); minicomputadores: passam a ser usados como
“máquina pessoal” (monousuário) primeiras E.T.;
![Page 15: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/15.jpg)
Sistemas Distribuídos
Motivação: aplicações especiais: requerem alto grau de interação
com os usuários (aplicações gráficas); minicomputadores: passam a ser usados como
“máquina pessoal” (monousuário) primeiras E.T.; E.T. máquinas isoladas: perda de conectividade;
![Page 16: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/16.jpg)
Sistemas Distribuídos
Motivação: aplicações especiais: requerem alto grau de interação
com os usuários (aplicações gráficas); minicomputadores: passam a ser usados como
“máquina pessoal” (monousuário) primeiras E.T.; E.T. máquinas isoladas: perda de conectividade; redes locais de computadores: retorno da
conectividade;
![Page 17: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/17.jpg)
Sistemas Distribuídos
Motivação: aplicações especiais: requerem alto grau de interação
com os usuários (aplicações gráficas); minicomputadores: passam a ser usados como
“máquina pessoal” (monousuário) primeiras E.T.; E.T. máquinas isoladas: perda de conectividade; redes locais de computadores: retorno da
conectividade; servidores: algumas E.T. foram “transformadas” para
desempenhar tarefa específica;
![Page 18: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/18.jpg)
Sistemas Distribuídos
Motivação: aplicações especiais: requerem alto grau de interação
com os usuários (aplicações gráficas); minicomputadores: passam a ser usados como
“máquina pessoal” (monousuário) primeiras E.T.; E.T. máquinas isoladas: perda de conectividade; redes locais de computadores: retorno da
conectividade; servidores: algumas E.T. foram “transformadas” para
desempenhar tarefa específica; custo: obter desempenho esperado de um único
“recurso” pode ser muito caro com a tecnologia disponível no momento;
![Page 19: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/19.jpg)
Sistemas Distribuídos
Motivação: aplicações especiais: requerem alto grau de interação com os
usuários (aplicações gráficas); minicomputadores: passam a ser usados como “máquina
pessoal” (monousuário) primeiras E.T.; E.T. máquinas isoladas: perda de conectividade; redes locais de computadores: retorno da conectividade; servidores: algumas E.T. foram “transformadas” para
desempenhar tarefa específica; custo: obter desempenho esperado de um único “recurso”
pode ser muito caro com a tecnologia disponível no momento;;
desempenho: vários fatores a mais alteram o desempenho (cuidado!).
![Page 20: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/20.jpg)
Sistemas Distribuídos
Modelos Arquiteturais:
Aspectos físicos Aspectos lógicos
![Page 21: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/21.jpg)
Sistemas Distribuídos
Modelos Arquiteturais: Estações de Trabalho - Servidores
Cliente-servidorUsuário – estação de trabalhoServidores - serviços especializados
![Page 22: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/22.jpg)
Sistemas Distribuídos
Modelos Arquiteturais:
Banco de ProcessadoresCliente-servidorUsuário – terminais Processadores formam um bancoLogin – associa processador a terminalServidores – serviços especiais
![Page 23: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/23.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação ConcorrenteProgramação Concorrente Redes de ComputadoresRedes de Computadores DisciplinasDisciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação ConcorrenteProgramação Concorrente Comentários FinaisComentários Finais
![Page 24: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/24.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação ConcorrenteProgramação Concorrente Redes de ComputadoresRedes de Computadores DisciplinasDisciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação ConcorrenteProgramação Concorrente Comentários FinaisComentários Finais
![Page 25: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/25.jpg)
Programação Concorrente
Máquinas “von Neumann”Máquinas “von Neumann” Programação Seqüencial Programação Seqüencial Um processo por vez; Um processo por vez; Gargalo de von Neumann Gargalo de von Neumann Baixo desempenho; Baixo desempenho; Serialização de problemas paralelos.Serialização de problemas paralelos.
Solução: Computação ParalelaSolução: Computação Paralela Arquiteturas Paralelas:Arquiteturas Paralelas:
vários processadores/memórias trabalhando em uma vários processadores/memórias trabalhando em uma mesma aplicação;mesma aplicação;
Programação Concorrente:Programação Concorrente: inciar/finalizar, coordenar e comunicar inciar/finalizar, coordenar e comunicar
Diversas instruções executadas em paralelo para resolver Diversas instruções executadas em paralelo para resolver problemas complexos mais eficientemente;problemas complexos mais eficientemente;
![Page 26: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/26.jpg)
Programação Concorrente
Execução Seqüencial:Execução Seqüencial: Várias instruções sendo executadas uma após a outra.Várias instruções sendo executadas uma após a outra.
Execução Concorrente:Execução Concorrente: Várias instruções sendo executadas concorrentemente;Várias instruções sendo executadas concorrentemente; Único processador: há um pseudo-paralelismo;Único processador: há um pseudo-paralelismo; Em arquiteturas paralelas (vários processadores) têm-se:.Em arquiteturas paralelas (vários processadores) têm-se:.
Execução Paralela:Execução Paralela: na computação paralela há vários processos executando em na computação paralela há vários processos executando em
diferentes processadores e trabalhando juntos em um único diferentes processadores e trabalhando juntos em um único problema;problema;
![Page 27: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/27.jpg)
Programação Concorrente
Arquiteturas ParalelasArquiteturas Paralelas Objetivo principal:Objetivo principal:
Acelerar o processamentoAcelerar o processamento
Há diferentes soluções:Há diferentes soluções: Organizações de propósito geralOrganizações de propósito geral Organizações orientadas a aplicaçõesOrganizações orientadas a aplicações
![Page 28: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/28.jpg)
Programação Concorrente
Classificação de FlynnClassificação de Flynn
![Page 29: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/29.jpg)
Programação Concorrente
SISD – Single Instruction Single DataSISD – Single Instruction Single Data
![Page 30: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/30.jpg)
Programação Concorrente
SIMD– Single Instruction Multiple DataSIMD– Single Instruction Multiple Data
![Page 31: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/31.jpg)
Programação Concorrente
MISD– Multiple Instruction Single DataMISD– Multiple Instruction Single Data
![Page 32: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/32.jpg)
Programação Concorrente
MIMD– Multiple Instruction Multiple DataMIMD– Multiple Instruction Multiple Data
![Page 33: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/33.jpg)
Programação Concorrente
MIMD– Multiple Instruction Multiple DataMIMD– Multiple Instruction Multiple Data
Sistemas Computacionais Distribuídos:Sistemas Computacionais Distribuídos: MIMD – Memória DistribuídaMIMD – Memória Distribuída Arquitetura Paralela VirtualArquitetura Paralela Virtual
Computação Paralela VirtualComputação Paralela Virtual
![Page 34: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/34.jpg)
Programação Concorrente
Arquitetura Paralela VirtualArquitetura Paralela Virtual
Elementos de processamento: estações de Elementos de processamento: estações de trabalho trabalho
Rede de interconexão: rede de computadoresRede de interconexão: rede de computadores Comunicação: troca de mensagensComunicação: troca de mensagens Desempenho: potencialmente inferiorDesempenho: potencialmente inferior
![Page 35: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/35.jpg)
Programação Concorrente
Computação Paralela VirtualComputação Paralela Virtual
Implementada por softwareImplementada por software Uso do hardware instalado nos sistemas Uso do hardware instalado nos sistemas
computacionais distribuídoscomputacionais distribuídos Ambiente transparenteAmbiente transparente Pode ser utilizado sem alterar ambiente originalPode ser utilizado sem alterar ambiente original
![Page 36: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/36.jpg)
Programação Concorrente
Software disponívelSoftware disponível
PVM (amplamente difundido desde os anos 80)PVM (amplamente difundido desde os anos 80) MPI (padrão definido nos anos 90)MPI (padrão definido nos anos 90) OpenMPOpenMP
![Page 37: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/37.jpg)
Programação Concorrente
PVM – Parallel Virtual MachinePVM – Parallel Virtual Machine
Define uma máquina paralela virtualDefine uma máquina paralela virtual Disponível em C e FortranDisponível em C e Fortran Programação normal, sem modificaçõesProgramação normal, sem modificações Inclusão de chamadas a rotinas de comunicaçãoInclusão de chamadas a rotinas de comunicação
![Page 38: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/38.jpg)
Programação Concorrente
PVM – Visão ArquiteturalPVM – Visão Arquitetural
Visão Uniforme Visão Uniforme de uma de uma
máquina virtualmáquina virtualparalelaparalela
hostshosts
![Page 39: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/39.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação Concorrente Programação Concorrente Redes de ComputadoresRedes de Computadores DisciplinasDisciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação ConcorrenteProgramação Concorrente Comentários FinaisComentários Finais
![Page 40: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/40.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação Concorrente Programação Concorrente Redes de ComputadoresRedes de Computadores DisciplinasDisciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação ConcorrenteProgramação Concorrente Comentários FinaisComentários Finais
![Page 41: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/41.jpg)
Redes de Computadores
Objetivos:Objetivos: interligação de máquinas em diversas interligação de máquinas em diversas
localidades;localidades; compartilhamento de informações;compartilhamento de informações; correio eletrônico;correio eletrônico; aproveitamento de potência computacional;aproveitamento de potência computacional; etc.etc.
![Page 42: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/42.jpg)
Redes de Computadores
Origem:Origem:
Década de 60: Década de 60: ligar computadores distribuídos ligar computadores distribuídos geograficamente para troca de dados;geograficamente para troca de dados;
conexão de terminais interativos a conexão de terminais interativos a computadores remotos;computadores remotos;
correio eletrônico;correio eletrônico; transmissão de arquivos;transmissão de arquivos; processamento em lote entre computadores.processamento em lote entre computadores.
![Page 43: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/43.jpg)
Redes de Computadores
Tipos de Redes de Computadores:Tipos de Redes de Computadores:
WAN - Wide Area Network (Redes de Longa WAN - Wide Area Network (Redes de Longa Distância)Distância)
MAN - Metropolitan Area Network MAN - Metropolitan Area Network (Redes Intermediárias) (Redes Intermediárias)
LAN - Local Area Network (Redes LAN - Local Area Network (Redes Locais) Locais)
SAN - System Area Network (Redes de SAN - System Area Network (Redes de Sistemas)Sistemas)
![Page 44: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/44.jpg)
Redes de Computadores
Meio Físico de Interconexão:Meio Físico de Interconexão:
Cabo CoaxialCabo Coaxial Par trançadoPar trançado Fibra ÓticaFibra Ótica Transmissão WirelessTransmissão Wireless etc.etc.
![Page 45: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/45.jpg)
Redes de Computadores
Protocolos de ComunicaçãoProtocolos de Comunicação Regras de comunicação Regras de comunicação Viabilizam a comunicaçãoViabilizam a comunicação Uniformizam a troca de mensagensUniformizam a troca de mensagens Permitem criação de serviçosPermitem criação de serviços
![Page 46: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/46.jpg)
Redes de Computadores
Exemplo de protocolo:Exemplo de protocolo: TCP/IPTCP/IP
Padrão amplamente utilizadoPadrão amplamente utilizadoOrigem na ARPANETOrigem na ARPANETProtocolo baseProtocolo base
da Internetda Internet
![Page 47: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/47.jpg)
Redes de Computadores
Redes de Alta VelocidadeRedes de Alta Velocidade
Qualidade de Serviço (QoS)Qualidade de Serviço (QoS) Evolução das redes convencionaisEvolução das redes convencionais Fibras óticasFibras óticas Protocolos especiaisProtocolos especiais
![Page 48: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/48.jpg)
Redes de Computadores
Redes modernasRedes modernas Integração de:Integração de:
DadosDadosVozVozImagensImagens
![Page 49: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/49.jpg)
Redes de Computadores
Segurança:Segurança: InternaInterna
Proteção de dados Proteção de dados Acessos indevidosAcessos indevidos
ExternaExternaHackersHackers
![Page 50: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/50.jpg)
Redes de Computadores
Base para Sistemas DistribuídosBase para Sistemas Distribuídos
Base para Arquiteturas Paralelas VirtuaisBase para Arquiteturas Paralelas Virtuais
Base para TelecomunicaçõesBase para Telecomunicações Sistemas telefônicos interconectados por redes de Sistemas telefônicos interconectados por redes de
computadorescomputadores
![Page 51: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/51.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação Concorrente Programação Concorrente Redes de Computadores Redes de Computadores DisciplinasDisciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação ConcorrenteProgramação Concorrente Comentários FinaisComentários Finais
![Page 52: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/52.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação Concorrente Programação Concorrente Redes de Computadores Redes de Computadores DisciplinasDisciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação ConcorrenteProgramação Concorrente Comentários FinaisComentários Finais
![Page 53: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/53.jpg)
Disciplinas
ObrigatóriasObrigatórias SCE612 - Redes de Computadores (5o Per)SCE612 - Redes de Computadores (5o Per) SCE616 - Sistemas Computacionais Distribuídos (6o Per)SCE616 - Sistemas Computacionais Distribuídos (6o Per)
OptativasOptativas SCE704 - Programação Concorrente (7o Per)SCE704 - Programação Concorrente (7o Per) SCE706 - Computação Distribuída (8o Per)SCE706 - Computação Distribuída (8o Per) SCE708 - Sistemas Comp. de Tempo Real (8o Per)SCE708 - Sistemas Comp. de Tempo Real (8o Per) SCE709 - Sistemas Comp. Tolerantes Falhas (10o Per)SCE709 - Sistemas Comp. Tolerantes Falhas (10o Per)
![Page 54: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/54.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação Concorrente Programação Concorrente Redes de Computadores Redes de Computadores Disciplinas Disciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação ConcorrenteProgramação Concorrente Comentários FinaisComentários Finais
![Page 55: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/55.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação Concorrente Programação Concorrente Redes de Computadores Redes de Computadores Disciplinas Disciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação ConcorrenteProgramação Concorrente Comentários FinaisComentários Finais
![Page 56: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/56.jpg)
Grupo de Sistemas Distribuídos e Programação Concorrente Integrantes:Integrantes:
Marcos José SantanaMarcos José Santana – – PhD Univ. Southampton PhD Univ. Southampton Regina Helena Carlucci SantanaRegina Helena Carlucci Santana – – PhD Univ. SouthamptonPhD Univ. Southampton Edson dos Santos Moreira – Edson dos Santos Moreira – PhD Univ. ManchesterPhD Univ. Manchester Onofre Trindade Jr. – Dr. IFSC-USP Onofre Trindade Jr. – Dr. IFSC-USP Eduardo Marques – Eduardo Marques – Dr. EPUSPDr. EPUSP Sarita Mazzini Bruschi – Sarita Mazzini Bruschi – Dr. ICMC-USPDr. ICMC-USP Francisco José Mônaco – Francisco José Mônaco – Dr. EESC-USPDr. EESC-USP Jorge Luis e Silva – Dr. EPUSPJorge Luis e Silva – Dr. EPUSP Paulo Sérgio Lopes de Souza – Dr. IFSC-USPPaulo Sérgio Lopes de Souza – Dr. IFSC-USP Denis Fernando Wolf - PhD Univ. CaliforniaDenis Fernando Wolf - PhD Univ. California Kalinka Regina L. J. Castelo BrancoKalinka Regina L. J. Castelo BrancoDr. - ICMC-USPDr. - ICMC-USP
![Page 57: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/57.jpg)
Grupo de Sistemas Distribuídos e Programação Concorrente Áreas de Pesquisas:Áreas de Pesquisas:
Sistemas DistribuídosSistemas Distribuídos Programação ConcorrenteProgramação Concorrente Redes de ComputadoresRedes de Computadores Avaliação de DesempenhoAvaliação de Desempenho Simulação de SistemasSimulação de Sistemas Hardware ReconfigurávelHardware Reconfigurável
![Page 58: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/58.jpg)
Grupo de Sistemas Distribuídos e Programação Concorrente Pesquisas EnvolvendoPesquisas Envolvendo
Iniciação CientíficaIniciação Científica MestradoMestrado DoutoradoDoutorado
![Page 59: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/59.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação Concorrente Programação Concorrente Redes de Computadores Redes de Computadores Disciplinas Disciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação ConcorrenteProgramação Concorrente Comentários FinaisComentários Finais
![Page 60: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/60.jpg)
Conteúdo
Sistemas DistribuídosSistemas Distribuídos Programação Concorrente Programação Concorrente Redes de Computadores Redes de Computadores Disciplinas Disciplinas Grupo de Sistemas Distribuídos e Grupo de Sistemas Distribuídos e
Programação ConcorrenteProgramação Concorrente Comentários FinaisComentários Finais
![Page 61: Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio](https://reader034.vdocuments.site/reader034/viewer/2022050720/552fc10b497959413d8c27de/html5/thumbnails/61.jpg)
Comentários Finais
Sistemas Distribuídos + Programação Sistemas Distribuídos + Programação Concorrente + Redes de ComputadoresConcorrente + Redes de Computadores
Base importante na formação do Engenheiro de Base importante na formação do Engenheiro de ComputaçãoComputação
Aplicação em, basicamente, todas as demais Aplicação em, basicamente, todas as demais disciplinas avançadas;disciplinas avançadas;
Influenciam diretamente a vida do profissional em Influenciam diretamente a vida do profissional em ComputaçãoComputação