introduction l.
Skip this Video
Loading SlideShow in 5 Seconds..
Introduction PowerPoint Presentation
Download Presentation

Loading in 2 Seconds...

play fullscreen
1 / 46

Introduction - PowerPoint PPT Presentation

  • Uploaded on

Introduction Chapter 1 The Textbook Andrew S. Tanenbaum & Maarten van Steen, Distributed Systems: Principles and Paradigms, Prentice Hall, 2002. 全華科技圖書 , (03)401-5467, M: 0952296068 Grade Counting Rule Midterm Exam 30% Final Exam 30%

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript


Chapter 1

the textbook
The Textbook
  • Andrew S. Tanenbaum & Maarten van Steen, Distributed Systems: Principles and Paradigms, Prentice Hall, 2002.
  • 全華科技圖書, (03)401-5467, M: 0952296068
grade counting rule
Grade Counting Rule
  • Midterm Exam 30%
  • Final Exam 30%
  • Roll call 10% (base grade 80, 5 times during the term)
  • Homework or Report 30%
  • TA: Semmer 孫瑞祥 3282,
definition of a distributed system 1
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
Definition of a Distributed System (2)


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

the goals of ds
The Goals of DS
  • Connecting Users and Resources: To make it easy for users to access, remote resources, and to share them with other users in a controlled way.
  • Transparency: To hide the act that its processes and resources are physically distributed across multiple computers.
    • Definition: A distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be transparent.
  • Openness: A system that offers services according to standard rules that describe the syntax and semantics of those services.
  • Scalability:
transparency in a distributed system
Transparency in a Distributed System

Different forms of transparency in a distributed system.

scalability problems
Scalability Problems

Examples of scalability limitations.

decentralized algorithm s characteristics
Decentralized Algorithm’s Characteristics
  • No machine has complete information about the system state.
  • Machines make decisions based only on local information.
  • Failure of one machine does not ruin the algorithm.
  • There is no implicit assumption that a global clock exists.
    • No way to get a globally synchronized time.
    • In LAN, they are based on synchronous communication.
scaling techniques
Scaling Techniques
  • There are three basic techniques for DS scaling:
    • Hiding communication latencies
      • Try to avoid waiting for responses to remote service requests as much as possible.
      • Using asynchronous communication.
    • Distribution
      • Splitting a component into smaller parts, and subsequently spreading those parts across the system.
      • For example, the Internet DNS
    • Replication
      • Divide attention
      • But caching and replication may lead to consistency problem.
scaling techniques 1
Scaling Techniques (1)


  • The difference between letting:
  • a server or
  • a client check forms as they are being filled
scaling techniques 2
Scaling Techniques (2)


An example of dividing the DNS name space into zones.

hardware concepts
Hardware Concepts


Different basic organizations and memories in distributed computer systems

multiprocessors 1
Multiprocessors (1)
  • A bus-based multiprocessor.


multiprocessors 2
Multiprocessors (2)
  • A crossbar switch
  • An omega switching network


homogeneous multicomputer systems
Homogeneous Multicomputer Systems
  • System Area Networks (SANs)
    • The nodes are mounted in a big rack and are connected through a single, often high-performance interconnection network.
  • Two popular connection types of SAN
    • Mesh
    • Hypercube
homogeneous multicomputer systems17
Homogeneous Multicomputer Systems
  • Other samples
  • Massively Parallel Processors (MPPs)
    • Consisting of thousands of CPUs
    • High-performance interconnection network
    • Fault tolerance is required
  • Clusters of Workstations (COWs)
    • A collection of standard PCs or workstations connected through off-the-shelf communication components such as Ethernet.
heterogeneous multicomputer systems
Heterogeneous Multicomputer Systems
  • Distributed ASIC Supercomputer (DAS)
    • a wide-area distributed cluster designed by the Advanced School for Computing and Imaging (ASCI).
    • Consisting of four clusters of multicomputers (64 nodes each), interconnected through a ATM-switched backbone.
software concepts
Software Concepts
  • Tightly-coupled
    • DOS (Distributed Operating Systems)
    • Used for managing multiprocessors and homogeneous multicomputers.
  • Loosely-coupled
    • NOS (Network Operating Systems)
    • Used for hetergeneous multicomputer systems
    • Distinction from traditional OS: local services are made available to remote clients.
  • Middleware
distributed operating systems
Distributed Operating Systems
  • Two types of DOSs
    • Multiprocessor operating system
    • Multicomputer operating system
  • Uniprocessor Operating System
    • Like a virtual machine to applications
    • Kernel mode
      • Can access memory and registers, and execute instructions
    • User mode
      • Memory and register access is restricted.
uniprocessor operating systems
Uniprocessor Operating Systems
  • Separating applications from operating system code through
  • a microkernel.


uniprocessor operating systems cont
Uniprocessor Operating Systems (cont.)
  • Benefits to using microkernels
    • Flexibility
      • A large part of the OS is executed in user mode, it is relatively easy to replaced a module without having to recompile or re-install the entire system.
    • Could be placed on different machines
  • Disadvantages of microkernels
    • Due to the well-entrenched status quo
    • Have extra communication overheads (about 20% performance degradation)
multiprocessor operating systems 1
Multiprocessor Operating Systems (1)
  • A monitor to protect an integer against concurrent access.

monitor Counter {


int count = 0;


int value() { return count;}

void incr () { count = count + 1;}

void decr() { count = count – 1;}


multiprocessor operating systems 2
Multiprocessor Operating Systems (2)
  • A monitor to protect an integer against concurrent access, but blocking a process.

monitor Counter {


int count = 0;

int blocked_procs = 0;

condition unblocked;


int value () { return count;}

void incr () {

if (blocked_procs == 0)

count = count + 1;


signal (unblocked);


void decr() {

if (count ==0) {

blocked_procs = blocked_procs + 1;

wait (unblocked);

blocked_procs = blocked_procs – 1;



count = count – 1;



multicomputer operating systems 1
Multicomputer Operating Systems (1)
  • General structure of a multicomputer operating system


multicomputer operating systems 2
Multicomputer Operating Systems (2)
  • Alternatives for blocking and buffering in message passing.


multicomputer operating systems 3
Multicomputer Operating Systems (3)
  • Relation between blocking, buffering, and reliable communications.
distributed shared memory systems 1 3
Distributed Shared Memory Systems (1/3)
  • Programming multicomputers is much harder than programming multiprocessors
    • Reasons: buffering, blocking, and reliable communication, etc.
  • Solution: Emulating shared-memory on multicomputers system
    • Using virtual memory capability, which is referred to Distributed Shared Memory (DSM)
    • DSM is achieved by page-based distributed shared memory
  • Some problems caused by DSM
    • Data consistency
    • The trade-off of page size
      • Larger page size causes commun. cost when memory access false
      • Smaller page size may cause low memory hitting ratio
    • False sharing
      • Having data belonging to two independent processes in the same page
distributed shared memory systems 2 3
Distributed Shared Memory Systems (2/3)
  • 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
distributed shared memory systems 3 3
Distributed Shared Memory Systems (3/3)
  • False sharing of a page between two independent processes.
network operating system 2 4
Network Operating System (2/4)
  • NOS
    • Contrast with DOS, NOS does not assume that the underlying hardware are homogeneous and that it should be managed as if it were a single system.
    • Different operating systems
    • Different kernels
    • Different hardware
  • More primitive than DOS
  • Compared to DOS
    • Drawbacks: hard to use
      • Login from on machine to another.
      • Copy files from one machine to another.
      • Changing a configuration such as password or settings.
    • Advantages:
      • Easy to add or remove a machine in NOS (they are highly independent of each other).
network operating system 2 432
Network Operating System (2/4)
  • General structure of a network operating system.


network operating system 3 4
Network Operating System (3/4)
  • Two clients and a server in a network operating system.
network operating system 4 4
Network Operating System (4/4)
  • Different clients may mount the servers in different places.
positioning middleware
Positioning Middleware
  • A synthetic solution between DOS and NOS:
    • Middleware: To place an additional layer of software between applications and the network operating system, offering a higher level of abstraction.
  • General structure of a distributed system as middleware.
middleware models
Middleware Models
  • Remote Procedure Calls (RPCs)
    • Hiding network communication by allowing aprocess to call a procedure of which an implementation is located on a remote machine.
    • When calling a such procedure, parameters are transparently shipped to the remote machine where the procedure is subsequently executed, after which the results are sent back to the caller.
  • Distributed objects
    • Object itself located in a single machine
    • Making its interface available on other machines
  • Distributed documents
    • World wide web (WWW)
middleware and openness
Middleware and Openness
  • 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.

Fig. 1-23

comparison between systems
Comparison between Systems
  • A comparison between multiprocessor operating systems, multicomputer operating systems, network operating systems, and middleware-based distributed systems.
clients and servers
Clients and Servers
  • General interaction between a client and a server.
an example client and server 1
An Example Client and Server (1)
  • The header.h file used by the client and server.
an example client and server 3
An Example Client and Server (3)
  • A client using the server to copy a file.

1-27 b

processing level
Processing Level
  • The general organization of an Internet search engine into three different layers


multitiered architectures 1
Multitiered Architectures (1)
  • Alternative client-server organizations (a) – (e).


multitiered architectures 2
Multitiered Architectures (2)
  • An example of a server acting as a client.


modern architectures
Modern Architectures
  • An example of horizontal distribution of a Web service.