Top Banner
1 Distributed Systems Distributed Coordination-Based Systems Chapter 13
25

1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

1

Distributed Systems

Distributed Coordination-Based Systems

Chapter 13

Page 2: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

2

Course/Slides Credits

Note: all course presentations are based on those developed by Andrew S. Tanenbaum and Maarten van Steen. They accompany their "Distributed Systems: Principles and Paradigms" textbook (1st & 2nd editions).http://www.prenhall.com/divisions/esm/app/author_tanenbaum/custom/dist_sys_1e/index.html

And additions made by Paul Barry in course CW046-4: Distributed Systems

http://glasnost.itcarlow.ie/~barryp/net4.html

Page 3: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

3

Introduction To Coordination Models

A taxonomy of coordination models (adapted from Cabri et al., 2000)

Page 4: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

4

Overall Approach

The principle of exchanging data items between publishers and subscribers

Page 5: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

5

Example: Jini and JavaSpaces

The general organization of a JavaSpace in Jini

Page 6: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

6

Example: TIB/Rendezvous

The principle of a publish/subscribe system as implemented in TIB/Rendezvous

Page 7: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

7

Example: A Gossip-Based Publish/Subscribe System

Grouping nodes for supporting range queries in a peer-to-peer publish/subscribe system

Page 8: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

8

Example: Lime

Transient sharing of local dataspaces in Lime

Page 9: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

9

Content-Based Routing (1)

Naive content-based routing

Page 10: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

10

Content-Based Routing (1)

A partially filled routing table

Page 11: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

11

Describing Composite Events (1)

Examples of events in a distributed system

Page 12: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

12

Describing Composite Events (2)

The finite state machine for subscription S3

Page 13: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

13

Describing Composite Events (3)

Two coupled FSMs

Page 14: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

14

General Considerations to Static Approaches (1)

• An efficient distributed implementation of a JavaSpace has to solve two problems:

1. How to simulate associative addressing without massive searching.

2. How to distribute tuple instances among machines and locate them later.

Page 15: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

15

General Considerations to Static Approaches (2)

A JavaSpace can be replicated on all machines. The dotted lines show the partitioning of the JavaSpace into subspaces.

(a) Tuples are broadcast on write.

Page 16: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

16

General Considerations to Static Approaches (3)

A JavaSpace can be replicated on all machines. The dotted lines show the partitioning of the JavaSpace into subspaces. (b) reads are local, but the removing an instance when calling take must be broadcast.

Page 17: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

17

General Considerations to Static Approaches (4)

Nonreplicated JavaSpace. (a) A write is done locally.

Page 18: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

18

General Considerations to Static Approaches (5)

Nonreplicated JavaSpace. (b) A read or take requires the template tuple to be broadcast in order to find a tuple instance.

Page 19: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

19

General Considerations to Static Approaches (6)

Partial broadcasting of tuples and template tuples

Page 20: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

20

GSpace Overview

Internal organization of a GSpace kernel

Page 21: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

21

Example: Fault Tolerance in TIB/Rendezvous (1)

The principle of PGM. (a) A message is sent along a multicast tree.

Page 22: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

22

Example: Fault Tolerance in TIB/Rendezvous (2)

The principle of PGM.

(b) A router will pass only a single NAK for each message.

Page 23: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

23

Example: Fault Tolerance in TIB/Rendezvous (3)

The principle of PGM.

(c) A message is retransmitted only to receivers that have asked for it.

Page 24: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

24

Fault Tolerance in Shared Dataspaces

The time line of a node experiencing failures

Page 25: 1 Distributed Systems Distributed Coordination-Based Systems Chapter 13.

25

Decoupling Publishers from Subscribers

Decoupling publishers from subscribers using an additional trusted service