Distributed Computing Systems CSCI 47806780 Geographical Scalability Challenges
Distributed Computing Systems CSCI 4780/6780
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
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.
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
Types of Distributed Systems • High-Performance Computing Systems • Cluster computing • Grid computing • Distributed Information Systems • Transaction processing systems • Enterprise application integration • P 2 P systems • Distributed Pervasive Systems • Mobile networks • Sensor networks
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
Cluster Computing Systems An example of a cluster computing system.
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
Grid Computing Systems A layered architecture for grid computing systems.
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
Transaction Processing Systems
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.
Examples • Banking example • Airline ticket booking example
Nested Transactions • Transactions constructed from multiple subtransactions • Example: Travel Agent • Problem with nested transactions • What if one of the sub-transactions fail? • TP monitor architecture
Nested Transactions
Transaction Processing Architecture The role of a TP monitor in distributed systems.
Enterprise Application Integration Middleware as a communication facilitator in enterprise application integration.
Distributed Pervasive Systems • • Ad hoc composition Extreme heterogeneity Wired network/wireless network High churn rate Resource constraints Contextual changes Possible mobility
- Slides: 20