COMP90015: Distributed Systems
Subject Overview
Dr. Tawfiq Islam and Prof. Rajkumar Buyya
Cloud Computing and Distributed Systems (CLOUDS) Laboratory
School of Computing and Information Systems
The University of Melbourne, Australia
http://www.buyya.com
http://clouds.cis.unimelb.edu.au/~rbuyya/
Teaching Staff
n Lecturer 1: Prof. Rajkumar Buyya
n Email:
[email protected] n Office: 2.333, Melbourne Connect Building, 700 Swanston St, Carlton
n Lecturer 2: Dr. Tawfiq Islam
n Email:
[email protected] n Office: 2.106, Melbourne Connect Building, 700 Swanston St, Carlton
n Lecturer Consultation Times:
n After our formal lecture, we will hang around for upto 30 minutes
in case any of you want to clarify or discuss or talk to us.
n More consultations can be arranged based on appointment.
2
Head Tutor
n Head Tutor: Siddharth Agarwal
n Assists with labs/projects.
n Email:
[email protected] n Office: Desk 2.126 (in same level as
Prof. Buyya and Dr. Tawfiq)
n Consulting Time:
n We may offer consultations a week before the
Assignment deadlines.
3
Tutors (5)
n Handle all tutorials/workshops, assisting with
labs/projects and marking of assignments
(associated with their tutorials)
n Siddharth Agarwal:
[email protected] n Dr. TianZhang He:
[email protected] n Mashnoon Islam:
[email protected] n Zhiyu Wang:
[email protected] n Hoa Nguyen:
[email protected]n Note: Please contact only those who are
in-charge of your tutorial.
4
Tutorials: Time, Venue and Tutors
n On Campus only
5
Web and Course Schedule
n Course Web Site: Subject LMS
n LMS will be used for announcements, subject contents,
video lectures, and assignments.
n Ed Discussion Board.
n Lectures:
n Time:
n Wed: 3:15-5.15pm - 2 hours – with 5-10 minutes break.
n Venue: This room J
n Workshops/Tutorials – 10
n Each session accommodates ~20; Must attend your own Tutorial
n Combination of Discussion questions and Java coding refresher.
n Please make friends in your tutorial!
6
Wide-Background of Students???
n Master of IT
n MIT (Comp), MEDC/MIT (DC), MIT (Spatial,
CyberSec, HCI, AI)
n MIT (Distributed Computing) – foundation subject.
n Master of Computer Science (Research..+)
n ME (Software Engineering)
n Master of Data Science
n ++ Students from all over the world joining our
Masters programs with varied background.
n We are trying our best to satisfy all of you
although it is difficult to please everyone J
7
Background Knowledge
n Pre-requisites (All Completed):
n COMP90041 Programming and Software Development
(Java)
n COMP90038 Algorithms and Complexity
n COMP90007 Internet Technologies (No Sockets/Threads
taught)
n OR Equivalent subjects (with formal evidence)
n If you know “MORE” than pre-requisite subjects,
then this subject is NOT for you.
n Better take Advanced related/follow-up subject if you
know “More” than pre-requisite subject coverage (e.g.,
UniMelb: OS and Network Services).
8
DS subject is a “foundation” (pre-requisite) for
many advanced subjects
n Distributed Algorithms
n Mobile Computing Systems Programming
n Cluster and Cloud Computing
n Distributed Computing Project (for MIT(DC))
n Sensor Networks and Applications
n Parallel and Multi-core Computing
n Some special offerings:
n Stream Computing and Applications
n Management and Mining of Spatio-Temporal Data
(MapReduce application)
9
Why study distributed systems now?
n We have started MEDC, now MIT(DC), degree at a time when distributed
systems, particularly the Web and Internet applications/services, are of
unprecedented interest and importance.
n Microsoft .NET
n Oracle – Oracle 21c
n IBM – On Demand
n SAP – enterprise management software
n Cloud Computing: Amazon EC2, Microsoft Azure, Google AppEngine,
Aneka, Force.com, Alibaba China Cloud, Apple iCloud
n Social Networks: Facebook, WhatsApp, Skype, WeChat….
n Academic R&D worldwide: Service computing, e-Science, etc.
n MIT(DC) degree and this subject in particular aims to convey insight into,
and knowledge of the principles and practice the underlying design of
distributed systems.
n The depth covered in this subject enables you to evaluate existing systems
or design new ones.
10
DS Subject Overview
n Part I: Foundations – approx. 5 weeks
n Introduction, Inter-process Communication, Socket and Thread
Programming, and Distributed System Models
n Part II: Programming and Principles – 2 weeks
n Remote Method Invocation (RMI)
n Indirect Communications
n Operating System Architectures
n Part III: System Services - 3 weeks:
n Distributed File Systems
n Naming Services
n Security
n Guest Lectures / Advanced Topics (not in exam)
n CDN, Cloud, BlockChain, IoT, and industrial applications
n Depth of some parts may be reduced as our School has
dedicated subjects on some of these topics:
n Distributed Algorithms, Software Systems Security, Cluster and
11 Cloud Computing, High-Performance Database Systems
Course Assessments
n Assignments:
n During the semester worth 40%
n Assignment 1 (individual): 15%
n Assignment 2 (individual): 25%
n Written examination:
n A written examination (three hours) at the end of
the semester worth 60%
n All components must be completed
satisfactorily (50% marks) to pass the subject.
12
Assignment 1
n Multi-Threaded Dictionary Server
n Design and Implementation of a Simple Multi-Threaded
Distributed System Supporting Access to a Remote
Dictionary
n Aim:
n Enhance Understanding of Socket Programming and Multi-
Threading
n Gain experience in implementing a simple distributed, client
server application.
n “Using a client-server architecture, design and implement a
multi-threaded server that returns the meaning of a word as
stored in a remote dictionary.”
n Do some smart design/architecture (networking, storage)!
13
Assignment 2
n Distributed Applications Project
n To be Decided:
n Past: Distributed, Shared White Board
OR Net Games along with a chat box.
n Individual Assignment like A1
n You are given a chance to show some
creative thinking / architecture (e.g., you can
“use client/server or P2P”, “TCP, UDP”, RMI)
n Recommended as Multi-stage project (even if
not assessed at each stage)
14
Computational Resources
n Your laptop!
n Use it for both assignments.
n Uni. Computing Resources (Labs/Servers):
n Can also be used for simple assignments and learning
n For demonstration of assignments (along with your own
laptop)
15
Books and References
n Main Text Book:
n CDK: G. Couloris, J. Dollimore, T. Kinberg, and G. Blair, Distributed
Systems - Concepts and Design, 5th Edition, Addison-Wesley,
Pearson Education, UK, ISBN
0132-143-011.
n Programming Reference:
n R. Buyya, S. Selvi, X. Chu, “Object Oriented Programming with Java:
Essentials and Applications”, McGraw Hill, New Delhi, India.
n Sample chapters: clouds.cis.unimelb.edu.au/~rbuyya/java/
n Research Articles:
• To be supplied by the Lecturer (if used)!
16
Text Book
G. Couloris, J. Dollimore, T. Kinberg, and G. Blair,
Distributed Systems - Concepts and Design,
5th Edition, Addison-Wesley/Pearson Education, UK.
17
Programming Reference
Buyya, R. Selvi, S.T., Chu, X.,
Object Oriented Programming
with Java: Essentials and
Applications, McGraw Hill, New
Delhi, India.
Sample chapters at book website:
http://clouds.cis.unimelb.edu.au/~rbu
yya/java/
18
Lecture Slides
n Usually on the web before the lecture
n They may be fine tuned/updated slightly a day before
the lecture to reflect latest developments
n No need to read Today’s lecture content beforehand!
n You only need to read & understand previous lecture!
n Attempt online Quiz (Multiple choice test) on previous lecture
topic prior to tutorial.
n Mostly derived from the textbook.
n Please procure (or own) the prescribed textbook.
n Good ideas and figures from alternative textbook or
reference may also be used.
19
What do we expect from you?
1. Regular attendance of lectures
n Pay full attention, be enthusiastic, fully committed to learn
new things, ask questions during the class (especially in
Tutorials), participate in discussion.
n If the class overlaps with others, please choose one
subject. This is a great favour you can do for yourself.
2. Review previous lecture materials before coming to
the class and read materials from the Textbook
3. Start working on assignments right from the day they
are announced and submit on time.
4. If you have any issues with the lectures/tutorials/
subject/??, please discuss with us early.
n Don’t take out your frustrations on us during SESJ
20
SES (Subject Experience Survey)
n # I had a clear idea of what was expected of
me in this subject
5. Strongly agree :
4. Agree :
3. Neutral :
2. Disagree :
1. Strongly disagree:
Mean :
21