Distributed Computing Systems

Spring 2017

General Course Information:

Instructor: Lakshmish Ramaswamy (laks[AT]cs[dot]uga[dot]edu, 706-542-2737)
 
Time and Venue: Tuesdays & Thursdays - 12:30 PM to 1:45 PM (Hardman 101); Wednesdays - 12:20 PM to 1:10 PM (Miller Plant Sciences 1102)
 
Office Hours (tentative): Tuesday and Thursdays - 11:30 AM to 12:30 PM (GSRC 542) and by appointment

TA: Navid Hashemi Tonekaboni (navidht[AT]uga[dot]edu)

TA Office Hours: Tuesdays - 10:00 AM to 11:00 AM and Wednesdays 4:00 PM to 5:00 PM (Boyd 307).

Course Description:

The area of distributed computing has seen tremendous developments in the past few years, and distributed systems have become widely pervasive. Today's distributed systems range from ad-hoc networks comprising of mobile devices, to overlay networks such as peer-to-peer systems, to massive web farms of powerful servers.The objective of the course is to gain an in-depth knowledge of the fundamental concepts in distributed systems and to understand the practical techniques for building distributed systems and applications.

Course Materials:

Textbook:

Grading Policy

Programing Projects
45%
Midterm Exam
20%
Final Exam
25%
Homework/Tech Topic Presentation
5%
Class participation
5%

Slides:

Will be available on ELC.

Programming Projects

Project 1 -- Due on 02/17/2017, 11:59 PM
Project 2 -- Due Date: 03/17/2017 11:59 PM.

Presentation Topics for Graduate Students 

Each presentation is around 20 mins + 5 mins for QA
  1. PThreads -- 
  2. Java Threads --
  3. DNS --
  4. Java RMI --
  5. Consistent Hashing (also materials from textbook) --
  6. Bloom Filters --
  7. NFS  --
  8. HTTP Components --
  9. XML --
  10. SOAP --
  11. JSON --
  12. WSDL --
  13. HDFS --
  14. Hadoop --
  15. HBase/Bigtable --
  16. Cassandra --
  17. Apache Spark --
  18. MongoDB
  19. Hypervisors --
  20. Cloud Computing --

Homeworks for Undergraduate Students (Please contact the TA for signing up).

X/Y below indicates the Yth problem in the Xth Chapter of the Tanenabum & van Steen  textbook (2nd Edition)

1/2, 1/5, 1/6, 1/8, 1/9, 2/2, 2/4, 2/10, 3/2, 3/4, 3/5, 3/14, 5/2, 5/3, 5/11, 5/12, 5/13, 5/16, 5/17, 6/2, 6/5, 6/14 .  

Related and Interesting Resources