group communication theresa nguyen ics243f spring 2001
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/1.jpg)
Group Communication
Theresa NguyenTheresa NguyenICS243f Spring 2001ICS243f Spring 2001
![Page 2: Group Communication Theresa Nguyen ICS243f Spring 2001](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/4.jpg)
![Page 5: Group Communication Theresa Nguyen ICS243f Spring 2001](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/8.jpg)
![Page 9: Group Communication Theresa Nguyen ICS243f Spring 2001](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/12.jpg)
![Page 13: Group Communication Theresa Nguyen ICS243f Spring 2001](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/15.jpg)
![Page 16: Group Communication Theresa Nguyen ICS243f Spring 2001](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/16.jpg)
Hierarchical Broadcast
![Page 17: Group Communication Theresa Nguyen ICS243f Spring 2001](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/19.jpg)
![Page 20: Group Communication Theresa Nguyen ICS243f Spring 2001](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/22.jpg)
![Page 23: Group Communication Theresa Nguyen ICS243f Spring 2001](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062311/5a4d1b007f8b9ab059986718/html5/thumbnails/24.jpg)
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