IS 651: Distributed Systems Sisi Duan Assistant Professor Information Systems sduan@umbc.edu
Distributed Systems From Wiki A distributed system is a model in which components located on networked computers communicate and coordinate their actions by passing messages. A growing number of real systems are distributed Web Distributed file systems: GFS, NFS, Zookeeper… Distributed databases: MySQL Cloud Blockchain …
This Course… Overview of distributed systems Programming Basic concepts and principles of distributed systems Real-world systems and techniques By the end of the course, you will have a good technical understanding of most distributed system related concepts Programming Basic level Python XML, Javascript, etc.
Why Distributed Systems? A trending area Cloud, Blockchain, Big data, GPU… Useful for both researchers and engineers Useful in many applications File systems, databases
Syllabus Web Technologies Distributed Communication Distributed File Systems Fault Tolerance (Crash fault tolerance, Byzantine fault tolerance) Zookeeper, Google Chubby Consensus Blockchain XML, WSDL, REST Cloud Computing
Class Info Office Hour Email is the best way to reach me My Office: ITE 426 Mon 3-4:30pm, Web 3-4pm Make an appointment otherwise Email is the best way to reach me sduan@umbc.edu
Class Info Everything will be posted on my website, not blackboard http://sduan.informationsystems.umbc.edu/classes/IS651/ Homework and project will be posted on both my website and blackboard You can submit through blackboard, email, or bring a hardcopy to class
Class website Google “Sisi Duan”-> my website -> Teaching -> IS 651
Grading Class Participation (5%) Assignments (15%) 2 Exams (50%) In-class group discussion Open questions Assignments (15%) 5 in total Deadline is usually before the beginning of the class 2 Exams (50%) 2 in total In-class exams, Closed book, You can bring one cheating sheet (A4 paper) Non-overlapping Project (30%)
Project (30%) 1-3 students per group 3 project reports (80% of the project grade) Project description report (20%) Project progress report (20%) Project final report (40%) 1 in-class group presentation (20%) More details later
Project (30%) Study a problem in distributed systems Name your problem Discuss with me in class or during office hour 3 types of projects Project type Reading Requirement Programming Requirement Literature review High Low Review & Design Moderate-High Low-Moderate Review & Design & Implementation
Textbooks All of them are optional Kip Canfield, Jianwu Wang. Distributed Systems: Architecture and Implementation. Andrew Tanenbaum and Maarten van Steen. Distributed Systems: Principles and Paradigms. Prentice Hall. Bernadette Charron-Bost, Fernando Pedone, Andre Schiper. Replication: Theory and Practice. LNCS. Christian Cachine, Rachid Guerraoui, Luis Rodrigues. Introduction to Reliable and Secure Distributed Programming. Springer.
Textbooks Kip Canfield, Jianwu Wang. Distributed Systems: Architecture and Implementation. Available on Prof. Wang’s website. I’ll share the link through blackbox email. Andrew Tanenbaum and Maarten van Steen. Distributed Systems: Principles and Paradigms. Prentice Hall. Free pdf online Bernadette Charron-Bost, Fernando Pedone, Andre Schiper. Replication: Theory and Practice. LNCS. Christian Cachine, Rachid Guerraoui, Luis Rodrigues. Introduction to Reliable and Secure Distributed Programming. Springer.
Textbooks Bernadette Charron-Bost, Fernando Pedone, Andre Schiper. Replication: Theory and Practice. LNCS. Christian Cachine, Rachid Guerraoui, Luis Rodrigues. Introduction to Reliable and Secure Distributed Programming. Springer. E-copy available at umbc library
Reading List I’ll share with you a reading list at the end of each topic Book chapters Papers Recommend and optional Also posted on my website
How to perform well? Participate in the classes Start early for homework and project Make good use of office hour By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal.
How to perform well? The way of thinking is more important By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal.