Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.

Similar presentations


Presentation on theme: "Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users."— Presentation transcript:

1 Distributed Computing Systems CSCI 4780/6780

2 Distributed System A distributed system is: A collection of independent computers that appears to its users as a single coherent system.

3 Why Distributed Systems? Distributed (and mobile) users –Desire to access data/resources Distributed data/information –World Wide Web Distributed organizations –Multi-location & multinational corporations Distributed resources –Distributed file systems, grids, web farms Enabling technology: – Advances in communications and networks

4 Characteristics of Distributed Systems Hides heterogeneity and internal workings Easy to expand or scale Continuous availability Layered design Examples –Networked workstations –Distributed databases –WWW –Peer-to-peer systems

5 Distributed System Organization A distributed system organized as middleware. Note that the middleware layer extends over multiple machines. 1.1

6 Design Goals Make resources available to users –Enable resource sharing in a controlled manner Transparency –Hide distributed nature Openness –Complies to standards with regard to syntax and semantics –Interoperability Security & privacy Scalability & performance

7 Transparency in a Distributed System TransparencyDescription Access Hide 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 Relocation Hide that a resource may be moved to another location while in use ReplicationHide that a resource may have multiple copies Concurrency Hide that a resource may be shared by several competitive users FailureHide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk How much transparency is needed? How much can we achieve?

8 Openness Security & Privacy Openness – Follows rules that describe syntax and semantics –Interface definition language –Interoperability, portability –Mechanism-policy separation Security –Access control –Data integrity –Data/service availability –Copyright protection

9 Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line telephone book Centralized algorithmsDoing routing based on complete information Scalability with respect to size Scalability with respect to geographical location Scalability with respect to management Scalability Problems

10 Example Problem: Design a Highly Scalable Map (Direction) Service Data – Route information Task – Computing shortest (least cost) routes Option 1: Store all data at a single server, perform all computations there Option 2: Store data centrally, but perform operations on multiple nodes Option 3: Store data at multiple locations and perform operations in a distributed fashion

11 Characteristics of Distributed Algorithms Single machine does not have complete information Decisions are made based on local information Failure of a node does not cause the algorithm to fail No global clock Distributed algorithms are much harder than centralized algorithms

12 Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!! Unreliable networks –Broadcasting does not work Centralized components –Will eventually become bottlenecks Multiple administrative domains –Security mechanisms do not come for free

13 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

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

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

16 Pitfalls Network is reliable Network is secure Network is homogeneous Topology does not change Latency is zero Bandwidth is infinite Transport cost is zero Single administrator

17 Types of Distributed Systems High-Performance Computing Systems Cluster computing Grid computing Distributed Information Systems Transaction processing systems Enterprise application integration P2P systems Distributed Pervasive Systems Mobile networks Sensor networks

18 Cluster Computing Super computing using PCs/workstations Used for parallel programming Homogeneity among nodes Master allocates nodes to tasks Compute nodes run standard operating systems (and may be a very thin middleware) Middleware consists of parallel programming libraries

19 Cluster Computing Systems An example of a cluster computing system.

20 Grid Computing Formed from heterogeneous set of machines May belong to different organizations Virtual organization Resource access and management 4-layered organization Fabric layer – Interfacing to local resources Connectivity layer – Connection handling and security Resource layer – Managing a single resource Collective layer – Simultaneous management of multiple resources Application layer – Hosts applications

21 Grid Computing Systems A layered architecture for grid computing systems.

22 Distributed Information Systems Lots of networked applications Sometimes belonging to different organizations Little interoperability Simplest integration Bundling operations together at client end Enterprise application integration Applications talking to each other

23 Transaction Processing Systems

24 Properties of Transactions Atomic: To the outside world, the transaction happens indivisibly. Consistent: The transaction does not violate system invariants. Isolated: Concurrent transactions do not interfere with each other. Durable: Once a transaction commits, the changes are permanent.

25 Examples Banking example Airline ticket booking example

26 Nested Transactions Transactions constructed from multiple sub- transactions Example: Travel Agent Problem with nested transactions What if one of the sub-transactions fail? TP monitor architecture

27 Nested Transactions

28 Transaction Processing Architecture The role of a TP monitor in distributed systems.

29 Enterprise Application Integration Middleware as a communication facilitator in enterprise application integration.

30 Distributed Pervasive Systems Ad hoc composition Extreme heterogeneity Wired network/wireless network High churn rate Resource constraints Contextual changes Possible mobility


Download ppt "Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users."

Similar presentations


Ads by Google