Distributed Computing Systems

Spring 2016

General Course Information:

Instructor: Lakshmish Ramaswamy (laks[AT]cs[dot]uga[dot]edu, 706-542-2737)
 
Time and Venue: Tuesdays & Thursdays - 11:00 AM to 12:15 PM (GSRC 306); Mondays - 11:15 AM to 12:05 PM (GSRC 306)
 
Office Hours (tentative): Tuesday and Thursdays - 3:30 PM to 4:30 PM (GSRC 542) and by appointment

TA: TBA

TA Office Hours: TBA

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 Date: February 5, 11:59 PM.
Project 2 -- Due Date: February 26, 11:59 PM.
Project 3 -- Due Date: March 25, 11:59 PM (tentative)
Project 4  -- Due Date: April 15, 11:59 PM (tentative)

Presentation Topics for Graduate Students 

Each presentation is around 20 mins + 5 mins for QA
  1. PThreads --  (01/24)
  2. Java Threads -- (01/24)
  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