21
ADAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna 300 Kms

A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT IST-2001-37126

Role of Group Communication in BS Architecture

(or: Which platform are we going to use ?)

Alberto BartoliUniversity of trieste

Bologna

300 Kms

Page 2: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Group Communication

Group Communication (GC)Suite of communication and membership primitivesVery useful for implementing replication algorithmsIn particular, in the presence of failures

(host, network)

BS will certainly use some form of replication

BS will certainly use some form of GC

Page 3: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Options

JavaGroupsUsed in JBoss clustering extensionsImplemented in Java (stack of layers)

SpreadUsed in a variety of environmentsImplemented in C (Java interface

available)

JBoraUsed in my lab only…Thin Java layer on top of Spread

Reliable Broadcast

Uniform Broadcast(much more powerful)

Novel idea (?)“Primary Uniform” Broadcast

(much simpler to use)

Page 4: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Replication

Action A executed upon receiving a multicastExecute a method on a local objectUpdate the serialized state of a local beanCommit a transaction...

m m m

“Frequent” (informal) requirement:

If a process executes A and then crashes,

Then A must be executed also by all processes that do not crash(“actions must not be lost”)

Page 5: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Reliable broadcast ( JavaGroups)

Either all correct processes deliver a message or none of them does

No guarantee on processes that are not “correct” !!!

Failure

Membershipchange

Executing A might not be safe !

Page 6: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

NO NO NO

Uniform broadcast ( Spread)

If a process delivers a message,then all correct processes deliver that message

Executing A is always safe !

Page 7: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

In practice“Cross-the-fingers” reliability

(don’t know or don’t care)“Real” reliability

Uniform broadcastReliable broadcast + Additional measures

Replicated Databases: if a replica commits a transaction not committed by other replicas, undo the transaction later (Bettina)

Replicated Services: whenever a replica crashes, surviving replicas fetch from all clients the last reply they have received (Karamanolis, Magee — IEEE TSE)

Replicated Data: wait for an explicit responsefrom every available replica(myself, Ozalp — JPDC) (JBoss SFSB clustering)

Page 8: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

“Real reliability”Reliable broadcast + Additional measures: ( JavaGroups)Each additional measure is ad-hocEach additional measure is complex

(many failure patterns to consider and to cope with)

Lot of work above the GC layer

Uniform broadcast: ( Spread)No additional measuresSystematic approach, complexity within the GC layer

Very little work above the GC layer

Page 9: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Uniform broadcast:Hhmmm….

If the network can partition,you need additional measures

again !!!

Again the same problem !

“The view is about to split;GC can’t tell whether the processes that are about to leave

have received the messages that follow”

All correct processeswill receive this

In-doubt message:can’t tell who will receive this!

Page 10: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

JBora

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

Primary View

Non-Primary View

9 10 11

9 10 11

9 10 11

Very simple reasoning for the “common case”Processes that leave the primary view deliver a prefix

of the sequence of messages in the primary view

Executing A is always safe !No need for additional

measures !

Page 11: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

So what ?

JavaGroupsSpreadJBora

Page 12: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Scenario 1

My suggestion:Forget about uniform multicast (Spread, JBora)Stick with JavaGroups

We want to rely (almost) completely on

(some snapshot of) JBoss clustering

Preliminary WP1 Meeting (Bologna, Trieste)Encapsulating Spread within JavaGroupsEncapsulating JBora within JavaGroups…too complex, dubious advantages(see meeting slides for details)

Page 13: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Scenario 2

My suggestion:We are not interested in uniform multicast Use

JavaGroupsWe are interested in uniform multicast Use

JBora

We don’t want to run behind JBoss clustering

(write our own clustering features)

Page 14: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

My opinion

If we use JavaGroups I will ask to restructure WP1

(Task 1.3 “Support for group communication”)Month 18: Dear reviewer, Trieste has led Task 1.3. We did almost

nothing.

If we decide to write our own clustering features I don’t see any single reason why we should eliminate

uniform multicast from the beginning

Page 15: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Experiments:“Throughput under stress”

Each sender injects 1000 msg/sec (bursty) All details available in a separate document

(4 PIII 800 MHz, Windows 2000, Ethernet 100 MB)

Important findings about JavaGroups(configured as in JBoss clustering):

Processes may start missing messages and this occurs silently(no failure notification whatsoever)

You cannot start / recover multiple processes simultaneously (they do not discover each other)

Does not seem very “reliable” (at least, when stressed)

Page 16: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

A few numbers...

Recall:Spread, JBora: Message throughput Operation

throughoutJavaGroups: Message throughput < Operation

throughput(N responses for each multicast)

Spread JBoraJavaGroups

1 sender (500 Byte) 640 576 5612 senders 1254 871 4961 sender (5 KBytes) 323 323 1652 senders 592 359 275

TotalUniform

FIFOReliable

Failed !

150 !

Verypreliminary...

Page 17: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Appendix

Page 18: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Uniform broadcast:How is it implemented ?

In practice, many, many optimizations:The white messages are not separated

messages,but fields of other messages required anyway

Costly, but not as much as it seems

Messages within the GC Layersfor one uniform broadcast

Uniform broadcast delivered only upon the second broadcast

m

ack

deliver m

Page 19: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

JBoss Clustering (I)

Messages from the applicationlayer for one operation

m

done

My belief:Less efficient than uniform multicastThe application injects N one-to-one

messages into the system

Page 20: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

JBoss Clustering (II)

I know from our JPDC work that coping with view changes here is VERY complex

Does JBoss really handle all cases correctly ?

m

done

Devising all possible failure patterns and coping with them correctly is very, very complex

Difficult to achieve full confidence in the algorithm and its implementation

Page 21: A DAPT IST-2001-37126 Role of Group Communication in BS Architecture (or: Which platform are we going to use ?) Alberto Bartoli University of trieste Bologna

ADAPT

Transitional Views:Why cannot be avoided ?

Suppose a network failure during the protocol

GCLayer may end up with one side of the partitionthat does not know whether the other side hasreceived the message

Two approaches:GCLayer waits until the partition recovers

(not feasible)GCLayer notifies the application of the new view after a

warning