140 likes | 336 Views
Distributed Systems Principles and Paradigms. Dr. Christian Vecchiola Postdoctoral Research Fellow csve@unimelb.edu.au Cloud Computing and Distributed Systems (CLOUDS) Lab Dept. of Computer Science and Software Engineering The University of Melbourne. Teaching Staff.
E N D
Distributed SystemsPrinciples and Paradigms Dr. Christian Vecchiola Postdoctoral Research Fellow csve@unimelb.edu.au Cloud Computing and Distributed Systems (CLOUDS) Lab Dept. of Computer Science and Software Engineering The University of Melbourne
Teaching Staff • Dr. Christian Vecchiola • Email:csve@unimelb.edu.au • Web: http://www.csse.unimelb.edu.au/~csve/index.php • Phone: 8344 1335 • Office: 5.35 (ICT Building) • Hours: • Monday to Friday 10:00 – 18:00 • Discussion: • By appointment • After lecture
Web and Course Schedule • Course Web Site: • Main Reference: LMS • Old editions: • http://www.gridbus.org/652 • http://www.csse.unimelb.edu.au/652 • Lectures: • Time: • Thursday: 15:00 – 18:00 (3 hours) • Venue: • ICT-Theatre 2 • Schedule: • 12 Weeks starting from today.
Course Assessment • Project and Assignments • During semester worth 40%; • Assignment 1: 10% • Assignment 2: 30% • Exam (60%) • Written Examination • 3 Hours • All components must be completed satisfactorily to pass the subject.
Assignment 1 • Multi-Threaded Dictionary Server • Design and Implementation of a Simple Multi-Threaded Distributed System Supporting Access to a Remote Dictionary • Aim: • To 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 Appliaction Projects • Distributed Race Car (a.k.a, Network Game) • Distributed, Shared White Board • Team Size: • 2 (Strongly recommended) • You choose your own partner. • You are given a chance to show some creative thinking / architecture (e.g. “do I use client/server or P2P”, “TCP or UDP”, etc) • Multi-stage project, assessed at each stage
Computational Resources • Dept. Computing Resources: • You all have access to many servers by now? • Talk to technical staff for details and support. • Use for simple assignments and learning. • CLOUDS Lab Computing Resources: • Mainly for projects. • Lab exercises/assignments requiring special software setup by Lecturer. • Lecturer is responsible for providing support. • Microsoft .NET Lab (Lab 217) • Some may be able to do project based on .NET if you learn .NET concepts yourself.
Theory of Distributed Systems • CDK: Couloris, G, Dollimore, J. and Kinberg, T, Distributed Systems - Concepts and Design, 4th Edition, Addison-Wesley, Pearson Education, UK, ISBN 0201-619-180. • http://www.cdk3.net | http://www.cdk4.net • CDK: Tanenbaum, A.S, Van Steen, M, Distributed Systems – Principles and Paradigms, 2nd Edition, Prentice Hall, • ISBN 0132-392-275.
Java 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/
Presentation Slides • Usually on the web before lecture • They may be updated slightly a day before the lecture to reflect recent developments • Lecturer is happy to print and distribute them in the class as an additional service (at no cost) whenever possible. • No need to read beforehand if you don’t want to! • Mostly derived from the text book. • Please buy prescribed textbook. • Good ideas and figures from alternative text book or reference may also be used.
Why study distributed computing now? • Master of Engineering in Distributed Computing • Huge interest in DS (mostly Web and Internet) • Application Services • Portals • Some examples • Microsoft .NET • HP Adaptive Enterprise • Oracle – Oracle 10g • IBM – On Demand • Academic R&D worldwide: Grid computing, e-Science, etc. • National Grid application programs – e-Science/UK, e-Research/Australia, Grids – Asia and Europe, Cyber infrastructure in USA • Aims: • to convey insight into, and knowledge of the principles and practice underlying the design of distributed systems. • to enable you to evaluate existing systems or design new ones.
433-652 DS Subject Overview • Subject Layout • Part I: Foundations – approx. 5 weeks • Introduction, • System Models, • Inter-process Communication, • Socket and Thread Programming • 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, CORBA, Kerberos, NFS etc. taught during Part I & II • Distributed File Systems, Security and Naming Services 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 Grid Computing, - High-Performance Database Systems.
What do we expect from you? • Regular attendance of lectures • Pay full attention, • Be enthusiastic, fully committed to learn new things, • Ask questions during the class, • Participate in discussion. • Study Approach • Study the topics along the way • Review previous lecture material before coming to the class • Read the related subject text book • Assignments • Start working on assignments right from the day they are announced and submit on time. • Be a Team player during Group Project. • Communication • Discuss your concerns with the lecturer early. • Don’t take out your frustrations on me during QoT
QoT (Quality of Teaching) Question • #Q1, 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 :