Date post: | 20-Dec-2015 |
Category: |
Documents |
View: | 220 times |
Download: | 0 times |
Definition of a Distributed System (1)
A distributed system is:
A collection of independent computers that appears to its users
as a single coherent system.
Definition of a Distributed System (2)
Figure 1-1. A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers
each application the same interface.
Examples of Distributed Systems
• Network of workstations at a university
• Workflow information system supporting automatic order processing
• World Wide Web
Goals of Distributed Systems
What makes it worth the effort?
• Connecting Users and Resources• Transparency• Openness• Scalability
Transparency in a Distributed System
Different forms of transparency in a distributed system.
Hide whether a (software) resource is in memory or on disk
Persistence
Hide the failure and recovery of a resourceFailure
Hide that a resource may be shared by several competitive users
Concurrency
Hide that a ,ultiple copies of a resource existReplication
Hide that a resource may be moved to another location while in use
Relocation
Hide that a resource may move to another location
Migration
Hide where a resource is locatedLocation
Hide differences in data representation and how a resource is accessed
Access
DescriptionTransparency
Openness
• Services are offered according to standard rules that describe syntax and semantics
• E.g., Interface Definition Language• Interoperability and portability • Separating Policy from Mechanism!
Scalability (Problems)
Examples of scalability limitations.
Doing routing based on complete information
Centralized algorithms
A single on-line telephone bookCentralized data
A single server for all usersCentralized services
ExampleConcept
Scaling Techniques
• Scalability problems appear as performance problems
• Three basic techniques:– hiding communication latency– distribution– replication
• Asynchronous communication• Divide and conquer• Caching (consistency!)
Scaling Techniques (1)
1.4
The difference between letting:
a) a server or
b) a client check forms as they are being filled
Common Pitfalls
• The network is reliable• The network is secure• The network is homogenous• The topology does not change• Latency is zero• Bandwidth is infinite• Transport cost is zero• There is one administrator
Example types of systems
• Distributed computing• Cluster vs grid computing
• Distributed information systems• Transactions (incl. nested)
• Distributed pervasive systems• Home: plug and play• eHealth (BAN)• Sensor networks
Networked software:Architectural Styles (1)
• Layered architectures• Object-based architectures• Data-centered architectures• Event-based architectures
Architectural styles (4)
data-centric: e.g. web-based distributed systems• shared distributed file system• communication through files
Architectural Styles (6) Figure 2-2. (b) The shared data-space architectural
style.
Event-based and data-centric!
Processing Level
The general organization of an Internet search engine into three different layers
1-28
Multitiered Architectures (1)
The simplest organization is to have only two types of machines:
• A client machine containing only the programs implementing (part of) the user-interface level
• A server machine containing the rest, – the programs implementing the
processing and data level
Decentralized Architectures
• Vertical distribution
• Horizontal distribution
• Peer-to-peer distribution
Overlays and p2p
• Distributed Hash tables (DHT)• Chord• CAN
• Unstructured• Gnutella• Super peers
• Hybrid