Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Primitive Concepts of Distributed Systems Chapter 1 Why Distribution? More complex computing problems Grosch’s Law CPU speed will not increase by time Parallelism vs. Distribution Sometimes a user’s program which is inherently parallel, can be run on a multiprocessor. This will happen by a parallelizing compiler, proper operating system and specific hardware. In a distributed system, this will happen among more than a computer. Distributed System’s Goal Connecting users and resources Transparency Openness Scalability Transparency in a Distributed System 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 Different forms of transparency in a distributed system. Transparency vs. Performance There is also a trade-off between a high degree of transparency and the performance of a system. Examples: – Multiple retries for a crashed server – Keeping a group of replicated servers strictly consistent Openness An open system is such a system that its syntax and semantic is properly defined. Interoperability and Portability Separating Policy and Mechanism Scalability Size Geographical Administrative Scalability Problems Concept Example Centralized services A single server for all users Centralized data A single on-line telephone book Centralized algorithms Doing routing based on complete information Examples of scalability limitations. Scalability Techniques Asynchronous Communication Distribution Replication Scaling Techniques (1) The difference between letting: a) a server or b) a client check forms as they are being filled Hardware Concepts Cable TV Telephone Multicomputer vs. Multiprocessor (global address space) Multiprocessors (1) A bus-based multiprocessor. Problem of bus-based systems: scalability – Solution: cache Cache problem: makes the memory incoherent What can we do? Multiprocessors (2) a) b) c) A crossbar switch An omega switching network NUMA? Spectrum of HW Systems MPP (Massively Parallel Processors) – Expensive, need HP networking, simultaneous access to shared memory, single address space, hardwired, tightly couples COW (Cluster of Workstations) – Cheaper, easy to make, message passing, not hardwired, flexible, loosely coupled Software Concepts System Description Main Goal DOS Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Hide and manage hardware resources NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients An overview of DOS (Distributed Operating Systems) NOS (Network Operating Systems) Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. Which is easier for programming? Question: Which one is easier for programming? A multicomputer or a multiprocessor? Distributed Shared Memory Systems (1) a) Pages of address space distributed among four machines b) Situation after CPU 1 references page 10 c) Situation if page 10 is read only and replication is used Distributed Shared Memory Systems (2) False sharing of a page between two independent processes. Network Operating System (1) General structure of a network operating system. Middleware NOS (Openness and Scalability) DOS (Transparency) Middleware Positioning Middleware General structure of a distributed system as middleware. Middleware Problems An application developed on top of a middleware system may not work on another one. Using an upperware may solve the problem. Comparison between Systems Item Distributed OS Network OS Middlewarebased OS Multiproc. Multicomp. Degree of transparency Very High High Low High Same OS on all nodes Yes Yes No No Number of copies of OS 1 N N N Basis for communication Shared memory Messages Files Model specific Resource management Global, central Global, distributed Per node Per node Scalability No Moderately Yes Varies Openness Closed Closed Open Open Processing Level Multitiered Architectures (1) Alternative client-server organizations (a) – (e). Questions A complex algorithm is going to be executed. Which one is cheaper? Using a multicomputer or a multiprocessor? What’s the idea behind the DSM? What’s the idea behind a middleware? What’s the problems of using a middleware system? What’s the difference of policy and mechanism? Why open distributed systems are interoperable? What’s false sharing? Discuss about COW and MPP for OS, cost, EoP, scalability, speed, model of programming, Why microkernel OS? Pros and cons?