CS 403/534 Distributed Systems

Spring Term 2020
Computer Science
Sabanci University



Textbook

Andrew S. Tanenbaum and Maarten van Steen. Distributed Systems , Published by Maarten van Steen, Edition 3.01 2017. ISBN: 978-15-430573-8-6 (printed version ) and 978-90-815406-2-9 (online version).

Other Resources

·         George Cloulouris, Jean Dollimore, and Tim Kindberg. Distributed Systems: Concepts and Design, 5th Edition, Addison Wesley, 2011, ISBN: 978-0-13-214301-1.

·         Sukumar Ghosh, Distributed Systems: An Algorithmic Approach, Second Edition, Chapman & Hall /CRC, Computer and Information Science Series, 2014, ISBN 978-1466552975.

 


Time & Place

  • Tuesday 11:40 – 13:30, FENS G029
  • Wednesday 10:40 – 11:30, FENS L062
  • Tuesday 16:40 – 18:30, FENS G029 (Lab/Recitation Session)

Office Hours

Tuesday 14:40 – 16:30, FENS 1098

Or by appointment (send an e-mail erkays@sabanciuniv.edu)


Teaching Assistant

  • Seyma Selcen Magara, FENS 2014
  • Tolun Tosun, FENS 2014

  • Motivation

    The main objective of this course is to study the fundamentals of distributed systems. It focuses on the layer of software that needs to be built on top of computer networks to enable the development of distributed applications.

    Topics

    • Introduction Definitions, Design goals, Types of distrib uted systems
    • Architectures Archtectural styles, Middleware organizations, System architecture, Example architectures
    • Processes Threads, Virtualization, Clients, Servers, Code migration
    • Communication Foundations, Remote Procedure Call (RPC), Message-Oriented communication, Multicast communication
    • Naming Names/identifiers/addresses, Flat naming, Strcutured naming, Attribute-based naming
    • Coordination Clock synchronization, Logical clocks, Mutual exclusion, Election algorithms, Location systems, Distributed event matching, Gossip-based coordination
    • Consistency and Replication Data-centric consistency models, Client-centric consistency models, Replica management, Consistency Protocols, Examples
    • Fault Tolerance Process resilience, Reliable client-server communication, Reliable group communication, Consensus algorithms, Distributed commit, Recovery
    • Security Secure channels, Access control, Secure naming, Security management

    Homework/Lab Assignments

    Homework assignments and their solutions will be posted through SUCourse. Handwritten assignments are not acceptable.


    Course Materials

    Course materials such as presentation slides and handouts will be available through SUCourse.


    Tentative grading

    • Midterm: 30%
    • Final: 35%
    • HW Assignments 15%  
    • Project: 15%
    • Participation & Quiz: 5%

    Important Dates

    • Midterm Exam: 24 March 2020 @16:40-18:30, FENS G029)
    • Final: As scheduled by the student office

    Homework Assignments
    It is an integral part of the course to implement the distributed systems concepts and ideas in a computer language. You will be asked to do coding in homework assignments in Python programming language. You will not be assumed to be an excellent Programmer. Even though teaching Python is not within the scope of this course, the teaching assistant who is an experienced Python programmer will help you in your assignments and prepare a crash course in Python if necessary.
     
    CS 403 Class Projects
    In addition to homework assignments, undergraduate students are required to work on a big development project. In addition to homework assignments, undergraduate students are required to work on a big development project. Students may propose a project topic subject to the instructor’s approval. Otherwise, students will work on the project offered by the instructor. Students may work in groups for the class projects and each group must provide a demonstration of its work.

    CS 534 Research and development projects
    Graduate students may propose a project topic, which requires both research and development and subject to the instructor’s approval. They will be assisted in choosing the project topics if necessary. Students may work in groups. Student’s proposals are subject to instructor’s approval. It is essential for students to meet time schedule of the projects. Students may work in groups for the class projects and each group must provide both presentation and demonstration of its work.


    Prerequisites

    CS 307 (Minimum Grade: D)
     

    Dr. Erkay Savas