Title: Distributed Systems
1Distributed Systems
- Alexis Delis
- ad_at_di.uoa.gr
- Monday 600-900
- Spring 2002
- www.di.uoa.gr/ad/MDE519.html
2Grades - Evaluation
Final Examination 35
In-class Presentations Homeworks 30
Project(s) 35
Book A.S. Tanenbaum, M. van Steen, Distributed
Systems, Prentice Hall, 2002. Other Papers
(available from the courses WWW site)
3Definition of a Distributed System
- A distributed system is
- A collection of independent computers that
appears to its users as a single coherent system.
4Definition of a Distributed System
1.1
A distributed system is organized as
middleware.Note that the middleware layer may
extend over multiple machines. Examples Workflow
Systems, WWW-services (URL)
5Goals of Distributed Systems
- connecting users with resources
- transparency
- openess
- scalability
6Transparency in a Distributed System
Different forms of transparency in a distributed
system.
7Openness
- Open DS a system that offer services
- according to Standard Rules.
- Such rules are described in terms of protocols
- IDLs help in the description of such protocols.
- Interoperability?
- Portability?
- Difference between the two?
8Scalability
- Numerous definitions of scalability
- system can be scalable in terms of size
- Add more users/resources into the system
- Geographically Scalable system
- Users/resources may lie far apart
- Administratively Scalable
- Easy to manage even if it spans multiple orgs.
- GOLDEN RULE as system becomes scalable in one of
these - three dimension exhibits loss in performance.
9Scalability Problems
Examples of scalability limitations.
10Scaling Techniques
- asynchronous communication
- filling (database) forms.
-
- distribution (take a component, break into
- smaller pieces, spread these components
- across the system
- Example DNS Domain Name Service.
- Division in (non-overlapping) zones domains
11Scaling Techniques
1.4
- The difference between letting
- a server (character/string-based communication)
or - a client check forms as they are being filled
(bulk uploading).
12Scaling Techniques
1.5
An example of dividing the DNS name space into
zones.
13Scalability - Caching
- Generally Good Idea Replicate (data/services)
- Replication increases availability (of systems)
- Caching (difference from replication?)
- Main problem with caching/replication?
- Is this a serious problem?
- CDNs (how do they do it?)
14Hardware Concepts
1.6
Different basic organizations and memories in
distributed computer systems
15Multiprocessors
1.7
- A bus-based multiprocessor.
16Multiprocessors
1.8
- A crossbar switch (nn crosspoint switches
needed) - An omega switching network (low latency problem)
- How to avoid latency?
- use hierarchical schemes NUMA (NonUniform
Memory Access)
17Homogeneous Multicomputer Systems(building is
easy-probleminterconnection network)
Homogeneous Multi-computers System Area Networks
(SANs)
1-9
- Bus-based (FDDI/ Fast-Ethernet /Gigabit network )
- Grid (switched based messages are routed via the
interconnection network) - Hypercube(switched based four dimensional (b)
two ordinary cubes with 8 vertices and 12 edges)
18Switched Multi-computers
- Can vary significantly
- From
- Massively Parallel Processors ( MPP CM5, IBM
SP2 etc.) - To..
- Clusters/Networks of Workstations (cheap -
COWs or NOWs)
19Software Concepts
- An overview between
- DOS (Distributed Operating Systems)
- NOS (Network Operating Systems)
- Middleware
20Uniprocessor Operating Systems
1.11
- Separating applications from operating system
code through a microkernel.
21Multiprocessor Operating Systems
monitor Counter private int count
0 public int value() return count void
incr () count count 1 void decr()
count count 1
- A monitor to protect an integer against
concurrent access.
22Multiprocessor Operating Systems (2)
monitor Counter private int count 0 int
blocked_procs 0 condition unblocked public
int value () return count void incr ()
if (blocked_procs 0) count
count 1 else signal
(unblocked)
void decr() if (count 0) blocked_procs
blocked_procs 1 wait (unblocked)
blocked_procs blocked_procs 1 else
count count 1
- A monitor to protect an integer against
concurrent access, but blocking a process.
23Distributed Shared Memory Systems (DSM)
- Pages of address space distributed among four
machines - Situation after CPU 1 references page 10
- Situation if page 10 is read only and replication
is used
Trick replicate pages that are referenced
frequently! Another replicate all pages (??)
problems? Solutions?
24Distributed Shared Memory Systems
- Always an issue size of a page in DSM why?
- Large sized page are potentially good but they
may - entail false sharing
- Having data belonging to two independent
processes in the - same page
25Network Operating System
1-19
- General structure of a network operating system.
26Network Operating System
1-20
- Two clients and a server in a network operating
system. - Services allowed to users
- rlogin machineA
- rcp machineAfile1 machineBfile2
- ftp, http, sftp, ssh, etc.
27Network Operating System
1.21
- Different clients may mount the servers in
different places.
28Positioning Middleware
1-22
- General structure of a distributed system as
middleware.
29Middleware and Openness
1.23
- In an open middleware-based distributed system,
the protocols used by each middleware layer
should be the same, as well as the interfaces
they offer to applications.
30Comparison between Systems
- A comparison between multiprocessor operating
systems, multicomputer operating systems, network
operating systems, and middleware based
distributed systems.
31Clients and Servers
1.25
- General interaction between a client and a server.
32An Example Client and Server
- The header.h file used by the client and server.
33An Example The Server
34An Example The Client
1-27 b
- A client using the server to copy a file.
35Three Processing Levels
1-28
- The general organization of an Internet Search
Engine into three different layers
36Multitiered Architectures
1-29
- Alternative client-server organizations (a) (e).
37Multitiered Architectures
1-30
- An example of a server acting as a client.
38Modern Architectures
1-31
- An example of horizontal distribution of a Web
service.
39Ongoing (Research) Work
- DSs based on Horizontal Distribution(of
data/services) - DSs based on Horizontal and/or Vertical
Distribution (of data/services) - Peer-to-Peer
- Distributions of data
- Services (indexing, querying, TP processing)
- Self-organizing systems