17
Distributed Computing Systems CSCI 6900/4900

Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Embed Size (px)

Citation preview

Page 1: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Distributed Computing Systems

CSCI 6900/4900

Page 2: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Review• Distributed system

– A collection of independent computers that appears to its users as a single coherent system.

• Need for distributed systems– Distributed clients– Distributed data/resources– Distributed organizations– Enabling technology

Page 3: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Distributed System Organization

A distributed system organized as middleware.Note that the middleware layer extends over multiple machines.

1.1

Page 4: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

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

Page 5: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Transparency in a Distributed SystemTransparency Description

AccessHide differences in data representation and how a resource is accessed

Location Hide where a resource is located

Migration Hide that a resource may move to another location

RelocationHide that a resource may be moved to another location while in use

Replication Hide that a resource may have multiple copies

ConcurrencyHide that a resource may be shared by several competitive users

Failure Hide the failure and recovery of a resource

PersistenceHide whether a (software) resource is in memory or on disk

• How much transparency is needed?

• How much can we achieve?

Page 6: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

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

Page 7: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

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 8: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

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 9: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Scaling Techniques

1.4

The difference between letting:

a) a server or

b) a client check forms as they are being filled

Page 10: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Scaling Techniques (2)

1.5

An example of dividing the DNS name space into zones.

Page 11: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Hardware Classification• Based on address space

– Multiprocessor– Multicomputer

• Based on communication infrastructure– Bus– Switched

• Based on uniformity– Homogenous– Heterogeneous

Page 12: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Hardware Concepts

1.6

Different basic organizations and memories in distributed computer

systems

Page 13: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

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

Page 14: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Multiprocessors (2)

Crossbar switch Omega switching network

Page 15: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

Homogeneous Multicomputer Systems

HypercubeGrid

• 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)

Page 16: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

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.

Page 17: Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent

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