Bringing Paxos Consensus in Multi-agent Systems Andrei Mocanu Costin Bădică University of Craiova.

Slides:



Advertisements
Similar presentations
Paxos and Zookeeper Roy Campbell.
Advertisements

Paxos Made Simple Leslie Lamport. Introduction ► Lock is the easiest way to manage concurrency  Mutex and semaphore.  Read and write locks in 2PL for.
Impossibility of Distributed Consensus with One Faulty Process
NETWORK ALGORITHMS Presenter- Kurchi Subhra Hazra.
CS 5204 – Operating Systems1 Paxos Student Presentation by Jeremy Trimble.
Paxos Lamport the archeologist and the “Part-time Parliament” of Paxos: – The Part-time Parliament, TOCS 1998 – Paxos Made Simple, ACM SIGACT News 2001.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
1 Indranil Gupta (Indy) Lecture 8 Paxos February 12, 2015 CS 525 Advanced Distributed Systems Spring 2015 All Slides © IG 1.
Dept. of Computer Science & Engineering, The Chinese University of Hong Kong Paxos: The Part-Time Parliament CHEN Xinyu
Distributed Systems Overview Ali Ghodsi
Consensus Hao Li.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
Failure Detectors. Can we do anything in asynchronous systems? Reliable broadcast –Process j sends a message m to all processes in the system –Requirement:
Consensus Algorithms Willem Visser RW334. Why do we need consensus? Distributed Databases – Need to know others committed/aborted a transaction to avoid.
State Machine Replication Project Presentation Ido Zachevsky Marat Radan Supervisor: Ittay Eyal Winter Semester 2010.
The Need for Language Support for Fault-Tolerant Distributed Systems Cezara Dr ă goi, INRIA ENS CNRS Thomas A. Henzinger, IST Austria Damien Zufferey,
Paxos Made Simple Gene Pang. Paxos L. Lamport, The Part-Time Parliament, September 1989 Aegean island of Paxos A part-time parliament – Goal: determine.
Fault-tolerance techniques RSM, Paxos Jinyang Li.
Eddie Bortnikov & Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation.
Distributed Systems CS Case Study: Replication in Google Chubby Recitation 5, Oct 06, 2011 Majd F. Sakr, Vinay Kolar, Mohammad Hammoud.
EEC 688/788 Secure and Dependable Computing Lecture 12 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
CHUBBY and PAXOS Sergio Bernales 1Dennis Kafura – CS5204 – Operating Systems.
Chapter 6 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University Building Dependable Distributed Systems.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 19: Paxos All slides © IG.
Eddie Bortnikov & Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation.
State Machines CS 614 Thursday, Feb 21, 2002 Bill McCloskey.
Distributed Storage System Survey
Paxos Made Simple Jinghe Zhang. Introduction Lock is the easiest way to manage concurrency Mutex and semaphore. Read and write locks. In distributed system:
Coordination and Agreement, Multicast, and Message Ordering.
Practical Byzantine Fault Tolerance
1 ZYZZYVA: SPECULATIVE BYZANTINE FAULT TOLERANCE R.Kotla, L. Alvisi, M. Dahlin, A. Clement and E. Wong U. T. Austin Best Paper Award at SOSP 2007.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
Paxos A Consensus Algorithm for Fault Tolerant Replication.
Paxos: Agreement for Replicated State Machines Brad Karp UCL Computer Science CS GZ03 / M st, 23 rd October, 2008.
Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory.
CSE 60641: Operating Systems Implementing Fault-Tolerant Services Using the State Machine Approach: a tutorial Fred B. Schneider, ACM Computing Surveys.
SysRép / 2.5A. SchiperEté The consensus problem.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CS425 / CSE424 / ECE428 — Distributed Systems — Fall Nikita Borisov - UIUC1 Some material derived from slides by Leslie Lamport.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
Detour: Distributed Systems Techniques
Consensus, impossibility results and Paxos Ken Birman.
The consensus problem in distributed systems
CS 525 Advanced Distributed Systems Spring 2013
Distributed Systems – Paxos
Alternative system models
CSE 486/586 Distributed Systems Paxos
Lecture 17: Leader Election
Distributed Systems: Paxos
EECS 498 Introduction to Distributed Systems Fall 2017
Implementing Consistency -- Paxos
CS 525 Advanced Distributed Systems Spring 2018
Fault-tolerance techniques RSM, Paxos
CS 425 / ECE 428 Distributed Systems Fall 2017 Indranil Gupta (Indy)
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Consensus, FLP, and Paxos
EEC 688/788 Secure and Dependable Computing
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
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Implementing Consistency -- Paxos
CSE 486/586 Distributed Systems Paxos
Presentation transcript:

Bringing Paxos Consensus in Multi-agent Systems Andrei Mocanu Costin Bădică University of Craiova

What is consensus?  Agreement No two processes decide differently  Termination Every correct process eventually decides  Validity The value that is decided must be among the values proposed by the processes

Why is consensus important?  Ensuring processes agree - fundamental problem in Distributed Computing  Applications in other problems: leader election state machine replication atomic broadcast

Why is consensus hard?  Fischer-Lynch-Paterson Result impossible to solve consensus in an asynchronous system in the presence of even a single failure.  No deterministic fault-tolerant consensus protocol can guarantee progress in an asynchronous network!

Paxos Algorithm  Developed in the 1980’s by Leslie Lamport, but paper rejected  Eventually published in 1998 and simplified in 2001  Used in practice: Google Chubby and Megastore Microsoft Autopilot Apache Hadoop Zookeeper

Paxos Algorithm  Safety Properties value chosen is from proposed values only one value is chosen value is learned only if chosen  Paxos will eventually succeed if a majority of participants is reachable processes know how to generate values

Paxos Roles  Client process that makes the request  Acceptor represent the fault tolerant “memory” organized in groups called Quorums any message sent to an Acceptor must be sent to a Quorum of Acceptors any message received from an Acceptor is ignored unless sent from each Acceptor in a Quorum

Paxos Roles  Proposer acts on behalf of the Client tries to assemble majority of Acceptors  Leader a distinguished Proposer many processes may believe themselves Leaders, but progress is made when only one of them is chosen

Paxos Roles  Learner assure replication once the decision has been received from the Acceptors, they take action and send the response to the Client more may be added to increase availability

Paxos Phases  Phase 1a: Prepare a Proposer (the leader) makes a proposal numbered n, greater than any proposal number used by that Proposer in the past the Proposer sends a Prepare message containing n to a Quorum of Acceptors

Paxos Phases  Phase 1b: Promise if n is higher than proposal numbers received so far by Acceptors, then it promises to ignore future proposals <n if Acceptor had accepted proposal m<n, it will include proposal number m and value u  otherwise ignore proposal (or send NACK)

Paxos Phases  Phase 2a: Accept Request if Proposer receives enough promises from the Quorum, it then chooses the maximum value received from Acceptors or a value it generates if none received the Proposer sends that value to the Quorum in an Accept Request message

Paxos Phases  Phase 2b: Accepted if Acceptor receives Accept Request message for proposal n  then it accepts proposal if it had not promised to accept only greater numbered proposals; it registers the value of the proposal and sends an Accepted message to the Proposer and Learners  Otherwise it ignores the Accept Request message (or NACK)

Paxos Example

Paxos Role Distribution

Collapsing Paxos Roles

Discovery - JADE Yellow Pages

Class Structure & Dependencies

Dueling Proposers Scenario

Dueling Proposers – Experiment

Experimental Results Summary Configuration/Message Loss10%30%50% 3 Proposer, 5 Acceptor, 5 Learner Proposer, 5 Acceptor, 5 Learner Proposer, 15 Acceptor, 50 Learner

Conclusions  We demonstrate an implementation of Paxos using Multi-agent Systems  Leverage existing agents in the system to create fault-tolerant layer  Experimental analysis of an interesting Paxos edge case in JADE

Questions?