Distributed Systems Fall 2011 Introduction. 2 Distributed Systems?

Slides:



Advertisements
Similar presentations
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Advertisements

RPC Robert Grimm New York University Remote Procedure Calls.
Jaringan Informasi Pengantar Sistem Terdistribusi oleh Ir. Risanuri Hidayat, M.Sc.
Tam Vu Remote Procedure Call CISC 879 – Spring 03 Tam Vu March 06, 03.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
Distributed components
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Distributed Systems Fall 2009 The assignment Fall 20095DV0203 Introduction GCom – group communication middleware Apply concepts from theory –Group handling.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Review For Midterm.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Distributed Systems Fall 2009 Course introduction.
The Architecture of Transaction Processing Systems
Distributed Systems & Networks i206 Fall 2010 John Chuang Some slides adapted from Coulouris, Dollimore and Kindberg.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
.NET Mobile Application Development Remote Procedure Call.
Lecture 8 Epidemic communication, Server implementation.
The Client/Server Database Environment
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
Exercises for Chapter 2: System models
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Distributed Systems: Concepts and Design Chapter 1 Pages
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Architectures of distributed systems Fundamental Models
Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Distributed Systems Fall 2010 Course introduction.
IS473 Distributed Systems CHAPTER 5 Distributed Objects & Remote Invocation.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Distributed Objects & Remote Invocation
Remote Procedure Call RPC
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Today: Distributed Objects and Components 1. Me Greg Paperin MSci Computer Science href= 2.
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
Exercises for Chapter 2: System models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
Distributed objects and remote invocation Pages
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 System Models by Dr. Sarmad Sadik.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Last Class: Introduction
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
The Client/Server Database Environment
#01 Client/Server Computing
DISTRIBUTED COMPUTING
IS 651: Distributed Systems Midterm
Lecture 1: Multi-tier Architecture Overview
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
#01 Client/Server Computing
Presentation transcript:

Distributed Systems Fall 2011 Introduction

2 Distributed Systems?

3 “A distributed system is one in which components located at networked computers communicate and coordinate their actions by passing messages.” (Coulouris, Dollimore, Kindberg, 2005)

4 “A distributed system is one in which nodes communicate and coordinate their actions by passing messages.” (Larsson, 2010)

5 Outline Staff presentation Course presentation Lessons from last year This year's course Basics and challenges of distributed systems The big assignment

6 Staff Nalin Ranasinghe ( ) Daniel Espling ( ) Lars Larsson ( ) Questions about the assignment? –Send to Questions about lectures? –Send to the appropriate teacher!

Assistance us if you need us! We will either respond by mail or go to D420 or whatever lab you’re currently in –Most days between 13:00 and 14:30 –Priority / FIFO queue 7

8 Course presentation Theoretical part (4.5 ECTS) –Theory, methods, algorithms, and principles Practical part (3 ECTS) –Practical obligatory assignments

9 Course presentation Students should obtain: –Knowledge of theoretical models for distributed systems –Knowledge of problems and solutions in designing and in the implementation of distributed systems

10 Course presentation The course covers: –Architectural models of distributed systems –Client-Server, peer-to-peer, transactions, transparency, naming, error handling, resource management, and synchronization … and much more! –Computer security in a broad perspective –Distributed programming and middlewares

11 Lessons from last year Students were very happy with the staff and the amount of help they got Good disposition, good assignments More about security! Too hard assignment, don’t let this course be the first for newly arrived master students

12 Effort vs. utility Number of students Avg. #hours per week Course quality Group Group Group

13 This year's course Keep up the good work: Assistance with assignment Comment box on web site Teaching etc.

14 About the book… 1.Buy the book. 2.No, seriously. Buy it! 3.Which edition? 4 or 5?

15 The big assignment GCom – group communication middleware Apply concepts from theory –Group handling –Message ordering –(Reliable) Multicast of messages –Not security, however

16 What to learn? Book is dense with information –See reading guide on web page – it is actually accurate –Extremely good, but no easy read Start now! You will be busy later... Understand the problems and solutions –Learn the general ideas of algorithms and how/why they work, not every minute step Definitions are very important!

17 Benefits of distributed systems Resource sharing –CPU, storage, attached equipment, networking (e.g. NAT routing) Functional distribution –Separation of concerns Security enforcement Load balancing Bridging physical separation Economics

18 Properties of distributed systems No global clock –Processes cannot be perfectly synchronized (use logical time instead) No global state –A process can never be aware of a single global state of the system Independent failures –A process can fail at any time –Can you detect this?

19 So many failures! Omission failures –Process crashes, failed message deliveries Timing failures –Too slow networks, laggy processes Arbitrary failures –Buggy processes, buggy networks –These are the worst…

20 Design challenges Failure handling –Detection, masking, redundancy, dependability Resource heterogeneity –Networks, hardware, software stacks, design patterns Security Scalability and QoS –Performance, bottlenecks, resource integrity, caching

21 More design challenges Failure handling –Detection, masking, redundancy Concurrency –Interleaving sessions, locks Openness –Standards, competitors Transparency –Users shouldn’t have to know!

22 System models (relatively) “smart clients” (relatively) “dumb clients” and n- tier servies Stateless clients (e.g. HTTP) Peer-to-Peer (P2P) BitTorrent, Freenet, Direct Connect, … Combinations: multiple servers, mobile code, mobile agents, thin clients

23 Middleware Distributed systems often utilize middleware to aid development Offers layer of abstraction Extends upon traditional programming models: –Local procedure call → Remote procedure call –OOP → Remote Method Invocation –Event-based programming model

24 Middleware Applications, Services RMI, RPC Request/Reply protocol Marshalling, Unmarshalling UDP, TCP Middleware

25 Operation invocation Data structures must be “flattened” and serialized (marshaled) for transport –External formats, e.g. XML, JSON, Java Object Serialization,... Use interface –Procedures having either input, output, or both –No pointers –Service interface: provided services –Remote interface: operations accessible from other processes –Cross-language/platform interfaces: IDL, WSDL

26 Semantics (Local call = exactly once) Maybe once –Omission failures (lost packets, crashes) At-least-once –Crash failures, arbitrary failures (multiple executions) –Used by Sun RPC At-most-once –Executed exactly once or not at all –Used by Java RMI, Corba

27 Security Distributed system = increased exposure Client- and Server-authentication Client authorization –Is the client allowed to perform X? Proof of execution –Server must be able to prove that something has been executed –Also, non-repudiation: it should not be possible to claim that something did not happen if it did

28 Distributed systems: a mess! Communication performance variations –Latency (delay), bandwidth (throughput), jitter (variation in time) Clocks and timing –Clock drift Interaction models –Asynchronous, synchronous Event ordering –Delays cause replies to arrive to some process before the request

29 Distributed systems: a mess! Failures –Distributed systems are much more likely to fail unexpectedly –Lost packets, bit errors, local failures, no response, method does not exist, etc … If you can write stable programs in spite of these difficulties, you are a great programmer!

30 The big assignment Group communication middleware –Group membership handling –Message ordering guarantees –(Reliable) Multicast communication Presentation of working implementation at the end of the course Deals with theory from the first set of lectures

31 Rules and grading Solved in pairs Three levels –Bonus points for the exam (if non- bonus points give you ≥ 30p of 60p total)! Valid for this year's exams only –Level 1: basic system (no bonus) –Level 2: + dynamic groups (3p bonus) –Level 3: + tree-based reliable multicast (6p bonus)

32 Levels You may change level at any time Level 1 is easiest, but in practice only if you aim for it from the beginning Many problems can be avoided due to greatly lowered fault-tolerance of the system

33 Constraints May use any programming language and any tools you like –...as long as they do not provide a too big advantage (check with us!) –Currently, we will only help with Java RMI –You may absolutely not use plain sockets All normal rules apply –Thou shall not cheat, etc.

34 Test and debug application(s) Test application –A user-level application that shows the functionality of the system Debug application –Used to demonstrate the correctness of your implementation These programs can, and likely will, be one and the same! –But make the debug parts non-essential to use the application –Must be GUI applications!

35 Deliverables Deliverable 1 (project plan) – Dec. 2 –Your interpretation of the assignment –Requirement analysis –Project and time plan –Basic design of the system Yes, really Deliverable 2 (report) – Jan. 12 –Refers back to Deliverable 1 –Describe your system –...the usual –Make something to be proud of! One of your biggest projects during your time here at CS

36 Live demonstration You will demonstrate your system to us at the end of the course –Written test protocol

37 Good luck! Students have done this before, and succeeded –Certainly not easy –Hard work, big payoff –All students that attempted the entire assignment passed! Hints –Start on time (this afternoon!) –Read the whole specification –We know it’s long, but it helps you

38 Next lecture Fundamental properties of distributed systems