CS455: Introduction to Distributed Systems

csu-logo
red-line
[Schedule] [Assignments] [Infospaces] [Grading] [Syllabus]

[Canvas]

[Announcements] [Home]

Schedule

Last updated on Monday, January 17, 2022 10:43 AM
Professor Lecture Coordinates
 

Shrideep Pallickara
Office: Room 364, CS Building
Office Hours:
9:00-10:00 am Friday
E-mail: compsci_cs455 {aT} colostate.edu
(with the obvious change)
Tel: 970.492.4209

 

MW (9:00 - 10:15 AM)
Computer Science Building, Room-130

GTA Office Hours
Shiekh Mannan
Office Hours in CSB 120:
2:00-4:00 pm Monday
2:00-4:00 pm Wednesday
E-mail: compsci_cs455 {aT} colostate.edu



Undergraduate Teaching Assistant
JeanMarc Ruffalo-Burgat
E-mail: compsci_cs455 {aT} colostate.edu

Readings will be based on the following textbooks.

[TvS] Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum and Maarten van Steen. 3nd Edition. Createspace, ISBN 9781530281756.
[CDKB]
Distributed Systems: Concepts and Design. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. 5th Edition. Addison Wesley. ISBN: 978-0132143011
[KS] Distributed Computing: Principles, Algorithms, and Systems. Ajay Kshemkalyani and Mukesh Singhal. 1st edition. Cambridge University Press. ISBN: 0521876346/ 978-0521876346.
[GPB] Java Concurrency in Practice. Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea. Addison-Wesley Professional. ISBN: 0321349601/978-0321349606.
[OW] Java Threads. Scott Oaks and Henry Wong. . 3rd Edition. O’Reilly Press. ISBN: 0-596-00782-5/978-0-596-00782-9
[TW] Hadoop: The Definitive Guide. Tom White. 3rd Edition. Early Access Release. O’Reilly Press. ISBN: 978-1-449-31152-0.
[KKWZ] Learning Spark: Lightning-Fast Big Data Analysis. 1st Edition. Holden Karau, Andy Konwinski, Patrick Wendell, and Matei Zaharia. O'Reilly. 2015. ISBN-13: 978- 1449358624.
[KW] High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark. Holden Karau and Rachel Warren. O'Reilly Media. 2017. ISBN-13: 978-1491943205.
[NL] Distributed Algorithms. Nancy Lynch. 1st edition. Morgan Kaufman. ISBN: 1558603484/978-1558603486.
[GR] Cloud Application Architectures: Building Applications and Infrastructure in the Cloud. George Reese.1st edition. O'Reilly. ISBN: 0596156367/978-0596156367.
[PD] Computer Networks: A Systems Approach. Larry Peterson and Bruce Davie. 4th edition. Morgan Kaufmann. ISBN: 978-0-12-370548-8.
[FS] Practical Cryptography. Niels Ferguson and Bruce Schneier. 1st edition. Wiley Publishing. ISBN: 0-471-22894-X/0-471-22357-3.
[WS] Cryptography and Network Security: Principles and Practice. William Stallings. 5th Edition. Prentice Hall. ISBN: 0136097049/978-0136097044
[RR] Unix Systems Programming. Kay Robbins & Steve Robbins, 2nd edition. Prentice Hall. ISBN: 978-0-13-042411-2.
[SGG] Operating Systems Concepts. Avi Silberschatz, Peter Galvin, Greg Gagne. 8th edition. John Wiley & Sons, Inc. ISBN-13: 978-0-470-12872-5.

 

Week Date Topic Assignments Readings
1 Jan 17-21

Introduction
Course logistics, overview, list of topics to be covered, and overview of distributed systems.


Networking and Communications
Data encoding formats, delay-bandwidth product, switched networks, internetworking, layering of protocols, encapsulation, fragmentation and routing of packets, IPv4/IPv6, UDP, TCP and sliding windows, and TCP optimizations.







HW1-PC 1/21


[TvS] Ch {1}
[PD] Ch {1, 2}
2 Jan 24-28




[PD] Ch {3, 5}
[TvS] Ch {4}
3 Jan 31- Feb 04 Threads: Threads vs processes, thread lifecycle, stacks and heaps, creation and management of threads, data synchronization, race conditions, intrinsic locks and reentracy.





HW2-PC 2/5
[OW] Ch {1, 2}
[SGG] Ch {4}

4 Feb 7-11


Thread Safety: Compound actions, sharing objects and confinement, multivariable invariants and thread-safety, making a class thread-safe, multivariable invariants, adding functionality to a thread-safe class, synchronized & concurrent collections, and locking strategies.



  [OW] Ch {3,4}

5 Feb 14-18




HW1-PC due 2/19

HW1-WC 2/18

HW1-WC due 2/21

[GPB] Ch {5, 11}

6 Feb 21-25 Programming models for Cloud Computing: MapReduce Comparison with RDBMS, HPC, Grid computing and volunteeer computing, core architectural framework, pushing computations to the data, Map and Reduce functions, orchestration of tasks, partitioning functions, refinements, and combiner functions.








[TW] Ch {1, 2}
[MapReduce-Paper]
7 Feb 28-Mar 03 Hadoop: The Hadoop ecosystem, developing MapReduce programs using Hadoop, job configuration and submission, MapReduce data flow, combiner functions and requirements for combiners, tasks and split strategies, YARN and MapReduce Runtimes.








Midterm 03/05
[MapReduce-Paper]
[TW] Ch {1, 2}


8 Mar 07-10
Midterm 03/07



Hadoop Distributed File System
Types of nodes, metadata management, namespaces, federation, high-availability, replication and dispersion of replicas, staging of data, reading and writing files.




HW2-PC due 03/11

HW2-WC 03/11

HW3-PC 03/13

HW2-WC due 03/15

[TW] Ch {3, 4}

Midterm 03/06
March 13-20: Spring Break
March 31: Last day for drop with W

9 Mar 21-25


Spark: Software stack, interactive shells in Spark, core Spark concepts, Resilient Distributed Datasets (RDDs), lazy evaluations, Operations:transformations & actions, Pair RDDs, dependencies and transformations, and partitioning schemes.



Term-Project (TP) 03/24
[TW] Ch {4, 6}
[KKWZ] Chap {1-4}
10 Mar 28 - Apr 01


TP-DO due 04/01
[KKWZ] Chap {1-4}
[KW] Chap {6}
11 Apr 04-08
Spark Streaming: Architecture and abstractions, execution, stateful and stateless transformations, windowed operations, and performance considerations.




Distributed Mutual Exclusion
Distributed coordination, conditions requirements for distributed mutual exclusion, token-based and permission-based approaches, Central-Server algorithm, Ricarat and Agarwala's algorithm, Maekawa's algorithm and voting sets.





TP-D1 due 04/10
[TvS] Ch {6}
[CDKB] Ch {15}
12 Apr 11-15




Election Algorithms
Election Algorithms: Requirements, performance of algorithms, ring-based algorithm, failure detectors, Garcia-Molina Bully Algorithm, and elections in wireless environments.




HW3-PC due 04/15

HW3-WC 04/15

HW3-WC due 04/17

[TvS] Ch {6}
[CDKB] Ch {15}
[KS] Ch {9}

13 Apr 18-22

Architectures & Topologies
Architectural styles for designing systems including layered, objects, data, and event based. Role of topologies in systems design and their implications on throughput, scaling, fault tolerance and resiliency, and latencies.




[TvS] Ch {6}
[CDKB] Ch {15}
[KS] Ch {9}

[TvS] Ch {2}
14 Apr 25-29
File Systems and Network Storage

UFS and inodes, naming, replication, semantics of file sharing, Network File System, and the Andrew File System.


TP due 04/29

TP-Pres due 05/01



[SGG] Ch {10, 11}
[RR] Ch {5,6}
15 May 02-06 Term Project Presentation Guidelines

Presentations Week. Slides (and video) available in Canvas.






Wednesday, May 12: Final administered via Canvas
May 18: Letter Grades will be posted

 

 

 


 


Department of Computer Science, Colorado State University,
Fort Collins, CO 80523 USA
© 2022 Colorado State University