Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA...

12
Distributed Computing Systems CSCI 4780/6780

Transcript of Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA...

Page 1: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

Distributed Computing Systems

CSCI 4780/6780

Page 2: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

Scalability

Concept Example

Centralized services A single server for all users

Centralized data A 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

Page 3: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

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

Page 4: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

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

Page 5: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

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

Page 6: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

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

Page 7: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

Scaling Techniques

1.4

The difference between letting:

a) a server or

b) a client check forms as they are being filled

Page 8: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

Scaling Techniques (2)

1.5

An example of dividing the DNS name space into zones.

Page 9: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

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

Page 10: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

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

Page 11: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

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

Page 12: Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.

Cluster Computing Systems

An example of a cluster computing system.