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
Distributed Computing Systems CSCI 6900/4900 Review • Definition & characteristics of distributed systems • Distributed system organization • Design goals – – – – – Resource availability to users Transparency Openness Scalability Security and privacy Scalability Techniques • Hiding communication latencies – Asynchronous communication – Reduce amount of data transmitted • Distribution – Spreading work across system • Caching and replication – Make copies of data and services • Balance load – Avoid hot spots Scaling Techniques 1.4 The difference between letting: a) a server or b) a client check forms as they are being filled Scaling Techniques (2) 1.5 An example of dividing the DNS name space into zones. Hardware Classification • Based on address space – Multiprocessor – Multicomputer • Based on communication infrastructure – Bus – Switched • Based on uniformity – Homogenous – Heterogeneous Hardware Concepts 1.6 Different basic organizations and memories in distributed computer systems Multiprocessors (1) • Key Property: All CPUs have direct access to shared memory • Coherent memory: Reads and writes are sequential 1.7 A bus-based multiprocessor. • Scalability • Ensuring coherency Multiprocessors (2) Crossbar switch Omega switching network Homogeneous Multicomputer Systems • Also known as System Area Networks (SANs) • Bus-based (Shared multi-access N/W such as Ethernet) • Switch-based (Massively Parallel Processors, Cluster of Workstations) Grid Hypercube Heterogeneous Multicomputer Systems • Most widely used • Individual computers can vary widely • Some node might be multiprocessor machines or homogenous multicomputer machines • Hierarchical systems (multicomputer systems on top of existing multicomputer systems). • Nodes lack global view • Cannot assume identical or even similar performance • Providing transparency, performance & scalability are key challenges. Software Concepts • Functionalities – Resource managers – Hiding intricacies and heterogeneity • Two kinds of operating systems – Tightly coupled (distributed operating system) – Loosely coupled (network operating system) • Middleware – Providing transparency for loosely coupled systems OS for Distributed Systems System Description Main Goal DOS Tightly-coupled operating system for multi-processors 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 Additional layer atop of NOS Middleware implementing general-purpose services Provide distribution transparency Uniprocessor Operating Systems • Virtualize physical devices (manages devices, protects users) • Two modes (User, Kernel) • Two kinds (Monolithic, microkernel) 1.11 Separating applications from operating system code through a microkernel. Multiprocessor Operating Systems • Similar in many aspects to uni-processor systems • Main extension is how shared memory access is handled – Guard against simultaneous access to provide consistency • Two primitives – Semaphores • Two atomic primitives (UP and DOWN) – Monitors Monitors • Borrowed from programming languages • Has data and procedures • One process can execute at any point of time monitor Counter { private: int count = 0; public: int value() { return count;} void incr () { count = count + 1;} void decr() { count = count – 1;} } Monitors (2) • Monitors can be used to conditionally block processes • Producers/consumers scenario monitor Counter { private: int count = 0; void decr() { int blocked_procs = 0; if (count ==0) { blocked_procs = blocked_procs + 1; condition unblocked; wait (unblocked); public: blocked_procs = blocked_procs – 1; int value () { return count;} } void incr () { else if (blocked_procs == 0) count = count – 1; count = count + 1; else signal (unblocked); } } }