Distributed Systems [COMP9243] Session 1, 2018
Ihor Kuz cs9243@cse.unsw.edu.au
1
Distributed Systems [COMP9243] Session 1, 2018 Ihor Kuz - - PowerPoint PPT Presentation
Distributed Systems [COMP9243] Session 1, 2018 Ihor Kuz cs9243@cse.unsw.edu.au 1 D ISTRIBUTED S YSTEMS [COMP9243] Lecture 1: Introduction Distributed Systems - what and why Hardware and Software Goals Overview - principles and
1
DISTRIBUTED SYSTEMS [COMP9243] 2
DISTRIBUTED SYSTEMS 3
DISTRIBUTED SYSTEMS 4
DISTRIBUTED SYSTEMS 5
UI Stream Server Search Storage
INTERDEPENDENCE OF DISTRIBUTED SYSTEMS 6
THE ADVANTAGES OF DISTRIBUTED SYSTEMS 7
THE DISADVANTAGES OF DISTRIBUTED SYSTEMS 8
HARDWARE ARCHITECTURE 9
HARDWARE ARCHITECTURE 10
HARDWARE ARCHITECTURE 11
Applications Operating System Services Kernel Machine A
SOFTWARE ARCHITECTURE 12
Kernel Applications Machine A Operating System Services
SOFTWARE ARCHITECTURE 13
Network OS services Network OS services Network OS services Machine A Machine B Machine C Kernel Kernel Kernel Network Distributed applications
Properties: ➜ No single system image. Individual nodes are highly autonomous ➜ All distribution of tasks is explicit to the user ➜ Examples: Linux, Windows What’s the challenge with this approach?
SOFTWARE ARCHITECTURE 14
Kernel Kernel Kernel Machine A Machine B Machine C Network Distributed operating system services Distributed applications
Properties: ➜ High degree of transparency ➜ Single system image (FS, process, devices, etc.) ➜ Homogeneous hardware ➜ Examples: Amoeba, Plan 9, Chorus, Mungi Are there any problems with this approach?
SOFTWARE ARCHITECTURE 15
Network OS services Network OS services Network OS services Machine A Machine B Machine C Kernel Kernel Kernel Network Middleware services Distributed applications
Properties: ➜ System independent interface for distributed programming ➜ Improves transparency (e.g., hides heterogeneity) ➜ Provides services (e.g., naming service, transactions, etc.) ➜ Provides programming model (e.g., distributed objects)
SOFTWARE ARCHITECTURE 16
SOFTWARE ARCHITECTURE 17
DISTRIBUTED SYSTEMS AND PARALLEL COMPUTING 18
DISTRIBUTED SYSTEMS IN CONTEXT 19
BASIC GOALS OF DISTRIBUTED SYSTEMS 20
TRANSPARENCY 21
DEPENDABILITY 22
SCALABILITY 23
SCALABILITY 24
SCALABILITY 25
SCALABILITY 26
PERFORMANCE 27
[from Peter Norvig, Jeff Dean, see also http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html]
NUMBERS EVERY PROGRAMMER SHOULD KNOW 28
FLEXIBILITY 29
COMMON MISTAKES 30
PRINCIPLES 31
PARADIGMS 32
Trade-offs Many of the challenges provide conflicting requirements. For example better scalability can cause worse overall performance. Have to make trade-offs - what is more important? Separation of Concerns Split a problem into individual concerns and address each separately End-to-End Argument Some communication functions can only be reliably implemented at the application level Policy vs. Mechanism A system should build mechanisms that allow flexible application of policies. Avoid built-in policies. Keep It Simple, Stupid make things as simple as possible, but no simpler.
MISCELLANEOUS ’RULES OF THUMB’ 33
READING LIST 34
OVERVIEW OF COURSE 35
PRACTICAL COURSE DETAILS 36
HOMEWORK 37