Grid meets Economics: A Market Paradigm for Resource Management and Scheduling in P2P/Grid Computing
COMP90015: Distributed Systems
Dr. Rajkumar Buyya
Redmond Barry Distinguished Professor & Director
Cloud Computing and Distributed Systems (CLOUDS) Laboratory
School of Computing and Information Systems
The University of Melbourne, Australia
http://www.buyya.com
http://www.buyya.com/
2
Teaching Staff
◼ Lecturer 1: Prof. Rajkumar Buyya
◼ Email: .au
◼ Office: Zoom!
◼ Raj’s Consulting Time:
◼ After formal lecture, I will be stay online upto 30
minute for any of your ask clarify or discuss or talk to
me. We followed this in 2020/S1 on Zoom and
worked well.
3
Head Tutor
◼ Head Tutor: Shashikant Ilager
◼ Handles lectures in my absence and
assists with labs/projects.
◼ Email: .au
◼ Office: Zoom!
◼ Consulting Time:
◼ We will offer one possible during a week before the
Assignment deadline if required.
4
Tutors (6)
◼ Handle all tutorials/workshops, assisting with
labs/projects and marking of assignments
(associated with their tutorials)
◼ Shashikant Ilager: .edu.au
◼ TianZhang He: .edu.au
◼ Mohammad Goudarzi: .edu.au
◼ Aayush Mehta: .edu.au
◼ Scarlett Qin: scarlett. .au
◼ Wei Lin: wei. .au
◼ Note: Please contact only those who are in-charge of your tutorial.
5
Web and Course Schedule
◼ Course Web Site:
◼ http://clouds.cis.unimelb.edu.au/652/
◼ http://www.cloudbus.org/652
◼ Note: LMS gives link to this.
◼ All announcements, notes, etc. via this page only. LMS can
be used for discussions, video lectures, and for
assignments.
◼ Lectures:
◼ Time:
◼ Friday: 2:15-4.15pm – 2 hours – with 5-10 minute break.
◼ Venue: Zoom!
◼ Workshops/Tutorials – 12
◼ Each session accommodate ~25; Must attend your own Tutorial
◼ Please make friends in your tutorial!
http://clouds.cis.unimelb.edu.au/652/
http://www.cloudbus.org/652
6
Tutorials: Time, Venue and Tutors
T01/11 Monday 10 AM Shashi Ilager
T01/18 Monday 12 PM Shashi Ilager
T01/20 Monday 5.15 PM Wei Lin
T01/01 Monday 2:15 PM Aayush Mehta
T01/14 Tuesday 2:15 PM Scarlett QIn
T01/13 Tuesday 10:00 AM Mohammad Goudarzi
T01/15 Tuesday 3:15 PM Mohammad Goudarzi
T01/19 Wednesday 11 AM Wei Lin
T01/16 Wednesday 1:15 PM Aayush Mehta
T01/04 Thursday 12:00 PM Scarlett QIn
T01/03 Thursday 5:15 PM TianZhang He
T01/07 Friday 11:00 AM TianZhang He
Zoom Links for each Tutorial: Please login into LMS/Canvas
https://canvas.lms.unimelb.edu.au/courses/105371
7
Wide-Background of Students???
◼ Master of IT
◼ MIT (Comp), MEDC/MIT (DC), MIT (Spatial,
CyberSec, HCI)
◼ MIT (Distributed Computing) – foundation subject.
◼ MSc (Computer Science)
◼ ME (Software Engineering)
◼ Master of Data Science
◼ ++ Students from all over the world joining our
Masters programs.
◼ So, please understand that we are trying our
best to satisfy all of you although it is difficult to
please everyone ☺
8
Background expectation
◼ Pre-requisites:
◼ COMP90041 Programming and Software
Development (Java)
◼ COMP90038 Algorithms and Data Structures
◼ COMP90007 Internet Technologies (No
Sockets/Threads taught)
◼ OR Equivalent subjects
◼ If you know “MORE” than pre-requisite subjects,
then this subject is NOT for you.
◼ Better take Advanced related/follow-up subject if you
know “More” than pre-requisite subject coverage (e.g.,
UniMelb: OS and Network Services).
9
DS subject is a “foundation” (pre-requisite) for
many advanced subjects
◼ Distributed Algorithms
◼ Mobile Computing Systems Programming
◼ Cluster and Cloud Computing
◼ Distributed Computing Project (for MIT(DC))
◼ Sensor Networks and Applications
◼ Parallel and Multi-core Computing
◼ Some special offerings:
◼ Stream Computing?
◼ Management and Mining of Spatio-Temporal Data
(MapReduce application)
10
Why study distributed computing now?
◼ We have started MEDC, now MIT(DC) degree at a time when distributed
systems, particularly the Web and Internet applications and services, are of
unprecedented interest and importance.
◼ Microsoft .NET
◼ HP Adaptive Enterprise
◼ Oracle – Oracle 10g / 11g / 12c
◼ IBM – On Demand
◼ SAP – enterprise management software
◼ Cloud Computing: Amazon EC2, Microsoft Azure, Google AppEngine,
Aneka, Force.com, Alibaba China Cloud, Apple iCloud
◼ Social Networks: Facebook, WhatsApp, Skype, WeChat….
◼ Academic R&D worldwide: Service computing, e-Science, etc.
◼ The DC degree and this subject in particular aims to convey insight into, and
knowledge of the principles and practice underlying the design of distributed
systems.
◼ The depth covered in this subject enables you to evaluate existing systems
or design new ones.
11
DS Subject Overview
◼ Part I: Foundations – approx. 5 weeks
◼ Introduction, Inter-process Communication, Socket and Thread
Programming, and System Models
◼ Part II: Programming and Principles – 4 weeks
◼ Distributed Objects and Programming,
◼ Operating System support services, Distributed Shared Memory
Systems
◼ Part III: Paradigms/Platforms – 3 weeks:
◼ RMI, Kerberos, NFS etc. taught during Part I & II
◼ Distributed File Systems, Security and Naming Services
◼ Guest Lectures / Advanced Topics (not in exam)
◼ CDN, Cloud, BlockChain, IoT, and industrial applications
◼ Depth of some parts may be reduced as the Dept. has dedicated
subjects on some of these topics:
◼ Distributed Algorithms, Software Systems Security, Cluster and
Cloud Computing, High-Performance Database Systems
12
Course Assessment
◼ Project work and some short assignments:
◼ During semester worth 40%
◼ Assignment 1 (Single): 15%
◼ Assignment 2 (Single): 25%
◼ Written examination:
◼ A written examination (three hours) at the end of
the semester worth 60%
◼ All components must be completed
satisfactorily (50% marks) to pass the subject.
13
Assignment 1
◼ Multi-Threaded Dictionary Server
◼ Design and Implementation of a Simple Multi-Threaded
Distributed System Supporting Access to a Remote
Dictionary
◼ Aim:
◼ Enhance Understanding of Socket Programming and Multi-
Threading
◼ Gain experience in implementing a simple distributed, client
server application.
◼ “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.”
◼ Do some smart design/architecture (networking, storage)!
14
Assignment 2
◼ Distributed Applications Project
◼ To be decided:
◼ Distributed, Shared White Board
OR Net Games along with a chat box.
◼ Individual Assignment like A1
◼ You are given a chance to show some
creative thinking / architecture (e.g. you can
“use client/server or P2P”, “TCP or UDP”)
◼ Will recommend as Multi-stage project (even
if not assessed at each stage)
15
Computational Resources
◼ Your laptop!
◼ Use it for both assignments..
◼ Uni. Computing Resources:
◼ Can also be used for simple assignments and learning
◼ For demonstration of assignments (along with your own
laptops)
16
Books and References
◼ Main Text Book:
◼ 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. http://www.cdk5.net
◼ Programming Reference:
◼ R. Buyya, S. Selvi, X. Chu, “Object Oriented Programming with Java:
Essentials and Applications”, McGraw Hill, New Delhi, India, 2009.
◼ Sample chapters at book website: http://www.buyya.com/java/
◼ Research Articles:
• To be supplied by the Lecturer (if used)!
http://www.cdk3.net/
17
Text Book
G. Couloris, J. Dollimore, T. Kinberg, and G. Blair,
Distributed Systems – Concepts and Design,
5th Edition, Addison-Wesley/Pearson Education, UK,
2011. http://www.cdk5.net
http://www.cdk5.net/
18
Programming Reference
Buyya, R. Selvi, S.T., Chu, X.,
Object Oriented Programming
with Java: Essentials and
Applications, McGraw Hill, New
Delhi, India, 2009.
Sample chapters at book website:
http://www.buyya.com/java/
19
Presentation Slides
◼ Usually on the web before the lecture
◼ They may be find tuned/updated slightly a day
before the lecture to reflect recent developments
◼ No need to read Today’s lecture content beforehand!
◼ You only need to read & understand previous lecture!
◼ Do online Quiz (Multiple choice test) on previous lecture
topic prior to tutorial –ask Q on difficult topic from quiz.
◼ Mostly derived from the text book.
◼ Please procure (or own) the prescribed textbook.
◼ Good ideas and figures from alternative text book or
reference may also be used.
20
What do we expect from you?
◼ 1. Regular attendance of lectures
◼ Pay full attention, be enthusiastic, fully committed to learn
new things, ask questions during the class (especially in
Tutorials), participate in discussion.
◼ If the class overlaps with others, please choose one
subject. This is a great favour you can do for yourself.
◼ 2. Review previous lecture material before coming to
the class. – read material from the Text book
◼ 3. Start working on assignments right from the day
they are announced and submit on time.
◼ 4. If you have some problem with the
lectures/subject/??, please discuss with us early.
◼ Don’t take out your frustrations on me during QoT/SES☺
21
QoT (Quality of Teaching) / SES (Subject
Experience Survey)
◼ # 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 :