Distributed Systems |
CSCI 5105
- Spring 2021
|
Resources to Prepare for Online Learning |
Please see this website for a self-paced
online course Learning
Online 101 for about 2-4 hours of training materials for you to get
acquainted with the resources (such as Canvas, Zoom, Kaltura). |
Course Format |
All lectures will be through synchronous online remote mode using Zoom. Video recordings of all lectures would be posted on the Canvas course-page. Occasionally some lectures would be posted as prerecorded videos in case of any technical difficulties during the online synchronous presentations at the scheduled class times. |
Canvas Coursepage |
The Canvas coursepage for this course will be our primary channel for all communication and coordination of course activities and resources. The Canvas page will have lecture videos, lecture notes (pdf), quizzes, assignments, exams, work submission, grades and feedback, calendar for activities and scheduling of office hour meetings. |
Course Objectives |
Students will learn
foundations and principles of distributed systems. Through several
programming project, the students will
gain experience in designing and building distributed software
systems. The topics to be covered in this course include: · General concepts in distributed system designs: network communication protocols, client-server model, peer-to-peer systems, overlay networks. · Inter-process communication and coordination models - request-reply model, remote procedure call. TCP, Sun RPC and Java RMI programming models. · Process synchronization: physical clock synchronization using NTP, notion of logical clocks, event ordering, causality of events, and vector clocks. · Mutual exclusion protocols in distributed systems. · Fault tolerance using data/process replication. Group communication and broadcast models, reliable broadcast protocols. Consensus and agreement protocols. Byzantine failure model. · State Machine Model for replication management. · Data consistency models. · Scaling techniques – replication, partitioning, and hierarchical architectures. DNS architecture. CAP theorem. ·
Load balancing in distributed systems, examples of
techniques in web servers. Process migration in distributed systems. · Peer-to-peer systems: Gnutella, Napster, and Chord architecture. · Distributed file systems - NFS and Andrew file system architectures. · Security and protection – distributed authentication protocols. Kerberos design. |
Prerequisites |
This course requires that students have
basic understanding of operating system concepts and concurrent systems,
topics covered in CSci 5103 and CSci 4061. Understanding of basic concepts
from computer networks is helpful but not required. Students are expected to
have good understanding and proficiency in programming the Java language for
working on the programming assignments. |
Lecture: |
Tuesdays and Thursdays 4:00 -- 5:15 pm through Zoom |
Name: |
Anand Tripathi |
email: |
tripathi umn edu |
Phone: |
|
Office Hours: |
Mondays and Wednesdays: 2:00 am -- 3:00 pm using Zoom |
Teaching Assistant:
Name: |
Yuanli Wang |
email: |
wang8662 umn edu |
Office Hours: |
Tuesdays and Fridays 3:00– 4:00 pm through Zoom |
Office: |
Zoom meeting |
Phone: |
|
Title: |
Distributed Systems (Third Edition) ISBN: 978-15-430573-8-6 (printed
version) ISBN: 978-90-815406-2-9 (digital version) |
Author: |
Maarten Van Steen and Andrew Tanenbaum |
Publisher: |
Published
by Maarten van Steen |
This text is: |
Required |
Additional Papers and Resources |
I will post several technical papers to supplement the discussions of syllabus topics. The references page lists numerous online resources which you may find useful. |
Grading Policy |
This course will have 8
assignments, one midterm exam and one final exams. Three assignments will
involve significant programming project work. These programming assignments
can be done in a group of up to two students. Assignments and exams are weighted
as shown below. See the Assignments & Exams
page for specific weights for programming assignments. 75 % : Eight Assignments which will include
three programming projects using Java RMI and TCP. Your final grade will be
determined based on the scale shown below. |
Policies for Academic Integrity and Community Standards: |
You must be fully cognizant of the following policies
regarding academic integrity, community standards and scholastic dishonesty. Please see the website of the Office for Community Standards. Please familiarize
yourself with the Online Learning Expectations outlined by the Office for Community Standard.
These guidelines are stated below: §
Students
have the right to express themselves and participate freely in an online
class. §
Students
are expected to treat each other, instructor(s), and all other staff members
with courtesy and respect. §
Only
individuals registered and enrolled in a particular course may access the
course materials, lectures, group discussions, etc. in the online
environment, unless otherwise approved by the instructor. Links to course
materials, including video meetings, should not be shared with individuals
who are not enrolled in the course unless otherwise approved by the
instructor. §
Offensive
or inappropriate language or images should not be used in any form of
communication e.g., emails, discussion postings, group projects, and
submitted assignments. This includes background images and settings in Zoom
and other video platforms. §
The
discussion area of the course is reserved for postings related to course work
only. Postings of a personal or non-academic nature are not permitted and may
be removed by the instructor should they appear. §
Grades
and personal issues should be handled by private email or chat to the
instructor. §
Emails
or chats to the instructor that are considered offensive or inappropriate
will be sent back to the writer with a request to rewrite and resubmit. §
If
students receive inappropriate emails or chats from others in the class, they
should notify the instructor immediately.
All cases will be reported to the Office for Community Standards.
|
Makeup Work and
Legitimate Absences |
Students
will not be penalized for absence during the semester due to unavoidable or
legitimate circumstances. Such circumstances include verified illness,
participation in intercollegiate athletic events, subpoenas, jury duty,
military service, bereavement, and religious observances. Such circumstances
do not include voting in local, state, or national elections.. |
Appropriate Use of
Classnotes and Course Materials |
Taking
notes is a means of recording information but more importantly of personally
absorbing and integrating the educational experience. However, broadly
disseminating class notes beyond the classroom community or accepting
compensation for taking and distributing classroom notes undermines
instructor interests in their intellectual work product while not
substantially furthering instructor and student interests in effective
learning. Such actions violate shared norms and standards of the academic
community. |
Disability
Arrangements |
The
University of Minnesota is committed to providing equitable access to
learning opportunities for all students. Disability Services (DS) is the
campus office that collaborates with students who have disabilities to
provide and/or arrange reasonable accommodations. If you
have, or think you may have, a disability (e.g., mental health, attentional,
learning, chronic health, sensory, or physical), please contact DS at
612-626-1333 to arrange a confidential discussion regarding equitable access
and reasonable accommodations. If you
are registered with DS and have a current letter requesting reasonable
accommodations, please contact your instructor as early in the semester as
possible to discuss how the accommodations will be applied in the course. For more information, please see the DS
website, https://diversity.umn.edu/disability/. |
Sexual Harassment |
"Sexual
harassment" means unwelcome sexual advances, requests for sexual favors,
and/or other verbal or physical conduct of a sexual nature. Such conduct has
the purpose or effect of unreasonably interfering with an individual's work
or academic performance or creating an intimidating, hostile, or offensive
working or academic environment in any University activity or program. Such
behavior is not acceptable in the University setting. For additional
information, please consult Board of Regents Policy: Sexual
Harassment, Sexual Assault, Stalking and Relationship Violence. |
Mental Health and
Stress Management |
As
a student you may experience a range of issues that can cause barriers to
learning, such as strained relationships, increased anxiety, alcohol/drug
problems, feeling down, difficulty concentrating and/or lack of motivation.
These mental health concerns or stressful events may lead to diminished
academic performance and may reduce your ability to participate in daily
activities. University of Minnesota services are available to assist you. You
can learn more about the broad range of confidential mental health services
available on campus via the Student Mental Health Website: http://www.mentalhealth.umn.edu. |
Academic Freedom and
Responsibility |
Academic freedom is a cornerstone of the University. Within the scope and content of the course as defined by the instructor, it includes the freedom to discuss relevant matters in the classroom. Along with this freedom comes responsibility. Students are encouraged to develop the capacity for critical judgment and to engage in a sustained and independent search for truth. Students are free to take reasoned exception to the views offered in any course of study and to reserve judgment about matters of opinion, but they are responsible for learning the content of any course of study for which they are enrolled.* Reports of concerns about academic freedom are taken seriously, and there are individuals and offices available for help. Contact the instructor, the Department Chair, your adviser, the associate dean of the college, or the Vice Provost for Faculty and Academic Affairs in the Office of the Provost. [Customize with names and contact information as appropriate for the course/college/campus.] * Language adapted from the American Association of University Professors "Joint Statement on Rights and Freedoms of Students". |