Tuesday 26 February 2013

Distributed Systems

Distributed Systems

Instructor: Tom Anderson
Textbook: Reliable Distributed System by Kenneth Birman
Download Slides from here

·         Motivating Examples

  • Eric Brewer, Lessons from Giant Scale Services, IEEE Internet Computing, 2001. (pdf)

         Distributed Synchronization

  • Leslie Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, Vol. 21, No. 7 (July 1978), pp. 558-565. (pdf)

        Process Groups / Causal Ordering

  • Slides for this week (CSENetId-protected)

        Distributed Agreement

  • Slides for this week (CSENetId-protected)
  • Leslie Lamport, Part Time Parliament, ACM TOCS vol. 16, no. 2, 133-169. (pdf)
  • Leslie Lamport, Paxos Made Simple, ACM SIGACT News, 2001. (pdf)

        Programming Models: RPC, SOAP, web services, Grid, AJAX

·         Fault Tolerance

  • Slides:
  • Paxos (slide 24+) (pdf)
  • Paxos Wrapup (slides 1-8) (pdf)
  • State Machine Replication (pdf)
  • More State Machine Replication (pdf)
  • Byzantine Fault Tolerance (slides 135-167) (pdf)
  • Paxos Byzantine Fault Tolerance (pdf)
  • Lamport, Shostak and Pease. The Byzantine Generals Problem. ACM TOPLAS, July 1982. (pdf)
  • OPTIONAL: Lowell, Chandra, Chen. Exploring Failure Transparency and the Limits of Generic Recovery, OSDI 2000. (pdf)
  • OPTIONAL: Birman, Chapter 24
  •         Weakly Consistent Distributed Systems

    • Guest Lecturer: Arvind Krishnamurthy (his slides)
    • System. SOSP 1995. (pdf)

            Scalability and Peer to Peer

      • Kleinberg, Navigation in a Small World, Nature, 2000. (pdf)
      • OPTIONAL: T. Anderson, M. Dahlin, J. Neefe, D. Patterson, D. Roselli, and R. Wang. Serverless Network File Systems. ACM TOCS 1996. (pdf)

              Security and Robustness

        • Slides for this week: (ppt)
        • Lampson, Computer Security in the Real World, 2001. (pdf) (ppt)
        • Anderson et al., Design Considerations for Robust Internet Protocols, HotNets 2002. (pdf)

                Putting it all Together

        • Slides for this week:
      • Rowstron and Druschel, Storage Management and Caching in PAST, A Large Scale Peer-to-Peer Storage Utility, SOSP 2001. (pdf)
      • Adya et al., FARSITE: Federated, Available Reliable Storage for an Incompletely Trusted Environment, OSDI 2002. (pdf)
      • Ghemawat et al., The Google File System, SOSP 2003. (pdf)



      • Parallel And Distributed Programming PDF Slides

        Instructor: Thomas W.Deoppner
        Textbook: Foundations Of Multithreaded , parallel ,and Distributed Programming

        Overview of courseLN01
        Overview of distributed and parallel systems, applications, problems, ...A1,P1 LN02
        Introduction to distributed systems:
        -- Fundamental problems
        -- Fundamental architectures
        A2 LN03
        Multithreaded programming
        -- Threads
        -- Synchronization techniques
        A3-4 LN04
        Multithreaded programming
        -- Techniques
        -- Java threading model
        -- Applications
        A5-6 LN05
        Multiple process programming
        -- Sockets
        -- Messages
        -- Applications
        -- Client/Server models
        A7-8 LN06
        Multiple process programming
        -- RPC
        -- CORBA and DCOM models of RPC
        A9-10 LN07
        RMI
        -- Basic principles
        -- Techniques for using
        A11, RMI LN08
        Shared memory
        -- Unix model
        -- Shared objects (Aleph)
        TBD LN09
        Internet applicationsTBD LN10
        XMLTBD LN11
        JSP, .NET, JavaScriptTBD LN12
        Introduction to Parallel Computing
        -- Problems, differences, issues
        -- Parallel architectures
        -- NOW, SP
        P2, W1 LN13
        MPI
        -- Basic message
        -- Synchronization
        -- Our first MPI program
        P3, W2 LN14
        MPI
        -- Scatter/gather
        -- Broadcast messages
        -- Groups/contexts
        -- I/O
        P4-8 LN15
        Basic parallel programming algorithms
        -- sorting and searching
        P10, P14, W9, W12 LN16
        Basic parallel programming techniques
        -- Scan
        --Matrix algorithms
        W10.1-2 LN17
        Scientific computing
        -- Gaussian elimination
        -- LU decomposition
        W10.3-5 LN18
        Debugging parallel programsP9 LN19
        Performance measurement and tuningP11-12, W7 LN20
        Advanced parallel programming techniquesLN21

         

         Course Title: Distributed Systems and Advanced Distributed Systems
        Branch: Computer science and Engineering
        Author: Dr. Stephen W. Turner
        University: University of Michigan-Flint
        Download Slides here:

        Chapter1-up Format2-up Format4-up FormatSupplemental Material
        Chapter 1,
        Introduction
        ch01.pdfch01-2.pdfch01-4.pdf
        Chapter 2,
        Architectures
        ch02.pdfch02-2.pdfch02-4.pdfch02.zip
        Chapter 3,
        Processes
        ch03.pdfch03-2.pdfch03-4.pdf
        Chapter 4,
        Communication
        ch04.pdfch04-2.pdfch04-4.pdf
        Chapter 5,
        Naming
        ch05.pdfch05-2.pdfch05-4.pdf
        Chapter 6,
        Synchronization
        ch06.pdfch06-2.pdfch06-4.pdf
        Chapter 7,
        Consistency and Replication
        ch07.pdfch07-2.pdfch07-4.pdf
        Chapter 8,
        Fault Tolerance
        ch08.pdfch08-2.pdfch08-4.pdf
        Chapter 9,
        Security
        ch09.pdfch09-2.pdfch09-4.pdf
        Chapter 10,
        Distributed Object-Based Systems
        ch10.pdfch10-2.pdfch10-4.pdf
        Chapter 11,
        Distributed File Systems
        ch11.pdfch11-2.pdfch11-4.pdf
        Chapter 12,
        Distributed Web-Based Systems
        ch12.pdfch12-2.pdfch12-4.pdf
        Chapter 13,
        Distributed Coordination-Based Systems
        ch13.pdfch13-2.pdfch13-4.pdf



         

        Distributed Systems
        taught by Dr. Ken Williams
        Text Book:
        The textbook for COMP750 Distributed Systems is “Distributed Systems: Principles and Paradigms” by Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2002,
        ISBN: 0-13-088893-1
        WSDL example
        Solutions to concurrent programming problems
        Notes
        Slides Introducing Distributed Systems printable version
        Slides on Threads printable version
        Slides on Thread Creation printable version
        Slides on Thread Interaction printable version
        Slides on Concurrent Programming patterns printable version
        Slides on Deadlocks printable version
        Slides on the Message Passing Interface printable version
        Slides on Network Overview printable version
        Slides on Client Server paradigm printable version
        Slides on Remote Procedure Calls printable version
        Slides on XML printable version
        Slides on Synchronization printable version
        Slides on Distributed Mutual Exclusion printable version
        Slides on Leader Election printable version
        Slides on Transactions printable version
        Slides on the C# language printable version
        Slides on WSDL printable version
        Slides on .NET Remoting printable version
        Slides on Web Services printable version
        Notes on Web Technology
        Slides on Web Technology
        Notes on Socket Programming printable version
        Slides on Security printable version
        Slides on Kerberos printable version
        Examples and Downloads
        A simple .NET application
        A simple two process distributed mutual exclusion algorithm
        A free implementation of MPI is available at http://www-unix.mcs.anl.gov/~ashton/mpich.nt/
        Source code for example client and server programs:All of these programs have the same functionality and are interchangeable. The client program sends a message to the server which responds by sending a message back to the client. Both programs then terminate.
        client and server from chapter 30 of "Computer Networks and Internets" by D. Comer., ISBN 0-13-143351-2
        client and server in C using TCP by Dr. Williams
        client for Windows and client for Unix in C++ using TCP by Dr. Williams
        client and server in C using UDP by Dr. Williams
        client and server in Java using UDP by Dr. Williams
        CSP examples
        Dr. Xu's slides on Distributed Simulation
        A User s Guide to MPI by Peter S. Pacheco of the Department of Mathematics University of San Francisco

         

        Distributed Systems II

        Download Slides:
        Lecture 1: Introduction. Slides: pptx
        Lecture 2: Fault-Tolerant Broadcasting. Slides: ppt
        Assignment Lecture 1: Introduction to lab 1. Slides: ppt pdf
        Lecture 3: Broadcasting, Replication part 1. Slides: pptx
        Lecture 4: Replication part 2. Slides: pptx. On view synchronous group communication: pdf
        Lecture 5: Replication part 3, Quorum Consensus. Slides: pptx
        Assignment Lecture 2: Introduction to lab 2. Slides: ppt pdf
        Lecture 6: Denial of Service attacks. Slides: pptx
        Lecture 7: Distributed Transactions. Slides: pptx
        Lecture 8: Byzantine agreement ppt
        Lecture 9: Distributed Algorithms pdf, Extra reading material on Byzantine agreement pdf
        Assignment Lecture 4: Introduction to TinyOS (Selected slides from Turgay Korkmaz) ppt and presentation of lab 3 ppt
        Lecture 10: Routing in sensor networks (Selected slides from Roger Watterhofer): ppt
        Lecture 11: Mutual Exclusion and Resource Allocation. Dining Philosophers. Slides: pdf
        Lecture 12: Generalization of the Dining Philosophers. Slides: pdf
        Lecture 13: Drinking Philosophers and Efficient Resource Allication. Slides: pdf
        Lecture 14: Efficient Resource Allication Continued. Slides: pptx

        No comments:

        Post a Comment