Search This Blog

Software Systems

Software Systems

Instructor: Insup Lee 

Textbooks and Reading Material

  • Distributed Systems: Principles and Paradigms, Second Edition by Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2007.
  • Communicating Sequential Processes by Tony Hoare, Prentice Hall, 1985. (Free online copy available from www.usingcsp.com/)
  • The Poor Man's Guide to Computer Networks and their Applications by Robin Sharp, April 2004. 

  • Course Description

    Ever increasing availability of processors connected by a communication network has motivated the development of numerous concepts and paradigms for distributed systems. The primary objectives of this course are to study the principles and concepts of distributed computing and to allow students to experience the development of software for distributed systems. The students will learn about the nature of distributed systems including problems, solutions and limitations, as well as theoretical foundations for the design and implementation of distributed software systems. Topics to be covered include communication, concurrency, programming paradigms, naming, managing shared state, caching, synchronization, reaching agreement, fault tolerance, security, middleware, real-time embedded systems, and applications. 
     
    Download Lectures
    Date Lectures Reading
    Jan 8 • System Calls and Signals [ announcements , pdf ] [THE] [UNIX] [UNIX History]
    Jan 10 • Processes and Threads [ pdf] Chap 3.1, 3.2, 3.3
    Jan 15 No Class : MLK Day
    Jan 17 • CPU Scheduling, Homework 1 Due [ pdf]
    Jan 21 • RT Scheduling [ lecture notes, LIU73 78HOA , 74HOA ]
    Jan 24 • Semaphores, Monitors [ pdf]
    Jan 29 • CSP [ Slides ] CSP book chapters 1 and 2
    Jan 31 • Homework 2 Due CSP book chapters 1 and 2
    Feb 5 • Intro to Distributed Systems, Homework 3 Due [ Notes ] Chapter 1 of textbook
    Feb 7 • Architectures of Dist. Sys. Homework 4 Out [ Notes ] Chapter 2
    Feb 12 • Processes, Clients, Servers [ Notes ] Chapter 3
    Feb 14 • Cancelled Chapter 4
    Feb 19 • RPC [ RPC Slides ]
    Feb 21 • Naming [ Notes ] Chapter 5
    Feb 23 • Homework 4 Due, 5 PM
    Feb 26 • Naming and Physical Clocks [ Naming / DNS] [ Physical Clock] Chapter 6
    Feb 28 • Logical Clocks [ Logical Clock ] Chapter 6
    Mar 5 • Spring Break
    Mar 7 • Spring Break
    Mar 12 • Synchronization [ Synchronization ] Chapter 6
    Mar 14 • Synchronization Continued
    Mar 16 • Homework 5 Due
    Mar 19 • Midterm Exam
    Mar 21 • Consistency and Replication [ Consistency ] [ Replication ] Chapter 7
    Mar 26 • Coherence [ Notes ] Chapter 7
    Mar 28 • Consensus [ Notes ] Chapter 8
    Apr 2 • Multicast [ Notes ] Chapter 8
    Apr 4 • Class Cancelled
    Apr 9 • Generic Entity Resolution in Levine 101 [ Description ]
    Apr 11 • Chapter 8 continued
    Apr 16 • Security [ Notes ] Chapter 9
    Apr 18 • Basic Cryptography [ Notes ] Chapter 9