unicamp mc714
play

Unicamp MC714 Distributed Systems Slides by Maarten van Steen, - PowerPoint PPT Presentation

Unicamp MC714 Distributed Systems Slides by Maarten van Steen, adapted from Distributed Systems, 3rd edition Chapter 01: Introduction Informac oes sobre a disciplina: MC714 Sistemas Distrubu dos Professor Lucas Wanner


  1. Unicamp MC714 Distributed Systems Slides by Maarten van Steen, adapted from Distributed Systems, 3rd edition Chapter 01: Introduction

  2. Informac ¸ ˜ oes sobre a disciplina: MC714 – Sistemas Distrubu´ ıdos Professor Lucas Wanner – lucas@ic.unicamp.br Hor´ ario Terc ¸as 21:00-23:00, Sala CB XX Quintas 19:00-21:00, Sala CB XX Website http://www.lucaswanner.com/sd Lista de Emails https://groups.google.com/d/forum/sd-2017-2 Todos os alunos matriculados foram adicionados ` a lista com seus emails da DAC. Solicite ingresso na lista caso n˜ ao tenha recebido notificac ¸ ˜ ao. 2 / 55

  3. Informac ¸ ˜ oes sobre a disciplina: MC714 – Sistemas Distrubu´ ıdos Ementa • Sistemas Distribu ´ ıdos • Comunica c ¸ ˜ ao entre processos • Sistemas de arquivos • Servic ¸os de nomes • Coordenac ¸ ˜ ao • Replicac ¸ ˜ ao • Seguranc ¸a Bibliografia Texto principal: A. S. Tanenbaum and M. Van Steen. Distributed Systems: Principles and Paradigms. 3rd ed., 2017. Link para download na p´ agina do curso. Coulouris, J. Dollimore, T. Kindberg, and G. Blair. Distributed Systems: Concepts and Design. 5th ed., Addison-Wesley, 2011. A.D. Kshemkalyani, M. Singhal, Distributed Computing: Principles, Algorithms, and Systems. Paperback ed., Cambridge University Press, 2011. 3 / 55

  4. Informac ¸ ˜ oes sobre a disciplina: Programa: Primeira Parte T´ opico Cap´ ıtulo Introduc ¸ ˜ ao e Fundamentos 1 Arquituras de sistemas distribu´ ıdos 2 Processos e Threads Revis˜ ao, 3 Clientes/Servidores, Virtualizac ¸ ˜ ao e N´ uvem 3 Comunicac ¸ ˜ ao: Revis˜ ao, Sockets, Troca de Mensagens Revis˜ ao, 4 Multicast, Disseminac ¸ ˜ ao de informac ¸ ˜ ao 4 Remote Procedure Call 4 Nomeac ¸ ˜ ao 5 Sincronizac ¸ ˜ ao de rel´ ogio, Rel´ ogios L´ ogicos 6 Exclus˜ ao m´ utua 6 Eleic ¸ ˜ ao de l´ ıder 6 4 / 55

  5. Informac ¸ ˜ oes sobre a disciplina: Programa: Segunda Parte T´ opico Cap´ ıtulo Consistˆ encia: Fundamentos, Modelos 7 Replicac ¸ ˜ ao: Gerˆ encia, Distribuic ¸ ˜ ao de conte´ udo 7 Tolerˆ ancia a falhas: Fundamentos 8 Commit distribu´ ıdo 8 Recuperac ¸ ˜ ao, Checkpointing 8 PAXOS 8 Sistemas de Arquivos 2nd ed. 11 P2P: Introduc ¸ ˜ ao, Distributed Hash Table (DHT) Coulouris 10 P2P: Chrod, Kademlia, BitTorrent Singhal 18 Web: AHTTP , SOAP , Caching 2nd ed. 12 5 / 55

  6. Informac ¸ ˜ oes sobre a disciplina: Avaliac ¸ ˜ ao Componentes Provas: (P) Ser˜ ao aplicadas duas provas te´ oricas, P 1 e P 2 . Semin´ arios: (S) Semin ´ arios ser ˜ ao apresentados em sala de aula. Os grupos, datas, e t´ opicos para apresentac ¸ ˜ ao ser˜ ao definidos durante o semestre. Testes: (T) Ser˜ ao aplicados uma s´ erie de pequenos testes e exerc´ ıcios de implementac ¸ ˜ ao. A nota dos testes T ser´ a a m´ edia aritm´ etica entre os testes aplicados. Pol´ ıtica de atraso Cada dia em atraso implicar´ a em um desconto de 2.5/10 pontos para cada entreg´ avel. 6 / 55

  7. Informac ¸ ˜ oes sobre a disciplina: Avaliac ¸ ˜ ao M´ edia A m´ edia M da disciplina ser´ a calculada como: M = P 1 × 0 . 3 + P 2 × 0 . 35 + T × 0 . 2 + S × 0 . 15 Exame Alunos com m´ edia 2 . 5 ≤ M < 5 poder˜ ao fazer um exame final ( E ). Nota final A nota final F ser´ a calculada como: � min { 5 , M + E } caso 2 . 5 ≤ M < 5 e o aluno tenha feito exame. 2 F = caso contr´ M ario. 7 / 55

  8. Informac ¸ ˜ oes sobre a disciplina: Avaliac ¸ ˜ ao Datas Importantes P1: 21/09/2017 P2: 23/11/2017 Exame: 12/12/2017 8 / 55

  9. Informac ¸ ˜ oes sobre a disciplina: Integridade Acadˆ emica Pol´ ıtica de tolerˆ ancia zero Toda e qualquer violac ¸ ˜ ao de integridade acadˆ emica ser´ a punida at´ e o limite da autoridade do professor, incluindo mas n˜ ao limitado ` a nota zero na m´ edia final do curso para todos os envolvidos. Exemplos (n˜ ao exaustivos) de violac ¸ ˜ oes Cola e pl´ agio ¸ ˜ oes e c ´ Compartilhamento de solu c odigo (e.g., “dar uma olhada” no c´ odigo) ¸ ˜ Falsificac ao de dados e resultados N˜ ¸ ˜ ao violac oes Grupos de estudo Discuss ˜ ao de estrat ´ egias de implementa c ¸ ˜ ao, excluindo detalhes de c´ odigo 9 / 55

  10. Informac ¸ ˜ oes sobre a disciplina: Avaliac ¸ ˜ ao Como ir bem no curso (em ordem de importˆ ancia) Resolver os exerc´ ıcios de cada aula. 1 Ler os cap´ ıtulos do livro antes da aula correspondente. 2 Entregar soluc ¸ ˜ oes para testes dentro do prazo. 3 Fazer uma boa apresentac ¸ ˜ ao no semin´ ario. 4 Assistir ` as aulas. 5 10 / 55

  11. Informac ¸ ˜ oes sobre a disciplina: Estilo das Aulas Revis˜ ao breve da aula anterior. 1 Discuss˜ ao dos exerc´ ıcos da aula anterior. 2 Apresentac ¸ ˜ ao das perguntas para a aula. 3 Conte´ udo. 4 (em algumas aulas) Testes. 5 Participac ¸ ˜ ao Participac ¸ ˜ ao ser´ a ativamente encorajada na discuss˜ ao, revis˜ ao, e apresentac ¸ ˜ ao do conte´ udo. 11 / 55

  12. Informac ¸ ˜ oes sobre a disciplina: Exerc´ ıcios Defina e compare sistemas distribu´ ıdos e sistemas paralelos. 1 Qual ´ e o papel de um middleware em sistemas distribu´ ıdos? 2 Dˆ e exemplos e defina diferentes tipos de transparˆ encia de 3 distribuic ¸ ˜ ao. Qual ´ e a diferenc ¸a entre transparˆ encia de migrac ¸ ˜ ao e 4 transparˆ encia de relocac ¸ ˜ ao? Defina escalabilidade. Quais t´ ecnicas s˜ ao usadas para atingir 5 escalabilidade? Qual ´ e a diferenc ¸a entre replicac ¸ ˜ ao e caching? 6 A vis ˜ ao tradicional de transa c ¸ ˜ oes diz que quando uma transa c ¸ ˜ ao ´ e 7 abortada, ´ e como se a transa c ¸ ˜ ao nunca tivesse acontecido. D ˆ e um exemplo onde isto n˜ ao ´ e verdade. 12 / 55

  13. Introduction: What is a distributed system? Distributed System Definition A distributed system is a collection of autonomous computing elements that appears to its users as a single coherent system. Characteristic features Autonomous computing elements, also referred to as nodes, be they hardware devices or software processes. Single coherent system: users or applications perceive a single system ⇒ nodes need to collaborate. 13 / 55

  14. Introduction: What is a distributed system? Distributed System: Alternative Definition You know you have [a distributed system] when the crash of a computer you’ve never heard of stops you from getting any work done. -Leslie Lamport 14 / 55

  15. Introduction: What is a distributed system? Characteristic 1: Collection of autonomous computing elements Collection of autonomous nodes Independent behavior Each node is autonomous and will thus have its own notion of time: there is no global clock. Leads to fundamental synchronization and coordination problems. Collection of nodes How to manage group membership? How to know that you are indeed communicating with an authorized (non)member? 15 / 55

  16. Introduction: What is a distributed system? Characteristic 1: Collection of autonomous computing elements Organization Overlay network Each node in the collection communicates only with other nodes in the system, its neighbors. The set of neighbors may be dynamic, or may even be known only implicitly (i.e., requires a lookup). Overlay types Well-known example of overlay networks: peer-to-peer systems. Structured: each node has a well-defined set of neighbors with whom it can communicate (tree, ring). Unstructured: each node has references to randomly selected other nodes from the system. 16 / 55

  17. Introduction: What is a distributed system? Characteristic 2: Single coherent system Coherent system Essence The collection of nodes as a whole operates the same, no matter where, when, and how interaction between a user and the system takes place. Examples An end user cannot tell where a computation is taking place Where data is exactly stored should be irrelevant to an application If or not data has been replicated is completely hidden Keyword is distribution transparency The snag: partial failures It is inevitable that at any time only a part of the distributed system fails. Hiding partial failures and their recovery is often very difficult and in general impossible to hide. 17 / 55

  18. Introduction: What is a distributed system? Middleware and distributed systems Middleware: the OS of distributed systems Same interface everywhere Computer 1 Computer 2 Computer 3 Computer 4 Appl. A Application B Appl. C Distributed-system layer (middleware) Local OS 1 Local OS 2 Local OS 3 Local OS 4 Network What does it contain? Commonly used components and functions that need not be implemented by applications separately. 18 / 55

  19. Introduction: Design goals What do we want to achieve? Support sharing of resources Distribution transparency Openness Scalability 19 / 55

  20. Introduction: Design goals Supporting resource sharing Sharing resources Canonical examples Cloud-based shared storage and files Peer-to-peer assisted multimedia streaming Shared mail services (think of outsourced mail systems) Shared Web hosting (think of content distribution networks) Observation “The network is the computer” (quote from John Gage, then at Sun Microsystems) 20 / 55

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend