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
Teaching Staff
◼ Lecturer1:Prof.RajkumarBuyya
◼ Email: rbuyya@unimelb.edu.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.
2
Head Tutor
3
◼ HeadTutor:ShashikantIlager
◼ Handles lectures in my absence and
assists with labs/projects.
◼ Email: ilagers@unimelb.edu.au
◼ Office: Zoom! ◼ ConsultingTime:
◼ We will offer one possible during a week before the Assignment deadline if required.
Tutors (6)
4
◼ Handle all tutorials/workshops, assisting with
labs/projects and marking of assignments
(associated with their tutorials)
◼ Shashikant Ilager: silager@student.unimelb.edu.au
◼ TianZhang He: tianzhangh@student.unimelb.edu.au
◼ Mohammad Goudarzi: mgoudarzi@student.unimelb.edu.au ◼ Aayush Mehta: aayushm@student.unimelb.edu.au
◼ Scarlett Qin: scarlett.qin@unimelb.edu.au
◼ Wei Lin: wei.lin2@unimelb.edu.au
◼ Note:Pleasecontactonlythosewhoarein-chargeofyourtutorial.
Web and Course Schedule
5
◼ 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!
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
11AM
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
6
Zoom Links for each Tutorial: Please login into LMS/Canvas https://canvas.lms.unimelb.edu.au/courses/105371
Wide-Background of Students???
7
◼ 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☺
Background expectation
8
◼ 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).
DS subject is a “foundation” (pre-requisite) for many advanced subjects
9
◼ 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)
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–enterprisemanagementsoftware
◼ Cloud Computing: Amazon EC2, Microsoft Azure, Google AppEngine, Aneka, Force.com, Alibaba China Cloud, Apple iCloud
◼ Social Networks: Facebook, WhatsApp, Skype, WeChat….
◼ AcademicR&Dworldwide:Servicecomputing,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.
10
DS Subject Overview
11
◼ PartI:Foundations–approx.5weeks
◼ Introduction, Inter-process Communication, Socket and Thread
Programming, and System Models
◼ PartII:ProgrammingandPrinciples–4weeks
◼ Distributed Objects and Programming,
◼ Operating System support services, Distributed Shared Memory Systems
◼ PartIII:Paradigms/Platforms-3weeks:
◼ 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
◼ DepthofsomepartsmaybereducedastheDept.hasdedicated subjects on some of these topics:
◼ Distributed Algorithms, Software Systems Security, Cluster and Cloud Computing, High-Performance Database Systems
Course Assessment
12
◼ 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.
Assignment 1
13
◼ 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)!
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)
14
Computational Resources
15
◼ 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)
Books and References
◼ MainTextBook:
◼ CDK:G.Couloris,J.Dollimore,T.Kinberg,andG.Blair,Distributed Systems – Concepts and Design, 5th Edition, Addison-Wesley, Pearson Education, UK, ISBN
0132-143-011. http://www.cdk5.net
◼ ProgrammingReference:
◼ R. Buyya, S. Selvi, X. Chu, “Object Oriented Programming with Java:
Essentials and Applications”, McGraw Hill, New Delhi, India, 2009. ◼ Samplechaptersatbookwebsite:http://www.buyya.com/java/
◼ ResearchArticles:
• 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, 2011. http://www.cdk5.net
17
Programming Reference
18
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/
Presentation Slides
19
◼ 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.
What do we expect from you?
20
◼ 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☺
QoT (Quality of Teaching) / SES (Subject Experience Survey)
21
◼ # 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 :
:
: :
: :