Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Course Information
DISTRIBUTED SYSTEMS
(TDDD25)
Examination: written
Petru Eles
email: petru.eles@liu.se
http://www.ida.liu.se/~petel71/
phone: 28 1396 Text book:
B building, 329:220
George Coulouris, Jean Dollimore, Tim Kindberg:
"Distributed Systems - Concepts and Design",
Addison Wesley Publ. Comp., 4th edition, 2005.
George Coulouris, Jean Dollimore, Tim Kindberg,
Gordon Blair: "Distributed Systems - Concepts and
Design", Addison Wesley Publ. Comp., 5th edition,
2011.
Basic Issues
Labs&Lessons:
Ivan Ukhov
Institutionen fr Datavetenskap (IDA) 2. Examples of Distributed Systems
email: ivan.ukhov@liu.se
B building, 329:228
3. Advantages and Disadvantages
Network of workstations
A distributed system is a collection of autonomous
computers linked by a computer network that appear to
the users of the system as a single computer. Workstations
Some comments:
Clients
Applications
Internet
Storage
Computation
Teller
machines
Bank_1 data Bank_1 backup
Input/Output Adaptive
FPGA Anti-lock cruise
breaking control
RAM Distributed Real-Time Systems
CPU
CACHE
Network Interf.
Synchronization of physical clocks
Gateway
Safety critical network Scheduling with hard time constraints
Real-time communication
Engine control Trottle control
Fault tolerance
Gateway
Non-safety critical high-speed network
Transparency
Replication transparency
- the system is free to make additional copies of
files and other resources (for purpose of Components of a distributed system have to
performance and/or reliability), without the communicate in order to interact. This implies
users noticing. support at two levels:
Example: several copies of a file; at a certain
request that copy is accessed which is the 1. Networking infrastructure (interconnections &
closest to the client. network software).
Concurrency transparency
2. Appropriate communication primitives and models
- the users will not notice the existence of other and their implementation:
users in the system (even if they access the
same resources). communication primitives:
- send
message passing
Failure transparency - receive
- applications should be able to complete their - remote procedure call (RPC)
task despite failures occurring in certain communication models
components of the system. - client-server communication: implies a
message exchange between two proc-
Performance transparency esses: the process which requests a serv-
ice and the one which provides it;
- load variation should not lead to performance - group muticast: the target of a message is
degradation. a set of processes, which are members of
This could be achieved by automatic a given group.
reconfiguration as response to changes of the
load; it is difficult to achieve.
Software Architecture:
One of the important features of distributed systems
is openness and flexibility:
- every service is equally accessible to every
client (local or remote);
- it is easy to implement, install and debug new
services;
Applications & Services
- users can write and install their own services.
Middleware
Operating Operating
platform 2
System System Data on the system must not be lost, and copies stored
redundantly on different servers must be kept consistent.
Hardware: Hardware: The more copies kept, the better the availability, but
Comp.&Netw. Comp.&Netw. keeping consistency becomes more difficult.
Node 1 Node 2
Fault-tolerance is a main issue related to reliability: the
system has to detect faults and act in a reasonable way:
mask the fault: continue to work with possibly
reduced performance but without loss of data/
information.
fail gracefully: react to the fault in a predictable way
and possibly stop functionality for a short period,
but without loss of data/information.
2. Integrity
Middleware
Protection against alteration and corruption
Distributed Heterogeneous Applications and CORBA
3. Availability Peer-to-Peer Systems
Keep the resource accessible
Theoretical Aspects/Distributed Algorithms
Distributed systems should allow Time and State in Distributed Systems
communication between programs/users/ Distributed Mutual Exclusion
resources on different computers. Election and Agreement
Introduction
Distributed Mutual Exclusion
- just finished!
- Mutual exclusion in distributes systems
Models of distributed systems - Non-token based algorithms
Communication in Distributed Systems - Token based algorithms
- Message passing and the client/server model - Distributed elections
- Remote Procedure Call
- Group Communication Replication
- Publish-Subscribe Systems - Motivation for replication
- Consistency and ordering
Distributed Heterogeneous Applications and CORBA - Total and causal ordering
- Heterogeneity in distributed systems - Update protocols and voting
- Middleware
- Objects in distributed systems Recovery and Fault Tolerance
- The CORBA approach
- Transaction recovery
Peer-to-Peer Systems - Checkpointing and recovery
- Basic design issues - Fault tolerance in distributed systems
- The Napster file sharing system - Hardware and software redundancy
- BitTorrent - Byzantine agreement