Recent Changes - Search:

Distributed Computing

This website demonstrates using wikis as teaching and learning tool.

The course instructor is also happy to share the teaching materials here with those who find it readable.

Course Revision Two

A Distributed Computing Lecture by Steven Choy

Lecture Overview: We use this lecture for tutoring purpose. We review and discuss the main topics you learned in the second semester.


Final Examination

  • May 6, 2009, 09:30-12:30
  • 3-hours, closed-book, written examination
     3 hours, 100 marks
     180 minutes, 100 marks
     1.8 minutes per mark
     ~35 minutes to do one question
  • Part A - Answer 3 out of 4 optional questions, amount to 60 marks
  • Part B - Answer 2 out of 3 optional questions, amount to 40 marks
  • Do not bring calculator and dictionary

Scope of Examination

  • Distributed File Systems
  • Time and ordering, multicast group communications
  • Transactions and concurrency control methods
  • Distributed systems and distributed computing
  • Web Services, XML and the related technologies
  • Java network programming
  • Distributed objects - RMI, CORBA, and Java EE

Main topics you learned in the first semester

Go to Course Revision One

  • Introduction to Distributed Systems
  • Networking Basics
  • Java Client-Server Networking
  • Java Datagram and Multicast Networking
  • Java RMI
  • Distributed Object Computing - CORBA
  • Web Services and SOA
  • Java Enterprise Computing
  • Java and XML

Distributed File Systems - Part One

Go to the Lecture Note

  • Design requirements, issues and characteristics in distributed file systems
  • Access Transparency
  • Location Transparency
  • Location Independence
  • Stateful vs. Stateless Services
  • Client Caching - Cache Location, Cache Update Policy, Cache Consistency
  • File Replication
  • Examples of distributed file systems

Distributed File Systems - Part Two

Go to the Lecture Note

  • Network File System
    • NFS Architecture
    • Stateless protocol
    • The functions of NFS VFS (Virtual File System)
  • Andrew File System
    • AFS Architecture
    • The functions of Vice and Venus
    • Whole file caching and whole file serving
    • How to maintain the cache consistency

Distributed File Systems - Part Three

Go to the Lecture Note

  • SMB and Samba
  • Discuss and compare NFS (Network File System) and AFS (Andrew File System) in terms of the following:
    • Access Transparency
    • Location Transparency
    • Scability
    • Client Caching
    • Client Cache Location
    • Cache Consistency Protocol
    • Cache Update Policy
    • Stateful vs. Stateless
    • File Replication (Server-side Cache)
    • Security

Time in Distributed Systems

Go to the Lecture Note

  • Synchronizing physical clocks
  • external synchronization and internal synchronization
    • Can you define them? Can you compare them?
  • Specific Algorithms
    • Cristians algorithm
    • The Berkeley algorithm.
    • Network time protocol (NTP)
  • Logical Clock and Vector Clock
  • Lamport timestamps
  • Vector timestamps
  • Describe advantages and disadvantages of vector timestamps as compared with Lamport timestamps.

Multicast and Group Communications

Go to the Lecture Note

  • There are six important issues that need to be addressed in the design of group communication within a distributed system. Can you explain them?
  • Reliable and Unreliable Multicast
  • There are four possible orderings in multicast group communication. What are they? Can you use a few sentence to define each of them.
  • Practical questions on multicast message ordering: FIFO, causal ordering, total ordering
  • Implementing Causal Ordering
  • Java Multicast API
  • Applications of multicast group communications in distributed systems

Transactions

Go to the Lecture Note

  • Fundamental characteristics of an atomic transaction
    • A - Atomicity
    • C - Consistency
    • I - Isolation
    • D - Durability
  • Problems due to uncontrolled and concurrent execution of transactions
    • The Lost Update Problem
    • The Incorrect Summary Problem
    • The Temporary Update Problem
  • Transaction serializabilty
  • Serially Equivalent and Conflicting Operations
    • What does it means when we say a pair of transaction operations conflict to each other?
    • What is serial equivalence?
    • Can you define serial equivalence in terms of conflicting operations?

Concurrency Control Algorithms and Deadlocks in Distributed Systems

Go to the Lecture Note

  • The three methods of controlling concurrent execution of transactions
  • Two Phase Locking
    • Advantages and disadvantages
    • Can you handle practical questions about two-phase locking?
  • Optimistic Concurrent Control (OCC)
    • Concepts
    • Backward validation
    • Forward validation
    • Advantages and disadvantages
    • Can you handle practical questions about OCC?
  • Timestamp Ordering
    • Concepts
    • Advantages and disadvantages
  • Comparison of the three concurrency control methods
  • Deadlocks in Distributed Systems
  • Deadlock Detection Methods
  • Deadlock Prevention Methods
    • Wait-die
    • Wound-Wait
  • Deadlock avoidance
    • Difference between Deadlock avoidance and Deadlock Prevention Methods

Distributed Computing Paradigms

Go to the Lecture Note

  • Messaging System Paradigm
    • The Publish/Subscribe Message Model
    • Advantages of messaging system model over the simple message passing system
  • The Remote Procedure Call Paradigm (RPC)
  • The Distributed Objects Paradigms
  • The Object Space Paradigm
  • The Mobile Agent paradigm
  • The Web Services and Service Oriented Architecture (SOA)
  • The Grid Computing Paradigm
    • What is grid computing?
    • What are the goals and benefits of grid computing?

Thanks for Reading

If you would rather like to have this lecture note in printed format, please click the print action link in the top right corner.

If you find any problem in this lecture note, please feel free to reach Steven by steven@findaway.hk

Edit - History - Print - Recent Changes - Search
Page last modified on April 01, 2009, at 08:27 AM