Toward Fault-tolerant P2P Systems: Constructing a Stable Virtual Peer from Multiple Unstable Peers Kota Abe, Tatsuya Ueda (Presenter), Masanori Shikano,

Slides:



Advertisements
Similar presentations
Remus: High Availability via Asynchronous Virtual Machine Replication
Advertisements

Impossibility of Distributed Consensus with One Faulty Process
Replication techniques Primary-backup, RSM, Paxos Jinyang Li.
CS 542: Topics in Distributed Systems Diganta Goswami.
Teaser - Introduction to Distributed Computing
Distributed Systems Overview Ali Ghodsi
The SMART Way to Migrate Replicated Stateful Services Jacob R. Lorch, Atul Adya, Bill Bolosky, Ronnie Chaiken, John Douceur, Jon Howell Microsoft Research.
Gossip Algorithms and Implementing a Cluster/Grid Information service MsSys Course Amar Lior and Barak Amnon.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
The road to reliable, autonomous distributed systems
EEC 688/788 Secure and Dependable Computing Lecture 12 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Virtual Synchrony Jared Cantwell. Review Multicast Causal and total ordering Consistent Cuts Synchronized clocks Impossibility of consensus Distributed.
State Machine Replication Project Presentation Ido Zachevsky Marat Radan Supervisor: Ittay Eyal Winter Semester 2010.
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
EEC 688/788 Secure and Dependable Computing Lecture 12 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
1 Principles of Reliable Distributed Systems Lecture 5: Failure Models, Fault-Tolerant Broadcasts and State-Machine Replication Spring 2005 Dr. Idit Keidar.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
1 A Framework for Highly Available Services Based on Group Communication Alan Fekete Idit Keidar University of Sidney MIT.
State Machines CS 614 Thursday, Feb 21, 2002 Bill McCloskey.
Lab 1 Bulletin Board System Farnaz Moradi Based on slides by Andreas Larsson 2012.
Data Consistency in the Structured Peer-to-Peer Network Cheng-Ying Ou, Polly Huang Network and Systems Lab 台灣大學電機資訊學院電機所.
ATIF MEHMOOD MALIK KASHIF SIDDIQUE Improving dependability of Cloud Computing with Fault Tolerance and High Availability.
RUNNING PARALLEL APPLICATIONS BEYOND EP WORKLOADS IN DISTRIBUTED COMPUTING ENVIRONMENTS Zholudev Yury.
An Efficient Topology-Adaptive Membership Protocol for Large- Scale Cluster-Based Services Jingyu Zhou * §, Lingkun Chu*, Tao Yang* § * Ask Jeeves §University.
Ahmad Al-Shishtawy 1,2,Tareq Jamal Khan 1, and Vladimir Vlassov KTH Royal Institute of Technology, Stockholm, Sweden {ahmadas, tareqjk,
Bringing Paxos Consensus in Multi-agent Systems Andrei Mocanu Costin Bădică University of Craiova.
ARMADA Middleware and Communication Services T. ABDELZAHER, M. BJORKLUND, S. DAWSON, W.-C. FENG, F. JAHANIAN, S. JOHNSON, P. MARRON, A. MEHRA, T. MITTON,
SPREAD TOOLKIT High performance messaging middleware Presented by Sayantam Dey Vipin Mehta.
Distributed Data Mining System in Java Group Member D 王春笙 D 林俊甫 D 王慧芬.
7/26/ Design and Implementation of a Simple Totally-Ordered Reliable Multicast Protocol in Java.
Impact of Topology on Overlay Multicast Suat Mercan.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Practical Byzantine Fault Tolerance
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
Transparent Fault-Tolerant Java Virtual Machine Roy Friedman & Alon Kama Computer Science — Technion.
Paxos: Agreement for Replicated State Machines Brad Karp UCL Computer Science CS GZ03 / M st, 23 rd October, 2008.
Totally Ordered Broadcast in the face of Network Partitions [Keidar and Dolev,2000] INF5360 Student Presentation 4/3-08 Miran Damjanovic
Fault Tolerant Services
CSE 60641: Operating Systems Implementing Fault-Tolerant Services Using the State Machine Approach: a tutorial Fred B. Schneider, ACM Computing Surveys.
The Totem Single-Ring Ordering and Membership Protocol Y. Amir, L. E. Moser, P. M Melliar-Smith, D. A. Agarwal, P. Ciarfella.
SysRép / 2.5A. SchiperEté The consensus problem.
Hwajung Lee.  Improves reliability  Improves availability ( What good is a reliable system if it is not available?)  Replication must be transparent.
Replication Improves reliability Improves availability ( What good is a reliable system if it is not available?) Replication must be transparent and create.
Middleware for Fault Tolerant Applications Lihua Xu and Sheng Liu Jun, 05, 2003.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
Fault Tolerance (2). Topics r Reliable Group Communication.
FTOP: A library for fault tolerance in a cluster R. Badrinath Rakesh Gupta Nisheeth Shrivastava.
Cluster computing. 1.What is cluster computing? 2.Need of cluster computing. 3.Architecture 4.Applications of cluster computing 5.Advantages of cluster.
Chapter 8 Fault Tolerance. Outline Introductions –Concepts –Failure models –Redundancy Process resilience –Groups and failure masking –Distributed agreement.
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.
Replication & Fault Tolerance CONARD JAMES B. FARAON
Distributed Systems – Paxos
Fault-tolerance techniques RSM, Paxos
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Leader Election Using NewSQL Database Systems
EEC 688/788 Secure and Dependable Computing
Replicated state machine and Paxos
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
The SMART Way to Migrate Replicated Stateful Services
EEC 688/788 Secure and Dependable Computing
Presentation transcript:

Toward Fault-tolerant P2P Systems: Constructing a Stable Virtual Peer from Multiple Unstable Peers Kota Abe, Tatsuya Ueda (Presenter), Masanori Shikano, Hayato Ishibashi and Toshio Matsuura Osaka City University 14/Oct/2009 AP2PS /Oct/2009AP2PS2009 1

 P2P systems pros and cons ◦ pros: scalability, no single point of failure, etc. ◦ cons: hard to implement!  detect remote peer failure  replicate data over multiple peers  manage multiple pointers to backup peers  Implementing these measures is delicate work and troublesome burden for developers Background 14/Oct/2009AP2PS Implement a reliable layer for fault tolerant P2P systems GOAL!

 Virtual Peer (VP) ◦ Group multiple unstable peers to form a stable virtual peer (redundant system) Our Approach 14/Oct/2009AP2PS Virtual Peer (VP)

 A virtual peer consists of multiple member peers  A P2P application runs on a virtual peer as a virtual process  Failed member peer is replaced with another (non- failed) one  A virtual process is fault-tolerant ◦ It does not fail even if some part of the member peers fail ◦ Application developers do not need to take care of peer failure Our Approach (Cont'd) 14/Oct/2009AP2PS Virtual Peer Virtual Process member peer1 member peer2 member peer3

1. How to achieve fault-tolerance of a virtual process? 2. How to ensure identical message sequences? 3. How to handle peer failure? 4. How to communicate with a remote virtual peer? Issues to solve AP2PS2009 5

 The state of a virtual process must be replicated over multiple member peers  Each member peer simultaneously and redundantly executes the same application, as a process  To maintain the state of each process identical: ◦ A process must be a state machine  its state must be changed only by external messages ◦ Also, each process receives the identical message sequence (aka atomic broadcasting)  Merit: application programs can be quite simple ◦ Just process the received messages in order 1. Achieving fault-tolerance of virtual process 14/Oct/2009AP2PS2009 6

 To implement atomic broadcast, the Paxos consensus algorithm is used  Paxos ◦ Distributed algorithm to form a consensus between multiple nodes (peers) on an unreliable network ◦ Only a dedicated leader peer can propose values  The leader is elected by using a leader election algorithm ◦ All peers eventually choose an identical value ◦ Majority agreement is required  All the member peers in VP execute Paxos algorithm ◦ External messages sent to a VP are processed by the Paxos algorithm to be identically ordered 2. Ensuring identical message sequences 14/Oct/2009AP2PS2009 7

 Failed member peer must be replaced to keep the number of the peers constant ◦ Otherwise the VP eventually will not be functional because majority agreement is required by Paxos  All the member peers must have a consistent view of membership configuration  Paxos is also used to update a member configuration without losing consistency 3. Handling peer failure 14/Oct/2009AP2PS2009 8

choose randomly Peer p  The leader peer chooses another peer p from the P2P network  If leader peer fails, new leader is elected  The leader peer proposes a peer configuration change  p executes the same process  The state must be same  Process migration technique is used  Note that the majority of member peers must be alive during this replacing sequence 3. Handling peer failure (Cont'd) 14/Oct/2009AP2PS Virtual Peer fail Keep Alive Process migration (replication) Timeout Paxos Virtual Peer Member Peer Leader Peer Process

 How to deliver messages to VPs ◦ Member peers are not fixed!  Solution: Use ALM (Application Level Multicast) ◦ Each VP has a dedicated ALM group  All member peers join in ◦ Messages sent to a VP are multicast to the group ◦ We have implemented ALM by using range queries on Skip Graph 4. Communication with virtual peer 14/Oct/2009AP2PS ALM group Virtual Peer Multicast by group id

 A platform for implementing P2P services  Implemented in Java  Each peer executes a musasabi instance  An application program written in Java can be executed on musasabi  Java sandbox mechanism is used to protect a local node  musasabi uses PIAX for P2P networking ◦ PIAX provides Skip Graph, ALM (over Skip Graph) etc. ◦ Our implementation: musasabi 14/Oct/2009AP2PS Configuration of musasabi Base Operating System Windows, MacOS X, Linux … Java VM musasabi PIAX Process 1 Process 2 Process 3

 musasabi supports strong mobility  Transfer the program, data and execution context (thread stack and program counter)  Not easy in Java (not supported by the standard JVMs)  Some implementations use customized JVMs or native libraries (not portable)  Not suitable for P2P systems!  Implementation of strong mobility in musasabi  Use Apache Javaflow library  Javaflow allows to capture and resume the execution context  Captured contexts can be transferred to a remote node!  Javaflow uses byte code translation technique and thus works on the standard JVMs Process migration in musasabi 14/Oct/2009AP2PS

A VP fails if a majority of member peers fails  Maximum time to replace a failed peer is 60sec  Each peer fails independently  Intervals of peer failure are exponentially distributed  Peer failure rate: 50% of peers fail in an hour Reliability of virtual peers 14/Oct/ After 1 year Reliability of VP Elapsed time (days) 7 peers 3peers 5 peers 7 peers are enough in this case choose randomly Peer p Virtual Peer fail Keep Alive Process migration (replication) Timeout Paxos Virtual Peer Member Peer Leader Peer Process 60sec

Relation between MTTF (Mean Time To Failure) of a VP and # of its member peer is analyzed  Each peer fails independently  Intervals of peer failure are exponentially distributed  Maximum time to replace a failed peer is 60sec  Peer failure rate is varied (x-axis) MTTF of virtual peer 14/Oct/2009 AP2PS MTTF of VP (year) Duration of 50% of the peers fail (minutes) 9 peers 5 peers 7 peers Even in excessive peer failure environment, VP is stable if it has enough member peers frequentlypeer fails less frequently

 We proposed a novel method to construct a stable virtual peer from multiple unstable peers ◦ Integrate the Paxos consensus algorithm, process migration technique and ALM ◦ An application running on a VP virtually does not fail ◦ Application programs can be quite simple  The method can be used for reducing development costs, and for improving stability, of P2P systems  Future work ◦ Improve the method for choosing good member peers ◦ Investigate and improve security issues of VPs ◦ Evaluate the method on the Internet Conclusion and Future work 14/Oct/2009AP2PS

14/Oct/2009AP2PS This research was partially supported by National Institute of Information and Communication Technology (NICT), Japan