MCS721 Logo Loading... (19954 bytes)

Instructor

Dr. Brian Mitchell
Drexel: (215)895-2668
Daytime: (215)761-6618
Office: Korman 215
e-mail: bmitchel@mcs.drexel.edu
Class Web Page: http://www.mcs.drexel.edu/~bmitchel/course/mcs721/mcs721.html

Important Notices

See current class notices for MCS721 - Distributed Systems

View the Current Presentation Schedule

PLEASE SEE THE ABOVE LINK FOR IMPORTANT NOTICES!!!!

Course Description

In this course we will investigate interesting distributed systems concepts with emphasis on distributed operating systems and distributed computer architectures.   This course will be conducted using online class notes and research papers that are relevant to the core course topics.  Course topics include: distributed systems, distributed systems architectures, distributed shared memory, cache coherence, distributed synchronization, distributed file systems, fault tolerance, reliability and availability.

We will use the Java programming language to investigate important Distributed Systems algorithms and concepts. Java is an ideal language for distributed systems studies because of its availability on multiple platforms, its cost (a free Java environment can be obtained here), and its support for distributed programming.  I conducted a Java tutorial in MCS720 (Operating Systems) - you can obtain the notes from this lecture here

Intended Audience

This course is intended primarily for graduate students in Software Engineering and Computer Science. Graduate students in other programs may take this course if they see me in advance about their qualifications.  Before taking this course, students should have taken MCS720 (Operating Systems) and be proficient in an object-oriented programming language such as Java or C++.  Students lacking such a background should talk to me as early as possible to ensure success in this course.

Research

This course will include coverage of several research papers relevant to distributed systems.  Students will be expected to read the provided papers and participate in class discussions.  Every effort will be made to provide online copies of the research papers.  However, you may be required to go to the library to photocopy a copy of a research paper if no online copy is available.  

Class Meeting Times

MCS721 will meet from 6:00 - 9:00 PM on Tuesday evenings. Office hours are by appointment or immediately before class. 

Course Topics

Note that there is no correlation between a topic and a lecture.  Multiple topics may be covered in a single lecture while some topics may require multiple lectures.

Topic Description
1 Introduction to Distributed Systems [4-slides per page version]
2 Data Communications (protocols, topology)  Case Studies:  IP (TCP/IP, UDP/IP, IPv6), Socket Programming, Remote Procedure Calls
3 Distributed Syncronization; Research Paper:  Logical Time:  A Way to Capture Causality in Distributed Systems
4 Group Communications
5 Scalability, Fault Tolerance, Reliability & Availability
6 Distributed System Architectures (emphasis on MIMD)
7 Distributed Shared Memory
8 Cache Coherence
9 Distributed File Systems

You may use the above links to obtain an on-line copy of the lecture notes.  Selected lecture notes are provided in Adobe Acrobat format.  Adobe Acrobat Reader is a free viewer for Adobe PDF files. A copy can be downloaded from here:

getacro.gif (712 bytes)

Assignments

There will be two major deliverables in this course:

  1. Selection and presentation of a research paper related to a specified operating system topic.   
    ===> READ ABOUT THIS ASSIGNMENT
  2. A term programming project
    ===> READ ABOUT THE TERM PROJECT

Homework's will involve reading the scheduled papers and being prepared to participate in discussions about the research papers.

Here are some helpful links that may be of use to you for this course.

Textbooks

The is no required textbook for this class.  Online class notes will be provided for you to download prior to each class.  A good book that you might want to consider purchasing for this class is:

All material covered in this class including research papers will be referenced.

Grading

Term Project:  85%
Research Paper Presentation: 15%

* The date of the midterm will be announced in class at least 2 weeks prior to the date of the exam

Policies

All homework and programming assignments are individual efforts, unless specifically stated otherwise in the assignment definition. You may use your colleagues for advice, however, all assignments must be your original work.  Late assignments will be penalized 10% per week. Any assignment not submitted within 2 weeks of the deadline will not be accepted unless you work out special arrangements with me.

I will provide at least two weeks notice for the midterm exam.  Every effort should be made to attend the scheduled exams, however, there are times when this may not be possible due to sickness or business travel.  In the event that you can not attend the midterm or final, please let me know in advance so that I can make arrangements for you to take the test early.  If you are unable to provide sufficient notice, then the makeup exam will take the form of an oral exam or a take-home test.


Return to my home page