분산처리 년 가을학기 Chapter 1 – Introduction 부산대학교 정보컴퓨터 공학부 이 기준
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
10 Server A Driver for A Driver for B Server B Server C Driver for C Application Program or Client Server A Server B Server C Application Program or Client Predefined interface Versus
Transparency 11 TransparencyDescription AccessHide differences in data representation and how a resource is accessed LocationHide where a resource is located MigrationHide that a resource may move to another location RelocationHide that a resource may be moved to another location while in use ReplicationHide that a resource may be shared by several competitive users ConcurrencyHide that a resource may be shared by several competitive users FailureHide the failure and recovery of a resource PersistenceHide whether a (software) resource is in memory or on disk
Issues in System Design 12 Transparency Flexibility Reliability Performance Scalability Interoperability
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 = P 1 ·P 2 ·P 3 … ·P n But often P = P 1 + P 2 + P 3 … + P n 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 16 Number of sites Throughput ??
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