Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.

Similar presentations


Presentation on theme: "Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals."— Presentation transcript:

1 Distributed Computing Systems CSCI 6900/4900

2 Review Definition & characteristics of distributed systems Distributed system organization Design goals –Resource availability to users –Transparency –Openness –Scalability –Security and privacy

3 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

4 Scaling Techniques 1.4 The difference between letting: a)a server or b)a client check forms as they are being filled

5 Scaling Techniques (2) 1.5 An example of dividing the DNS name space into zones.

6 Hardware Classification Based on address space –Multiprocessor –Multicomputer Based on communication infrastructure –Bus –Switched Based on uniformity –Homogenous –Heterogeneous

7 Hardware Concepts 1.6 Different basic organizations and memories in distributed computer systems

8 Multiprocessors (1) 1.7 Key Property: All CPUs have direct access to shared memory Coherent memory: Reads and writes are sequential A bus-based multiprocessor. Scalability Ensuring coherency

9 Multiprocessors (2) Crossbar switch Omega switching network

10 Homogeneous Multicomputer Systems Hypercube Grid 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)

11 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.

12 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

13 OS for Distributed Systems SystemDescriptionMain 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 Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency

14 Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. 1.11 Virtualize physical devices (manages devices, protects users) Two modes (User, Kernel) Two kinds (Monolithic, microkernel)

15 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

16 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;} }

17 Monitors (2) monitor Counter { private: int count = 0; int blocked_procs = 0; condition unblocked; public: int value () { return count;} void incr () { if (blocked_procs == 0) count = count + 1; else signal (unblocked); } void decr() { if (count ==0) { blocked_procs = blocked_procs + 1; wait (unblocked); blocked_procs = blocked_procs – 1; } else count = count – 1; } Monitors can be used to conditionally block processes Producers/consumers scenario


Download ppt "Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals."

Similar presentations


Ads by Google