Skip to main content
User Image

Achraf El Allali

Assistant Professor

Faculty

علوم الحاسب والمعلومات
Building 31, 2nd floor, room 2119
course

CSC 456: Distributed Systems

Course Objective:

Understanding the main characteristics of distributed systems and the various design choices required for building a distributed system such as: the architectural models varying from client/server to peer-to-peer, grid-computing; the communication models varying from client-pull (RPC/RMI, Message Queuing, …) to server-push models (publish-subscribe, …); the synchronization techniques based on system clock, on logical clock(timestamp) and on token ring; the communication standards such as RPC, RMI, Corba and SOAP.

Grading Policy:

Midterm 1      20%
Midterm 2      20%
Final Exam    40%
Project           20%

Tentative Schedule:

Week  Topic                                      Course Materials Assignments
Week 1-2
  • Definition of a distribute system (DS)
  • Main charachterisitics of a DS.
  • Main properties of a DS
  • Quality of DS
     

       Introduction

 

 Tutorial
Week 3-4
  • Architectural models
  • Generations of archterctural models
  • Main architectural models
  • Communication models
  • Main communication models
  • Coupling/Decoupling dimensions
        Chapter 2: Models 
        Architectural Models
Tutorial
Week 5-6
  • Architecture of RPC
  • Passing parameter with RPC
  • rpcgen
  • Client/Server with RPC
        Remote Procedure Call

        RPC

        RPC demo

Tutorial
Week 7      Common Object Request Broker Architecture       CORBA 
      CORBA demo
Tutorial
                                                     Mid Term 1 Exam: Wednesday April 9, 2014 at 4pm  (Past Exams)
Week 9-11
  • Remote Meth
  • od Invocation (RMI)
  • Remote and local objects
  • Passing parameter in RMI
  • Client/Server with RMI
  • Serialization
  • Discovering available servers
  • Distributed systems with RMI
Chapter 4: Remote Method Invocation: RMI Tutorial
Week 12-13
  • CPU clocks
  • CPU clock based Synchronization algorithms
  • Logical clock: definition and properties
  • Timestap based Synchronization techniques
Chapter 5: Synchronization  
                                                            Mid Term 2 Exam: Sunday May 11, 2014 at 4pm (past exams)
Week 14,15
  •  Parallel Programming
  • Project Presentation
   
Final Exam
 

Project:

Textbook:

  • Distributed Systems: Concepts and Design by G. Coulouris, J. Dollimore and T. Kindberg. 5th Edition
course attachements