Chap1 - 부산대학교

Download Report

Transcript Chap1 - 부산대학교

분산처리 - 2011년 가을학기
Chapter 1 – Introduction
부산대학교 정보컴퓨터 공학부
이 기준
http://isel.cs.pusan.ac.kr/~lik
Some Questions
2
• 질문 1: 매우 중요한 금융 데이터베이스를 10개의 분산된 작
은 시스템에 나누어 저장하여 관리하는 것과 하나의 커다란
시스템에 저장하여 관리하는 것과 어느 방법이 더 안전한가?
• 질문 2: 중요한 금융 데이터베이스를 10개의 분산된 작은 컴
퓨터에 나누어 저장하여 관리하는 시스템을 구축하는 것과 하
나의 커다란 컴퓨터에 저장하여 관리하는 시스템을 구축하는
방법 중 어느 방법이 더 경제적인가?
• 질문 3: 매우 중요한 금융 데이터베이스를 10개의 분산된 작
은 컴퓨터에 나누어 저장하여 관리하는 것과 하나의 커다란
컴퓨터에 저장하여 관리하는 것과 어느 방법이 더 좋은 성능
을 보여줄까?
• 다음 주 발표: (질문 1 - 질문 3) 의 결론을 정리하여 분산 시스템과
집중형 시스템의 장단점을 정리하여 창의적으로 발표하여라.
• Distributed system :
1) A collection of (scalability)
2) independent computers that (heterogeneity)
3) appears to its users as a single coherent system
(transparency)
• Distributed System versus Parallel System
– Separated Operating System vs. Single Operating System
– Message Passing vs. Shared Memory
7
Why Distributed Systems?
• Performance
• Incremental Growth (Scalability)
– 1 single mainframe of price W
– N small machines of price W/N
• Fault Tolerance
– 1 single mainframe : critical weak point
– Failure of a machine : replacement by other machines
• Geographical Distribution and Availability
– Flexible configuration
• e.g. 1 Disk server, 3 Computing servers, 1 Graphic server, etc.
– Geographical availability
8
• Scalability and Heterogeneity
9
Application Program or Client
Driver for A
Server A
Driver for B
Driver for C
Server B
Server C
Versus
Application Program or Client
Predefined interface
Server A
Server B
Server C
10
• Transparency
Transparency
Description
Access
Hide differences in data representation and how a resource is accessed
Location
Hide where a resource is located
Migration
Hide that a resource may move to another location
Relocation
Hide that a resource may be moved to another location while in use
Replication
Hide that a resource may be shared by several competitive users
Concurrency
Hide that a resource may be shared by several competitive users
Failure
Hide the failure and recovery of a resource
Persistence
Hide whether a (software) resource is in memory or on disk
11
Issues in System Design
• Transparency
• Flexibility
• Reliability
• Performance
• Scalability
• Interoperability
12
• Transparency: Hiding physical details about
–
–
–
–
–
–
–
–
Location
Migration
Duplication
Relocation
Concurrency
Parallelism
Location
Access
13
• Flexibility
– Should be easy to modify functionality and architecture
– To provide with Configurability, Availability and Autonomy
– Micro-Kernel vs. Monolithic Kernel
• Monolithic Kernel : Provides all functionalities of OS, e.g. UNIX
• Micro-Kernel: Minimal subset of OS + what users want.
– e.g. Kernel Watch
14
• Reliability
– Important Goal of Distributed System
• Reliability
• Security
• Fault-Tolerance
– Failure Probability P
• Should be P = P1·P2·P3 … ·Pn
• But often P = P1+ P2+ P3 … + Pn in reality
15
• Performance and Scalability
– Improve performance by parallelism
– Throughput T
• Ideally should be T = T·n when n is the number of sites
• In reality T < T·n
– Due to some Bottleneck
Throughput
Number of sites
??
16
• Granularity of Parallelism
– Unit of Task
• Fine-Granularity vs. Coarse Granularity
– Fine-Granularity
• Large number of small tasks
• Need a large amount of inter-task communication
• Not good for distributed system (good for Parallel system)
– Coarse-Granularity
• Small number of big tasks
• Only small amount of inter-task communication
• Good for distributed system
17
• Interoperability
– Easy to collaborate with other systems in run-time
• Compatibility, Portability
– How to achieve Interoperability
• Well-Defined API set
• Standardization
18