湖南大学-信息科学与工程学院-计算机与科学系

Slides:



Advertisements
Similar presentations
Push Technology Humie Leung Annabelle Huo. Introduction Push technology is a set of technologies used to send information to a client without the client.
Advertisements

CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy)
Teaser - Introduction to Distributed Computing
1 CS 525 Advanced Distributed Systems Spring 09 Indranil Gupta Lecture 7 More on Epidemics (or “Tipping Point Protocols”) February 12, 2009 (gatorlog.com)
Gossip Algorithms and Implementing a Cluster/Grid Information service MsSys Course Amar Lior and Barak Amnon.
Lecture 7 Data distribution Epidemic protocols. EECE 411: Design of Distributed Software Applications Epidemic algorithms: Basic Idea Idea Update operations.
Gossip algorithms : “infect forever” dynamics Low-level objectives: – One-to-all: Disseminate rumor from source node to all nodes of network – All-to-all:
Reliable Group Communication Quanzeng You & Haoliang Wang.
Gossip Scheduling for Periodic Streams in Ad-hoc WSNs Ercan Ucan, Nathanael Thompson, Indranil Gupta Department of Computer Science University of Illinois.
1 CS525 Advanced Distributed Systems Spring 2015 Indranil Gupta (Indy) Lecture 1 January 20, 2015 All Slides © IG.
CS542: Topics in Distributed Systems
Self Healing Wide Area Network Services Bhavjit S Walha Ganesh Venkatesh.
Multicast Communication Multicast is the delivery of a message to a group of receivers simultaneously in a single transmission from the source – The source.
Epidemic spreading in complex networks: from populations to the Internet Maziar Nekovee, BT Research Y. Moreno, A. Paceco (U. Zaragoza) A. Vespignani (LPT-
Communication (II) Chapter 4
Probabilistic Broadcast Presented by Keren Censor 1.
Epidemics Michael Ford Simon Krueger 1. IT’S JUST LIKE TELEPHONE! 2.
1 CS525 Advanced Distributed Systems Spring 2011 Indranil Gupta (Indy) Lecture 1 January 18, 2011 All Slides © IG.
Dec 4, 2007 Reliable Multicast Group Neelofer T. CMSC 621.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
Impact of Topology on Overlay Multicast Suat Mercan.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Gossiping Steve Ko Computer Sciences and Engineering University at Buffalo.
Group Communication Group oriented activities are steadily increasing. There are many types of groups:  Open and Closed groups  Peer-to-peer and hierarchical.
1 SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks Presented By Thomas H. Hand Duke University Adapted from: “ SmartGossip: An Adaptive.
2007/1/15http:// Lightweight Probabilistic Broadcast M2 Tatsuya Shirai M1 Dai Saito.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Gossiping Steve Ko Computer Sciences and Engineering University at Buffalo.
CS603 Fault Tolerance - Communication April 17, 2002.
Push Technology Humie Leung Annabelle Huo. Introduction Push technology is a set of technologies used to send information to a client without the client.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Lecture 19-1 Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013 Indranil Gupta (Indy) October 29, 2013 Lecture 19 Gossiping Reading: Section.
Fault Tolerance (2). Topics r Reliable Group Communication.
CSE 486/586 CSE 486/586 Distributed Systems Gossiping Steve Ko Computer Sciences and Engineering University at Buffalo.
Lecture 19-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) October 30, 2012 Lecture 19 Gossiping.
Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2011 Gossiping Reading: Section 15.4 / 18.4  2011, N. Borisov, I. Gupta, K. Nahrtstedt,
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Reliable multicast Tolerates process crashes. The additional requirements are: Only correct processes will receive multicasts from all correct processes.
CSE 486/586 Distributed Systems Gossiping
SmartGossip: A Reliable Broadcast Service for Wireless Sensor Networks
Cassandra - A Decentralized Structured Storage System
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
Multicast Outline Multicast Introduction and Motivation DVRMP.
CS525 Advanced Distributed Systems Spring 2013
CS525 Advanced Distributed Systems Spring 2009
Introduction to NewSQL
Gossip-based Data Dissemination
CHAPTER 3 Architectures for Distributed Systems
CS 425 / ECE 428 Distributed Systems Fall 2017 Indranil Gupta (Indy)
Intra-Domain Routing Jacob Strauss September 14, 2006.
Reliable group communication
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT -Sumanth Kandagatla Instructor: Prof. Yanqing Zhang Advanced Operating Systems (CSC 8320)
湖南大学-信息科学与工程学院-计算机与科学系
Providing Secure Storage on the Internet
Global State and Gossip
湖南大学-信息科学与工程学院-计算机与科学系
Reliable Multicast Group
湖南大学-信息科学与工程学院-计算机与科学系
Advanced Operating System
PERSPECTIVES ON THE CAP THEOREM
From Viewstamped Replication to BFT
EEC 688/788 Secure and Dependable Computing
Replica Placement Model: We consider objects (and don’t worry whether they contain just data or code, or both) Distinguish different processes: A process.
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Last Class: Web Caching
CS 425 / ECE 428 Distributed Systems Fall 2018 Indranil Gupta (Indy)
CSE 486/586 Distributed Systems Time and Synchronization
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
-By Shrutirupa Let Us Gossip About It!! -By Shrutirupa
Presentation transcript:

湖南大学-信息科学与工程学院-计算机与科学系 云计算技术 陈果 副教授 湖南大学-信息科学与工程学院-计算机与科学系 邮箱:guochen@hnu.edu.cn 个人主页:1989chenguo.github.io https://1989chenguo.github.io/Courses/CloudComputing2018Spring.html

What we have learned What is cloud computing Cloud Networking Cloud Distributed System Introduction to Cloud Distributed System MapReduce Paradigm Examples Scheduling Fault-tolerance

Gossip Part #2: Cloud Distributed System Most materials from UIUC MOOC Thanks Indranil Gupta

Outline Introduction to multicast problem Gossip protocol Gossip analysis Gossip implementation

Outline Introduction to multicast problem Gossip protocol Gossip analysis Gossip implementation

Node with a piece of information to deliver to everyone Multicast problem Delivering the message to the targeting collection of nodes Node with a piece of information to deliver to everyone Distributed group of nodes

Requirement of multicast in cloud systems Performance, fault-tolerance, scalability Performance: Quickly deliver messages Fault-tolerance: Nodes may crash; Packets may be dropped Scalability: 10K+ of nodes

Simple solution #1: Centralized Simplest implementation Problem Scalability, Fault-tolerance, Performance Multicast sender UDP/TCP packets

Simple solution #2: Tree-based Build a spanning tree among the processes of the multicast group Use spanning tree to disseminate multicasts Use ACKs or negative ACK (NACKs) to repair multicasts not received Multicast sender UDP/TCP packets ACK/NACK

Simple solution #2: Tree-based [Problem] Scalability ACK/NACK storm Fault-tolerance Single node crash affects a lot of downstream nodes ACK/NACK Multicast sender UDP/TCP packets

Outline Introduction to multicast problem Gossip protocol Gossip analysis Gossip implementation

Periodically (e.g., every t minutes) transmit to b random targets Gossip protocol Periodically (e.g., every t minutes) transmit to b random targets Multicast sender b=2 Time = t UDP gossip message

Other nodes do same after receiving multicast Gossip protocol Other nodes do same after receiving multicast Multicast sender b=2 Time = t UDP gossip message

Other nodes do same after receiving multicast Gossip protocol Other nodes do same after receiving multicast Multicast sender b=2 Time = t UDP gossip message

Other nodes do same after receiving multicast Gossip protocol Other nodes do same after receiving multicast Multicast sender b=2 Time = 2t UDP gossip message

Other nodes do same after receiving multicast Gossip protocol Other nodes do same after receiving multicast Multicast sender b=2 Time = 2t UDP gossip message

Other nodes do same after receiving multicast Gossip protocol Other nodes do same after receiving multicast Multicast sender b=2 Time = 3t UDP gossip message

Other nodes do same after receiving multicast Gossip protocol Other nodes do same after receiving multicast Multicast sender b=2 Time = 3t UDP gossip message

Gossip protocol Periodically (e.g., every t minutes) transmit to b random targets Asynchronized clock in each node Other nodes do same after receiving multicast Not rely on reliable transmission Multicast sender UDP gossip message

Gossip protocol Two gossip versions: “Push” and “Pull” From He Sun, University of Edingburgh From He Sun, University of Edingburgh Two gossip versions: “Push” and “Pull” Push: One with gossip periodically sends it to other random nodes Pull: One without gossip periodically requests it from other random nodes

Outline Introduction to multicast problem Gossip protocol Gossip analysis Gossip implementation

Recall the requirement of multicast in cloud Performance, fault-tolerance, scalability Performance: Quickly deliver messages Fault-tolerance: Nodes may crash; Packets may be dropped Scalability: 10K+ of nodes Now we analyze the gossip protocol, to see why it has: High performance: Spreads multicast quickly Good scalability: Lightweight in large groups Good fault-tolerance: Robust to node and network failure

Some necessary definitions From old mathematical branch of Epidemiology [Bailey 75] In total (𝑛+1) individuals Contact rate between any individual pair is 𝛽 At any time, each individual is either uninfected (numbering 𝑥) or infected (numbering 𝑦) Then, 𝑥 0 =𝑛, 𝑦 0 =1, and at all times, 𝑥+𝑦=𝑛+1 Infected–uninfected contact turns latter infected, and it stays infected 𝑦 𝑥 rate = 𝛽 𝑛+1

Analysis Assuming to be a continuous time process Then With solution 𝑑𝑥 𝑑𝑡 =−𝛽𝑥𝑦 (why?) With solution 𝑥= 𝑛(𝑛+1) 𝑛+ 𝑒 𝛽 𝑛+1 𝑡 , 𝑦= 𝑛+1 1+ 𝑛𝑒 −𝛽 𝑛+1 𝑡 𝛽= 𝑏 𝑛 (why?) At time 𝑡=𝑐𝑙𝑜𝑔 𝑛 , 𝑦≈ 𝑛+1 − 1 𝑛 𝑐𝑏−2

Analysis (contd.) High performance: Spreads multicast quickly Within 𝑐𝑙𝑜𝑔 𝑛 rounds, all but 1 𝑛 𝑐𝑏−2 nodes received the multicast Good scalability: Lightweight in large groups Each node transmitted ≤𝑐𝑏𝑙𝑜𝑔 𝑛 gossip messages Good fault-tolerance: Robust to node and network failure ?

Analysis: Fault-tolerance Think about infectious diseases Packet loss 50% packet loss: 𝑏 →𝑏/2 Take twice as many rounds Node failure 50% node fail: n →𝑛/2 and 𝑏 →𝑏/2 With failures, is it possible that the gossip might die out quickly? High probability not! [Galey and Dani 98]

Analysis: Pull gossip After the ith round, let 𝑃 𝑖 be the fraction of non-infected processes. Then the probability of a node remains to be non-infected after this round equals (𝑃 𝑖 ) 𝑘 (k=number of pulls per round per node) Then 𝑃 𝑖+1 = 𝑃 𝑖 − 𝑃 𝑖 ×(1− (𝑃 𝑖 ) 𝑘 ) This is super-exponential! Really fast Multicast sender k=2

Analysis: Topology-aware Gossip Network topology is hierarchical Random gossip target selection Core routers face O(N) load (Why?) Fix: In subnet i, which contains ni nodes pick gossip target in your subnet with probability 𝟏−𝟏/𝐧𝐢 Router load=O(1) (Why?) Dissemination time=O(log(N)) (Why?) Spine N/2 nodes N/2 nodes

Outline Introduction to multicast problem Gossip protocol Gossip analysis Gossip implementation

So, … Is this all theory and a bunch of equations? Or are there implementations yet?

Some implementations Clearinghouse and Bayou projects: email and database transactions [PODC’87] refDBMS system [Usenix’94] Bimodal Multicast [ACM TOCS’99] Sensor networks [Li Li et al, Infocom’02, and PBBF, ICDCS’05] AWS EC2 and S3 Cloud (rumored). [‘00s] Cassandra key-value store (and others) use gossip for maintaining membership lists Usenet NNTP (Network News Transport Protocol) [‘79]

NNTP Inter-server Protocol Each client uploads and downloads news posts from a news server Server retains news posts for a while, transmits them lazily, deletes them after a while.

Summary Multicast is an important problem Tree-based multicast protocols not enough When concerned about scale and fault-tolerance, gossip is an attractive solution Also known as epidemics Fast, reliable, fault-tolerant, scalable, topology-aware

湖南大学-信息科学与工程学院-计算机与科学系 Thanks! 陈果 副教授 湖南大学-信息科学与工程学院-计算机与科学系 邮箱:guochen@hnu.edu.cn 个人主页:1989chenguo.github.io https://1989chenguo.github.io/Courses/CloudComputing2018Spring.html