Presentation is loading. Please wait.

Presentation is loading. Please wait.

 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,

Similar presentations


Presentation on theme: " Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,"— Presentation transcript:

1  Course Overview Distributed Systems IT332

2 Course Description  The course introduces the main principles underlying distributed systems: processes, communication, naming, synchronization, consistency, fault tolerance, and security.  Students will be familiar with some of the main paradigms in distributed systems: object-based systems, file systems, web- based and coordination-based systems.  On the completion of the unit, students will understand the fundamentals of distributed computing and be able to design and develop distributed systems and applications. 2

3 Target Audience and Prerequisites  Prerequisites:  IT224 Computer Network  IT311 Web Applications  Students should have a basic knowledge of computer systems and object-oriented programming.  Target Audience:  Seniors 3

4 Text Books  The primary textbooks for this course are:  Andrew S. Tannenbaum and Maarten Van Steen, Distributed Systems: Principles and Paradigms, 2nd E, Pearson, 2007.  Reference Book:  Tom white, Hadoop: The Definitive Guide, 2nd E, O’Reilly Media, 2011 4

5 Blog  It332ksu.wordpress.com 5

6 Why Distributed Systems?  Many systems that we use on a daily basis are distributed  World wide web, Google  Amazon.com  Peer-to-peer file sharing systems  Useful to understand how such real-world systems work  Course covers basic principles for designing distributed systems 6

7 Definition of Distributed Systems  A distributed system:  Multiple connected CPUs working together  A collection of independent computers that appears to its users as a single coherent system 7

8 Requirements  This requires:  A way for processes on different machines to exchange information (Process and Communication).  A way for process to access other entities (Naming).  A way for processes to cooperate, synchronize with one another and agree on shared values (Synchronization).  A way to enhance reliability and improve performance (Consistency and Replication).  A way to recover from partial failures (Fault Tolerance). 8

9 Syllabus 9 Introduction Outlining the characteristics of distributed systems and the challenges that must be addressed in their design. Architecture Tells how the various software components are to be organized and how they should interact Process Identify how processes are internally organized, configure clients and servers and what is meant by code migration Communication Explain and contrast the communication mechanisms between processes and systems. Naming Identify why entities and resources in distributed systems should be named, and examine the naming conventions and name-resolution mechanisms Synchronization Describe and analyze how multiple machines and services should cooperate and synchronize to correctly solve a problem. Consistency and Replication Identify how replication of resources improve performance in distributed systems, and explain algorithms to maintain consistent copies of replicas. Fault Tolerance Explain how a distributed system can be made fault tolerant. Distributed File Systems Explain distributed file systems as a paradigm for general-purpose distributed systems, analyze its various aspects and architectures, and contrast against parallel file systems.

10 CLOs: Course Learning Outcomes  Explain what a distributed system is, and what the desired properties of such systems are.  Apply the basic theoretical concepts of distributed systems.  Design and implement simple distributed system.  Examine how modern distributed systems meet the demands of contemporary distributed applications. 10

11 Teaching Team 11 Office #6T133 Email: mkefi.c@ksu.edu.sa Dr.Meriam Kefi Office #6T72 Email: nalhaarbi@ksu.edu.sa Ms. Nada Alhaarbi

12 Assessment ActivityWeight Final Exam40 Midterm Exams (2)30 Lecture Quiz5 Lab: Lab Quiz Tutorial Attendance & Lab evaluation Case study Programing assignments 25 5 3 2 5 10 12

13 Exam Dates ExamDate Quiz1Wednesday 03/12/1436 (16/09/2015) Lab Quiz Monday 27/01/1436 (09/11/2015) Mid 1Wednesday 24/12/1436 (07/10/2015) Mid 2 Wednesday 13/02/1436 (25/11/2015) Final Exams Wednesday 12/03/1436 (23/12/2015) 13

14 Policy  Attendance  Attendance at all lectures and labs is required.  You should attend with your original section  If you miss a lecture or lab, it is your responsibility to catch up on the topics that you missed but you can’t be evaluated for the lab session.  Making up Exams and Assignments  If you miss an exam, you should IMMEDIATELY contact the makeup exam committee no later than 7 days after the exam  Academic Integrity  Each assignment must be the sole work of the student turning it in.  Assignment will be closely monitored, and students may be asked to explain any suspicious similarities with any piece of code available.  If a case observed both students will got a Zero 14

15 Next Lecture  We will discuss the trends, goals, and different types of distributed systems Questions? Thanks! 15


Download ppt " Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,"

Similar presentations


Ads by Google