Group Communication using Ensemble Part II. 2 Introduction From previous tutorial: Ensemble’s application interface: Concepts of Group Membership, View,

Slides:



Advertisements
Similar presentations
1 Process groups and message ordering If processes belong to groups, certain algorithms can be used that depend on group properties membership create (
Advertisements

CS3771 Today: deadlock detection and election algorithms  Previous class Event ordering in distributed systems Various approaches for Mutual Exclusion.
Lecture 8: Asynchronous Network Algorithms
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
Intermediate TCP/IP TCP Operation.
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Efficient Solutions to the Replicated Log and Dictionary Problems
Lab 2 Group Communication Andreas Larsson
The Ensemble system Phuong Hoai Ha & Yi Zhang Introduction to Lab. assignments March 31st, 2004.
Ensemble Group Communication Middleware. 2 Group Communication - Overview Ensemble – a group communications implementation for research
Causality & Global States. P1 P2 P Physical Time 4 6 Include(obj1 ) obj1.method() P2 has obj1 Causality violation occurs when order.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
CS 582 / CMPE 481 Distributed Systems Replication.
Multicast Protocols Jed Liu 28 February Introduction  Recall Atomic Broadcast:  All correct processors receive same set of messages.  All messages.
Group Communication Phuong Hoai Ha & Yi Zhang Introduction to Lab. assignments March 24 th, 2004.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Lecture 13 Synchronization (cont). EECE 411: Design of Distributed Software Applications Logistics Last quiz Max: 69 / Median: 52 / Min: 24 In a box outside.
Exam Like Problems. Problem 1 You are given a software module which implements consensus between a static group of servers in an unreliable network. The.
William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
.NET Mobile Application Development Remote Procedure Call.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Lab 1 Bulletin Board System Farnaz Moradi Based on slides by Andreas Larsson 2012.
Presentation on Osi & TCP/IP MODEL
Modeling Process CSCE 668Set 14: Simulations 2 May be several algorithms (processes) runs on each processor to simulate the desired communication system.
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
Leader Election Algorithms for Mobile Ad Hoc Networks Presented by: Joseph Gunawan.
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
A Survey of Rollback-Recovery Protocols in Message-Passing Systems.
ECE291 Computer Engineering II Lecture 23 Dr. Zbigniew Kalbarczyk University of Illinois at Urbana- Champaign.
TOTEM: A FAULT-TOLERANT MULTICAST GROUP COMMUNICATION SYSTEM L. E. Moser, P. M. Melliar Smith, D. A. Agarwal, B. K. Budhia C. A. Lingley-Papadopoulos University.
University of the Western Cape Chapter 12: The Transport Layer.
Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 3.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Replication (1). Topics r Why Replication? r System Model r Consistency Models – How do we reason about the consistency of the “global state”? m Data-centric.
Hwajung Lee. A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types of groups:
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Totally Ordered Broadcast in the face of Network Partitions [Keidar and Dolev,2000] INF5360 Student Presentation 4/3-08 Miran Damjanovic
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Fault Tolerant Services
D u k e S y s t e m s Asynchronous Replicated State Machines (Causal Multicast and All That) Jeff Chase Duke University.
The Totem Single-Ring Ordering and Membership Protocol Y. Amir, L. E. Moser, P. M Melliar-Smith, D. A. Agarwal, P. Ciarfella.
Reliable Communication Smita Hiremath CSC Reliable Client-Server Communication Point-to-Point communication Established by TCP Masks omission failure,
ICMPv6 Error Message Types Informational Message Types.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
Building Dependable Distributed Systems, Copyright Wenbing Zhao
Group Communication Theresa Nguyen ICS243f Spring 2001.
RIP Routing Protocol. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
Lecture 4-1 Computer Science 425 Distributed Systems (Fall2009) Lecture 4 Chandy-Lamport Snapshot Algorithm and Multicast Communication Reading: Section.
Fault Tolerance (2). Topics r Reliable Group Communication.
UDP: User Datagram Protocol Chapter 12. Introduction Multiple application programs can execute simultaneously on a given computer and can send and receive.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Data Link Layer Part II – Sliding Window Protocols.
INF3190 – Home Exam 2. Goal The goal of this exercise is to provide network layer reliability for the monitoring/administration tool presented in “home.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Last Class: Introduction
PREGEL Data Management in the Cloud
Advanced Operating System
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Presentation transcript:

Group Communication using Ensemble Part II

2 Introduction From previous tutorial: Ensemble’s application interface: Concepts of Group Membership, View, Sending and receiving Today: Ensemble’s architecture Discussion of Ensemble’s layers

3 Ensemble Infrastructure Layered protocol architecture All features are implemented as microprotocols/layers Layers are implemented as a set of callbacks that handle events passed to them. Each instance of a layer maintain a private local state. A new stack is created for a new configuration at each endpoint (node) Ability to change the group protocol on the fly

4 Stacks Combinations of layers that work together to provide high-level protocols Stack creation: A new protocol stack is created at each endpoint of a group whenever the configuration (e.g. the view) of the group changes. All endpoint in the same partition receive the same ViewState record to create their stack: select appropriate layers according to the ViewState create a new local state for each layer compose the protocol layers

5 Communication Ensemble embodies two forms of communication. The first is communication between protocol stacks in a group, using messages sent via some communication transport. The second is intra-stack communication between protocol layers sharing a protocol stack, using Ensemble events

6 Intra-stack communication Layers communicate with their neighbors in the same stack by sending events. Each layer has a callback reference to the two layers immediately above and below itself. The Ensemble infrastructure guarantees FIFO ordering on events passed between two layers No concurrency guarantee: The system infrastructure that hands events to layers through the callbacks never invokes a layer’s callbacks concurrently. It guarantees that at most one invocation of any callback is executing at a time and that the current callback returns before another callback is made to the protocol layer.

7 Intra-stack communication cont. The execution of a protocol stack can be visualized as a set of protocol layers executing with a pair of event queues between each pair: one queue for events going up and another for events going down. The protocol layers are then automata that repeatedly are scheduled to take pending events from one of the adjacent incoming queues, execute it, and then deposit zero or more events into two adjacent outgoing queues

8 Intra-stack communication cont.

9 Inter-stack communication A layer in the stack may send a message to its corresponding peer on a different stack in the following ways: Generating a new message Piggybacking information to a message received from the layer above Layers never read or modify other layers’ message headers

10 Inter-stack communication cont.

11 Block Chain

12 Exploring the Ensemble layers - Reliable multicast Mnak layer: Implement a reliable fifo-ordered multicast protocol Messages from live members are delivered reliably Messages from faulty members are retransmitted by live members Protocol: Keep a record of all multicast messages to retransmit on demand Use Stable event from Stable layer: StblVct vector is used for garbage collection NumCast vector gives an indication to lost messages => recover them

13 Stability Stable layer: Track the stability of multicast messages Protocol: Maintain Acks[N][N] by unreliable multicast: Acks[s][t]: #( s ’ messages) that t has acknowledged Stability vector StblVct = {(minimum of row s): (for each s)} NumCast vector NumCast = {(maximum of row s): (for each s)} Occasionally, recompute StblVct and NumCast, then send them down in a Stable event.

14 Ordering Sequencer layer Provide total ordering Protocol: Members buffer all messages received from below in a local buffer The leader periodically multicasts an ordering message Members deliver the buffered messages according to the leader’s instructions

15 Failure Detector Suspect layer: Regularly ping other members to check for suspected failures Protocol: If (#unacknowledged Ping messages for a member > threshold) send a Suspect event down Slander layer: Share suspicions between members of a partition The leader is informed so that faulty members are removed, even if the leader does not detect the failures. Protocol: The protocol multicasts slander messages to other members whenever receiving a new Suspect event