group communication theresa nguyen ics243f spring 2001

24
Group Communication Theresa Nguyen Theresa Nguyen ICS243f Spring 2001 ICS243f Spring 2001

Upload: kerry-golden

Post on 17-Jan-2018

221 views

Category:

Documents


0 download

DESCRIPTION

Architecture Central protocol => Lego Blocks Central protocol => Lego Blocks Each Lego block implements a communication feature. Each Lego block implements a communication feature. Standardized top and bottom interface (HCPI) Standardized top and bottom interface (HCPI)  Allow blocks to communicate  A block has entry points for upcall/downcall  Upcall=receive mesg, Downcall=send mesg. Create new protocol by rearranging blocks. Create new protocol by rearranging blocks.

TRANSCRIPT

Page 1: Group Communication Theresa Nguyen ICS243f Spring 2001

Group Communication

Theresa NguyenTheresa NguyenICS243f Spring 2001ICS243f Spring 2001

Page 2: Group Communication Theresa Nguyen ICS243f Spring 2001

Horus: A Flexible Group Communication System Flexible group communication model to Flexible group communication model to

application developers.application developers.1.1. System interfaceSystem interface2.2. Properties of Protocol StackProperties of Protocol Stack3.3. Configuration of HorusConfiguration of Horus

Run in userspaceRun in userspace Run in OS kernel/microkernelRun in OS kernel/microkernel

Page 3: Group Communication Theresa Nguyen ICS243f Spring 2001

Architecture Central protocol => Lego BlocksCentral protocol => Lego Blocks Each Lego block implements a communication Each Lego block implements a communication

feature.feature. Standardized top and bottom interface (HCPI)Standardized top and bottom interface (HCPI)

Allow blocks to communicateAllow blocks to communicate A block has entry points for upcall/downcallA block has entry points for upcall/downcall Upcall=receive mesg, Downcall=send mesg.Upcall=receive mesg, Downcall=send mesg.

Create new protocol by rearranging blocks.Create new protocol by rearranging blocks.

Page 4: Group Communication Theresa Nguyen ICS243f Spring 2001
Page 5: Group Communication Theresa Nguyen ICS243f Spring 2001

Message_send

Lookup the entry in topmost block and Lookup the entry in topmost block and invokes the function.invokes the function.

Function adds headerFunction adds header Message_send is recursively sent down the Message_send is recursively sent down the

stackstack Bottommost block invokes a driver to send Bottommost block invokes a driver to send

message.message.

Page 6: Group Communication Theresa Nguyen ICS243f Spring 2001

Each stack shielded from each other.Each stack shielded from each other. Have own threads and memory scheduler.Have own threads and memory scheduler.

Page 7: Group Communication Theresa Nguyen ICS243f Spring 2001

Endpoints, Group, and Message Objects EndpointsEndpoints

Models the communicating entityModels the communicating entity Have address (used for membership), send and receive Have address (used for membership), send and receive

messagesmessages GroupGroup

Maintain local state on an endpoint. Maintain local state on an endpoint. Group address: to which message is sentGroup address: to which message is sent View: List of destination endpoint addr of accessible group View: List of destination endpoint addr of accessible group

membersmembers MessageMessage

Local storage structureLocal storage structure Interface includes operation pop/push headersInterface includes operation pop/push headers Passed by referencePassed by reference

Page 8: Group Communication Theresa Nguyen ICS243f Spring 2001
Page 9: Group Communication Theresa Nguyen ICS243f Spring 2001

Transis : Group Communication System Network partitions and recovery tools.Network partitions and recovery tools.

Multiple disconnected components in the Multiple disconnected components in the network operate autonomously.network operate autonomously.

Merge these components upon recovery.Merge these components upon recovery. Hierachical communication structure.Hierachical communication structure. Fast cluster communication.Fast cluster communication.

Page 10: Group Communication Theresa Nguyen ICS243f Spring 2001

Systems that depend on primary component: Isis System: Designate 1 component as primary and Isis System: Designate 1 component as primary and

shuts down non-primary.shuts down non-primary. Period before partition detected, non-primaries can Period before partition detected, non-primaries can

continue to operate.continue to operate. Operations are inconsistent with primaryOperations are inconsistent with primary

Trans/Total System and Amoeba: Trans/Total System and Amoeba: Allow continued operations Allow continued operations Inconsistent Operations may occur in different parts Inconsistent Operations may occur in different parts

of the system.of the system. Don’t provide recovery mechanismDon’t provide recovery mechanism

Page 11: Group Communication Theresa Nguyen ICS243f Spring 2001

Group Service Work of the collection of group modules.Work of the collection of group modules. Manager of group messages and group viewsManager of group messages and group views A group module maintainsA group module maintains

Local View: List of currently connected Local View: List of currently connected and operational participantsand operational participants

Hidden View: Like local view, indicated Hidden View: Like local view, indicated the view has failed but may have formed in the view has failed but may have formed in another part of the system.another part of the system.

Page 12: Group Communication Theresa Nguyen ICS243f Spring 2001
Page 13: Group Communication Theresa Nguyen ICS243f Spring 2001

Network partition wishlist

1.1. At least one component of the network should be At least one component of the network should be able to continue making updates.able to continue making updates.

2.2. Each machine should know about the update Each machine should know about the update messages that reached all of the other machines messages that reached all of the other machines before they were disconnected.before they were disconnected.

3.3. Upon recovery, only the missing messages Upon recovery, only the missing messages should be exchanged to bring the machines back should be exchanged to bring the machines back into a consistent state.into a consistent state.

Page 14: Group Communication Theresa Nguyen ICS243f Spring 2001

Transis supports partition Not all applications progress is dependent on a primary Not all applications progress is dependent on a primary

component.component. In Transis, local views can be merged efficiently.In Transis, local views can be merged efficiently.

Representative replays messages upon merging.Representative replays messages upon merging. Support recovering a primary component.Support recovering a primary component.

Non-primary can remain operational and wait to Non-primary can remain operational and wait to merge with primarymerge with primary

Non-primary can generate a new one if primary if it is Non-primary can generate a new one if primary if it is lost.lost.

Members can totally-order past view changes Members can totally-order past view changes events. Recover possible loss.events. Recover possible loss.

Transis report Hidden-views.Transis report Hidden-views.

Page 15: Group Communication Theresa Nguyen ICS243f Spring 2001
Page 16: Group Communication Theresa Nguyen ICS243f Spring 2001

Hierarchical Broadcast

Page 17: Group Communication Theresa Nguyen ICS243f Spring 2001

Reliable Multicast Engine In system that do not lose messages oftenIn system that do not lose messages often

Use negative-ackUse negative-ackMessages not retransmitted Messages not retransmitted Positive ack are piggybacked into regular mesgPositive ack are piggybacked into regular mesg

Detection of lost messages detected ASAPDetection of lost messages detected ASAP

Under high network traffic, network and underlying Under high network traffic, network and underlying protocol is driven to high loss rate.protocol is driven to high loss rate.

Page 18: Group Communication Theresa Nguyen ICS243f Spring 2001

Group Communication as an Infrastructure for Distributed System Management

Table ManagementTable Management User accounts, network tablesUser accounts, network tables

Software Installation and Version ControlSoftware Installation and Version Control Speed up installation, minimize latency and Speed up installation, minimize latency and

network load during installationnetwork load during installation Simultaneous ExecutionSimultaneous Execution

Invoke same commands on several machinesInvoke same commands on several machines

Page 19: Group Communication Theresa Nguyen ICS243f Spring 2001
Page 20: Group Communication Theresa Nguyen ICS243f Spring 2001

Management Server API Status: Return status of server and its host machines Status: Return status of server and its host machines Chdir: Change the server’s working directoryChdir: Change the server’s working directory Simex: Execute a command simultaneouslySimex: Execute a command simultaneously Siminist: Install a software packageSiminist: Install a software package Update-map: Update map while preserving Update-map: Update map while preserving

consistency between replicasconsistency between replicas Query-map: Retrieve information from the mapQuery-map: Retrieve information from the map Exit: Terminate the management server process.Exit: Terminate the management server process.

Page 21: Group Communication Theresa Nguyen ICS243f Spring 2001

Simultaneous Execution Identical management command on many Identical management command on many

machines.machines. Activate a daemon, run a scriptActivate a daemon, run a script

Management Server maintainsManagement Server maintains Set M: most recent membership of the group Set M: most recent membership of the group

reported by transisreported by transis Set NR: set of currently connected servers not Set NR: set of currently connected servers not

yet reported the outcome of a command yet reported the outcome of a command execution to the monitorexecution to the monitor

Page 22: Group Communication Theresa Nguyen ICS243f Spring 2001
Page 23: Group Communication Theresa Nguyen ICS243f Spring 2001

Software Installation Transis disseminate files to group members.Transis disseminate files to group members.

Monitor multicasts a mesg advertising Monitor multicasts a mesg advertising package Ppackage Pset of installation requirements Rpset of installation requirements Rp installation multicast group Gpinstallation multicast group Gp target list Tp.target list Tp.

Management server joins Gp if belongs to Rp and Tp.Management server joins Gp if belongs to Rp and Tp. Status of all Management server reported to MonitorStatus of all Management server reported to Monitor

Use technique in “Simultaneous Execution” to execute Use technique in “Simultaneous Execution” to execute installation commands.installation commands.

Page 24: Group Communication Theresa Nguyen ICS243f Spring 2001

Table Management Consistent management of replicated Consistent management of replicated

network tables.network tables. Servers sharing replicas of tables form Servers sharing replicas of tables form

Service GroupService Group 1 Primary Server1 Primary Server

Enforces total order of update mesgEnforces total order of update mesg If network partition, one component If network partition, one component

(containing Primary) can perform updates(containing Primary) can perform updates