chapter 1: overview of distributed systems

30
CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS Dr. Trn Hi Anh

Upload: others

Post on 29-Dec-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

CHAPTER 1: OVERVIEW OF DISTRIBUTED

SYSTEMS Dr. Trần Hải Anh

Page 2: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Outline 2

1.  Introduction 2.  Characteristics of Distributes Systems 3.  Components of Distributes Systems 4.  Topics in Distributed Systems

Page 3: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

1.1. Brief history 1.2. Definition 1.3. Examples

1. Introduction 3

Page 4: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

1.1. History

2/20/17 @ Trần Hải Anh 2014

4

¨  History of computer ¤  First generation (1937-1946)

n  vacuum tubes n  ENIAC (Electronic Numerical Integrator And Computer)

¤  Second generation: (1947 – 1962 ) n  Transistor n  Universal Automatic Computer (UNIVAC 1).

¤  Third generation: 1963 - present n  IC: Integrated Circuit n  MS-Dos n  IBM PC

¨  History of Computer Network ¨  Change the way of using PC

Page 5: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Distributed Systems 5

Page 6: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

1.2. Definition 6

¨  Independent computers ¤ They don’t depend on each others. Different on

hardware and software architecture. ¨  Connected ¨  Provide common service uniformly ¨  Users don’t need to care about system’s details ¨  A collection of independent connected

computers that provides services to its users as a single coherent system. [Tanenbaum 2006]

Page 7: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Distributed vs. Ubiquitous Systems 7

¨  Networked computer system: appears as many machines

¨  Distributed computer system: appears as single system

¨  Ubiquitous system: appears as no computer system

Page 8: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

1.3. Examples 8

¨  WWW ¨  Email system ¨  Etc.

MTAMDA

MTAMDA

InternetSMTP

Cácbídanh

Ngườisửdụng

HộpthưNSDBộđệmthưgửiđi

SMTP POP/IMAP

WebServer

WebMail

DNS

CácbảnghiMX CácbảnghiMX

Cácbídanh

Ngườisửdụng

HộpthưNSDBộđệmthưgửiđi

SMTP POP/IMAP

WebServer

WebMail

Page 9: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

2.1. Making resources accessible 2.2. Distribution transparency 2.3. Openness 2.4. Scalability

2. Goals

2/20/17

9

@ Trần Hải Anh 2014

Page 10: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

2.1. Making resources accessible

2/20/17 @ Trần Hải Anh 2014

10

¨  Easy to access remote resources ¨  Resources: anything (printers, computers, storage

facilities, data, files, web pages, etc.) ¨  Example:

¤  Sharing printer ¤  Sharing supercomputer, high-performance storage system ¤  Other expensive peripherals

¨  Working together: groupware ¨  Security problems: eavesdropping, intrusion on

communication, etc.

Page 11: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

2.2. Distribution Transparency

2/20/17 @ Trần Hải Anh 2014

11

¨  Hide the fact that its processes and resources are physically distributed across multiple computers

¨  Appear as a single computer system à transparent

Page 12: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Types of transparency 12

Degree of transparency? Attempting to completely hide all distribution aspects from users is not a good idea

Page 13: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

2.3. Openness 13

¨  Open distribution system is a system that offers services according to standard rules that describe the syntax and semantics of those services.

¨  Protocols ¨  Services are specified through interfaces. ¨  Interface Definition Language (IDL). ¨  Interoperability ¨  Portability ¨  Extensible

Page 14: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

2.4. Scalability 14

¨  Size ¤ Add more users and resources

¨  Geographical scalability ¤ Users and resources may lie far apart

¨  Administrative scalability ¤  It spans many independent administrative

organizations

Page 15: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Scalability problems 15

¨  Size: ¤  Centralized services ¤  Centralized data ¤  Centralized algorithms

¨  Geographical scalability ¤  LAN à wide area network ¤  Broadcasting ¤  Reliable communication

¨  Administrative scalability ¤  Resource usage ¤  Management ¤  Security

Page 16: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Scaling techniques 16

¨  Asynchronous communication ¨  Distribution ¨  Replicate ¨  Caching

Page 17: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

3.1. Hardware 3.2. Software 3.3. Middleware

3. Components of Distributed Systems

17

Page 18: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

3.1. Hardware 18

(a)

(b)

(c)

Page 19: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

3.2. Software 19

•  DS is similar to OS •  Handle the resources •  Hide the complexity and heterogenity

•  2 types: •  tightly-coupled systems (DOS) •  loosely-coupled systems (NOS)

System Description Main Goal

DOS Multicomputer, multiprocessors Transparency

NOS NOS on local machines Local services for other machines

Middleware Provide basic services to develop apps Distributed transparency

Page 20: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

3.2.1. Distributed Operating Systems (DOS)

2/20/17 @ Trần Hải Anh 2014

20

¨  Multiprocessor OS ¨  Multicomputer OS ¨  Like the uniprocessor OS, but handling multi

processors.

Page 21: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Uniprocessor OS

¨  Main goal: sharing the resource

¨  Set the access permission for each app/process

¨  2 modes: kernel mode & user mode

21

Page 22: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

User mode & Kernel mode 22

¨  User mode: ¤ Không gian nhớ ảo riêng ¤ Giới hạn truy cập

¨  Kernel mode: ¤ Không gian nhớ ảo đơn ¤ Không giới hạn truy cập

Page 23: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Monolithic kernel vs Microkernels

¨  Single process runs on a single memory space

¨  All services run on one kernel memory space

¨  E.g: MS-DOS, UNIX, Linux.

¨  Kernel is divided into separated processes

¨  Processes run on either user-space or kernel-space

¨  Processes run separately on separate memory spaces

¨  E.g: QNX, L4, HURD, MINIX

23

Monolithic kernel Microkernels

Page 24: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Microkernel 24

Separate app from OS code in using microkernel

Page 25: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Multiprocessor OS 25

¨  Use the common shared memory ¨  OS supports multi-processor, transparent to apps. ¨  Avoid concurrent accesses

¤ Semaphore ¤ Monitor

Page 26: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Multicomputer OS 26

Page 27: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

3.2.2. Network OS 27

1-19

Page 28: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Network OS 28

1-20

Page 29: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

3.3. Middleware

¨  Combine advantages of DOS and NOS

¨  Middleware ¨  E.g:

¤  File system in UNIX ¤  RPC

¨  Middleware service: ¤  Transparent access ¤  High level

communication facilities

29

Page 30: CHAPTER 1: OVERVIEW OF DISTRIBUTED SYSTEMS

Homework 30

¨  Do the assignment on the LMS ¨  Watch the online course for the chapter 1

2/20/17 @ Trần Hải Anh 2014