3. Motivations for Distributed Computing Fast but inexpensive processors are available aplenty Availability of cost effective and efficient communication networks Result is ; distributing the computing load even over large geographical distances is an cost effective option now. MIT CS704D Advanced OS Class of 2011 3
4. Types of Interconnected Multiprocessors Tightly coupled systems Processors in the system operate through a common address space(a common main memory) Loosely couple system Each processor has its own private memory and are on different address spaces MIT CS704D Advanced OS Class of 2011 4
5. Block Diagrams MIT CS704D Advanced OS Class of 2011 5 Tightly coupled CPU CPU CPU CPU Systemwide Shared memory Local Mem Local Mem Local Mem Local Mem CPU CPU CPU CPU Communication Network Loosely coupled
6. A Distributed Computing System A collection of processors Interconnected by a network Each processor has its own local memory & peripherals Communication between processors is by messages A node is a local processor with its own local memory and peripherals All others are “remote” nodes MIT CS704D Advanced OS Class of 2011 6
7. Distributed System Models Minicomputer Model Workstation Model Workstation-server model Processor pool Model Hybrid model MIT CS704D Advanced OS Class of 2011 7
8. Minicomputer Model MIT CS704D Advanced OS Class of 2011 8 Communication network Mini computer Mini computer Mini computer Mini computer
9. Mini-computer Model A user is connected to his local machine Can access to the remote nodes Resource sharing MIT CS704D Advanced OS Class of 2011 9
10. Workstation Model MIT CS704D Advanced OS Class of 2011 10 Workstation WS WS Comunication network WS WS WS
11. Workstation Model User submits work to the local workstation If the local station is not able to manage the processing, it will find one idle machines and transfer processes to other workstations Problems are How to find an idle WS How to transfer a process & execute it What happens to the remote process if user logs on to an WS that was idle until now and was given for a remote process execution MIT CS704D Advanced OS Class of 2011 11
12. Workstation-Server model MIT CS704D Advanced OS Class of 2011 12 WS WS WS WS WS WS Communication network Server Server Server
13. Workstation-Server model Advantages compared to WS model Cheaper to provides servers with the required services than providing it locally. e.g file services Any WS can be used to access the file servers With diskless workstations, it is easier to maintain a few large disks centrally Process migration is not necessary, request response protocol (client server model of communication) User gets guaranteed response time as workstations are not used for remote processes, processing power may be wasted MIT CS704D Advanced OS Class of 2011 13
14. Processor Pool Model MIT CS704D Advanced OS Class of 2011 14 Terminals Net Run Server File Server
15. Processor Pool Model Compared to WS-Server model Provides better resource utilization Additional services can be provided without the need for more processors Not very suitable for high performance interactive ( such as graphics & windowing) applications, WS-server models probably will work better MIT CS704D Advanced OS Class of 2011 15
16. Hybrid Model Real models depend of the workload being handled. The work station server is a model suitable model for users doing most work locally, doing a little bit of interactive work, send emails, execute simple programs etc. Workstation-server configurations may have pools of processors. These pools can be used for jobs that are compute intensive MIT CS704D Advanced OS Class of 2011 16
17. Advantages of Distributed Computing Systems Design of distributed systems are more complex than centralized ones. That’s because communication and security issues have to be handled additionally. Still the advantages are Applications are inherently distributable in many cases Information sharing Resource sharing Better price performance Shorter response times, higher throughputs Higher reliability Extensibility & incremental growth Flexibility in meeting user needs MIT CS704D Advanced OS Class of 2011 17
18. Inherently Distributed Applications Applications that need local processing as well as global level processing and viewing requirements Employee database of a multi branch company Banking Airlines ticketing MIT CS704D Advanced OS Class of 2011 18
19. Information Sharing among Distributed Users Person to person communication over distance. In a distributed system work at a local node can be easily shared at remote nodes too Thus users distributed at diverse areas can collaborate Groupware is possible and is a natural for distributed computing MIT CS704D Advanced OS Class of 2011 19
20. Resource Sharing Besides information Software in libraries Databases Hardware resources can be shared MIT CS704D Advanced OS Class of 2011 20
21. Better Price Performance Increasing performance yet falling prices of processors Better & higher speed networks being available at higher reliability yet lower prices Better resource sharing MIT CS704D Advanced OS Class of 2011 21
22. Shorter Response & higher Throughput If the problem can be split suitably More processors will reduce processing time Throughput will increase Better resource utilization MIT CS704D Advanced OS Class of 2011 22
23. Higher Reliability Redundant drives, back up copies etc. can be easily arranged in a distributed system Availability is better Fail soft is possible etc. MIT CS704D Advanced OS Class of 2011 23
24. Extensibility & Incremental Growth Additional resources can be added incrementally Additional processors can be added when needed Addition of resources does not disrupt the work too much MIT CS704D Advanced OS Class of 2011 24
25. Flexibility in Meeting User Needs Ordinary data processing High performance computing Work can be distributed to specialized processing unit For example, interactive jobs can run on local work stations while processor pools can manage compute intensive jobs MIT CS704D Advanced OS Class of 2011 25
26. What is a Distributed OS? “ An operating System of is a program that controls the resources of a computer system and provides its users with an interface or virtual machine that is more convenient to use than the bare machine.”- Tannenbaum & Van Renesse [1985] Thus what OS needs to do are Present users with a VM that is easier to program than the underlying hardware Manage resources, keep track of resource users, track requests, account usage, be the umpire in deciding who gets what MIT CS704D Advanced OS Class of 2011 26
27. NOS vs. DOS System Image In case of NOS it is known to the users that distinct machines working cooperatively through a communication system. Whereas a DOS provides a single machine image Autonomy Systems are autonomous. In DOS the operating system manages all the machines Fault tolerance capability No fault tolerance, DOS provides high levels of tolerance MIT CS704D Advanced OS Class of 2011 27
28. Definition of a DOS Again by Tannenbaum & Van Renesse A distributed OS is one that looks to its users like an ordinary centralized operating system but runs on multiple, independent central processing units. The key concept here is transparency. In other words, the use of multiple processors should be invisible(transparent) to the user. Another way of expressing the same idea is to say that the user views the system as a “virtual uniprocessor”, not as a collection of distinct machines. MIT CS704D Advanced OS Class of 2011 28
29. Difficulties Do manage resources optimally, the manager must be aware of the accurate status of every resource. However, a distributed system never has that Resources are physically separated No common clock Delivery of message may be delayed or even lost No accurate status information is thus available, yet the OS has to try and run things optimally MIT CS704D Advanced OS Class of 2011 29
31. Features of a DOS Transparency Reliability Flexibility Performance Scalability Heterogeneity Security Emulation of existing OS MIT CS704D Advanced OS Class of 2011 31
32. Transparency Access transparency Uniform access whether remote or local; uniform system calls and naming conventions Location transparency Name transparency & user mobility Replication transparency Naming & replication control Failure transparency Redundancy; servers, communication etc. Migration transparency Automatic, no name change, message passing (receiver has migrated) Concurrency transparency Event driven ordering, mutual exclusion, no-starvation Performance transparency Auto reconfig, scaling should not cause disruption MIT CS704D Advanced OS Class of 2011 32
33. Reliability Faults can be fail-stop or Byzantine; prevention includes Fault Avoidance Good design practices, low failure components, redundancy etc. Fault Tolerance Redundancy, distributed control Fault Detection & Recovery Atomic transactions, stateless servers, ack & time out based messages MIT CS704D Advanced OS Class of 2011 33
34. Flexibility Ease of modifications When required it should be easy to modify sub-systems Ease of enhancement When required it should be easy to enhance features Structure of the kernel Monolithic kernel or a microkernel Modular, server based services, easy to implement and modify There is a small performance penalty MIT CS704D Advanced OS Class of 2011 34
35. Performance Batch, if possible Cache whenever possible Minimize copying of data Minimize network traffic Take advantage of fine grained parallelism for multiprocessing MIT CS704D Advanced OS Class of 2011 35
36. Scalability Avoid centralized entities Avoid centralized algorithms Perform most operations on client workstations MIT CS704D Advanced OS Class of 2011 36
37. Heterogeneity Format related issues could be a big hurdle Format interchange conversions will have to be supported Better to have an intermediate internal format MIT CS704D Advanced OS Class of 2011 37
38. Security Sender needs to know the right receiver received the message The receiver needs to have assurance that a genuine sender sent the message Both sender and receiver need to be assured that the contents of the message was not tampered with during transmission MIT CS704D Advanced OS Class of 2011 38
39. Emulation of Existing Operating System New developments will use the API of the new OS Necessary for the ability to run existing applications Backward compatibility MIT CS704D Advanced OS Class of 2011 39