Faster randomized consensus with an oblivious adversary

Similar documents
Yale University Department of Computer Science

Department of Computer Science, Cornell University. fkatej, hopkik, Contact Info: Abstract:

Processor time 9 Used memory 9. Lost video frames 11 Storage buffer 11 Received rate 11

Broadcasting Messages in Fault-Tolerant Distributed Systems: the benefit of handling input-triggered and output-triggered suspicions differently

CSE 352 Laboratory Assignment 3

Transportation Process For BaBar

We are here. Assembly Language. Processors Arithmetic Logic Units. Finite State Machines. Circuits Gates. Transistors

MindMouse. This project is written in C++ and uses the following Libraries: LibSvm, kissfft, BOOST File System, and Emotiv Research Edition SDK.

Music Segmentation Using Markov Chain Methods

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

Scalability of delays in input queued switches

CS 498 Hot Topics in High Performance Computing. Networks and Fault Tolerance. 3. A Network-Centric View on HPC

Soft Computing Approach To Automatic Test Pattern Generation For Sequential Vlsi Circuit

Long and Fast Up/Down Counters Pushpinder Kaur CHOUHAN 6 th Jan, 2003

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

AC103/AT103 ANALOG & DIGITAL ELECTRONICS JUN 2015

2 nd Int. Conf. CiiT, Molika, Dec CHAITIN ARTICLES

ECE532 Digital System Design Title: Stereoscopic Depth Detection Using Two Cameras. Final Design Report

On the Rules of Low-Power Design

Lecture 3: Nondeterministic Computation

DETEXI Basic Configuration

Real-Time Systems Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

My XDS Receiver- Affiliate Scheduler

Performance Driven Reliable Link Design for Network on Chips

DEDICATED TO EMBEDDED SOLUTIONS

Exercises. 162 CHAPTER THREE Sequential Logic Design

Built-In Self-Test (BIST) Abdil Rashid Mohamed, Embedded Systems Laboratory (ESLAB) Linköping University, Sweden

A QUANTITATIVE STUDY OF CATALOG USE

Random Access Scan. Veeraraghavan Ramamurthy Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL

PRO LIGNO Vol. 12 N pp

Hardware Implementation of Viterbi Decoder for Wireless Applications

Registers and Counters

Figure 30.1a Timing diagram of the divide by 60 minutes/seconds counter

EECS150 - Digital Design Lecture 15 Finite State Machines. Announcements

EET2411 DIGITAL ELECTRONICS

NAA ENHANCING THE QUALITY OF MARKING PROJECT: THE EFFECT OF SAMPLE SIZE ON INCREASED PRECISION IN DETECTING ERRANT MARKING

Altera s Max+plus II Tutorial

Out of order execution allows

INSTRUMENTAL MUSIC PROGRAM

CMOS Testing-2. Design for testability (DFT) Design and Test Flow: Old View Test was merely an afterthought. Specification. Design errors.

UNIT III COMBINATIONAL AND SEQUENTIAL CIRCUIT DESIGN

Analysis of Different Pseudo Noise Sequences

Registers and Counters

BayesianBand: Jam Session System based on Mutual Prediction by User and System

Synchronous Sequential Logic

Practical Nonvolatile Multilevel-Cell Phase Change Memory

Bar Codes to the Rescue!

for Digital IC's Design-for-Test and Embedded Core Systems Alfred L. Crouch Prentice Hall PTR Upper Saddle River, NJ

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98

ENGINEERING COMMITTEE Interface Practices Subcommittee AMERICAN NATIONAL STANDARD ANSI/SCTE Composite Distortion Measurements (CSO & CTB)

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Homework #8 due next Tuesday. Project Phase 3 plan due this Sat.

BIST-Based Diagnostics of FPGA Logic Blocks

INTEGRATED CIRCUITS. AN219 A metastability primer Nov 15

Self-Test and Adaptation for Random Variations in Reliability

SRAM Based Random Number Generator For Non-Repeating Pattern Generation

System Identification

A Comparison of Methods to Construct an Optimal Membership Function in a Fuzzy Database System

Business Intelligence & Process Modelling

Diagnosis of Resistive open Fault using Scan Based Techniques

Weighted Random and Transition Density Patterns For Scan-BIST

Design of Fault Coverage Test Pattern Generator Using LFSR

Power Problems in VLSI Circuit Testing

How to Predict the Output of a Hardware Random Number Generator

Bubble Razor An Architecture-Independent Approach to Timing-Error Detection and Correction

Beyond Worst Case Analysis in Approxima4on Uriel Feige The Weizmann Ins2tute

Measurements of metastability in MUTEX on an FPGA

A Comparison of DPM and VMC++ Mont Carlo codes applied to heterogeneous media

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

Unit 8: Testability. Prof. Roopa Kulkarni, GIT, Belgaum. 29

Algorithmically Flexible Style Composition Through Multi-Objective Fitness Functions

ITU-T Y Specific requirements and capabilities of the Internet of things for big data

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer

ECE 715 System on Chip Design and Test. Lecture 22

Swept-tuned spectrum analyzer. Gianfranco Miele, Ph.D

Logic Analyzer Triggering Techniques to Capture Elusive Problems

VIDEO GRABBER. DisplayPort. User Manual

SAAV contains upgraded MEMS sensors that reduce power consumption and improve resolution.

Implementation of a turbo codes test bed in the Simulink environment

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

ECEN620: Network Theory Broadband Circuit Design Fall 2014

EEE ALERT signal for 100GBASE-KP4

An Improved Hardware Implementation of the Grain-128a Stream Cipher

SONARtrac Technical Bulletin

Draft Baseline Proposal for CDAUI-8 Chipto-Module (C2M) Electrical Interface (NRZ)

Training Note TR-06RD. Schedules. Schedule types

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science

DETERMINISTIC TEST PATTERN GENERATOR DESIGN WITH GENETIC ALGORITHM APPROACH

UC Berkeley UC Berkeley Previously Published Works

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000

CPSC 221 Basic Algorithms and Data Structures

Avoiding False Pass or False Fail

Software Engineering 2DA4. Slides 9: Asynchronous Sequential Circuits

VLSI System Testing. BIST Motivation

Available online at ScienceDirect. Procedia Computer Science 46 (2015 ) Aida S Tharakan a *, Binu K Mathew b

Agilent N5431A XAUI Electrical Validation Application

AGREEMENT FOR THE RECORDING AND USE OF LIBRARY MUSIC BETWEEN THE MUSICIANS UNION OF CLAPHAM ROAD, LONDON, SW9 0JJ ( MU ) AND.

MC54/74F568 MC54/74F569 4-BIT BIDIRECTIONAL COUNTERS (WITH 3-STATE OUTPUTS) 4-BIT BIDIRECTIONAL COUNTERS (WITH 3-STATE OUTPUTS)

DESIGNING ASYNCHRONOUS SEQUENTIAL CIRCUITS FOR RANDOM PATTERN TESTABILITY

Transcription:

Faster randomized consensus with an oblivious adversary James Aspnes Yale July 6th, 202

Consensus 0 2 Consensus Termination: All non-faulty processes terminate. Validity: Every output value is somebody s input. Agreement: All output values are equal. No deterministic solutions! (Fischer, Lynch, and Paterson 985; Loui and Abu-Amara 987)

Asynchronous shared-memory model + +7 3 - -2 04 +4 2 n concurrent processes with local coins. Communication by reading and writing atomic registers. Timing controlled by an adversary scheduler. Algorithm is wait-free: tolerates n crash failures. Cost measure: expected individual steps.

Oblivious adversary + +7 3 - -2 04 +4 2 Chooses schedule in advance. Can see algorithm. Can t see what algorithm does. Avoids Ω(n) lower bound for adaptive adversary due to Attiya and Censor (JACM 2008).

Previous results 0 2 3 3 3 Long history of algorithms with O(log n) expected steps: (Aumann, PODC 997; Aspnes, PODC 200) Best lower bound is Ω() expected steps, from Ω(log(/ɛ)) steps to finish with probability at least ɛ. (Attiya and Censor-Hillel, SICOMP 200). We ll show a new upper bound of O(log log n).

Conciliators 0 0 2 Conciliator Monte Carlo version of consensus: Termination: All non-faulty processes terminate. Validity: Every output value is somebody s input. Probabilistic agreement: All output values are equal with probability at least δ. With m possible input values, can detect agreement (and get real consensus) with O(log m/ log log m) overhead (Aspnes and Ellen, SPAA 20).

Test-and-set 0 TAS 0 2 Consensus 0 2 Good randomized test-and-set implementations for oblivious-adversary model: O(log log n) (Alistarh and Aspnes, DISC 20). O(log n) (Giakkoupis and Woelfel, later in this session). Test-and-set gets processes to drop out. Consensus gets values to drop out.

Sifting processes for test-and-set 0 2 3 3 3 Single multi-writer register, initially. Each process reads with probability n, writes with probability n. A process survives if it reads or writes.

Sifting: one round }{{} n readers }{{} n writers Because adversary is oblivious, coin-flips are independent of ordering. Before first write, all readers survive. This is a waiting time process with expectation p = n. Otherwise, only writers survive. pn = n n = n. Total expected survivors 2 n.

Sifting: multiple rounds Tune probabilities so that on average we go from k to 2 k. Linearity of expectation gives n, 2 n, 2 2 n, 2 2 2 n,... 4n (/2)r expected survivors after r rounds. Converges to O() expected survivors in O(log log n) rounds.

Sifting personae for consensus Generate all coin-flips at start. Coin-flips + input = persona. When I write, I write my persona. When I read, I adopt any persona I see.

Sifting personae for consensus Generate all coin-flips at start. Coin-flips + input = persona. When I write, I write my persona. When I read, I adopt any persona I see.

Sifting personae: analysis All processes with the same persona in some round do the same thing. If all copies write, persona survives (and maybe spreads to more processes) k expected survivors. If they all read, at least one copy of persona survives if the first read sees (other copies might be overwritten) k more expected survivors So average number of surviving personae is 2 k, as in test-and-set.

Sifting personae: analysis All processes with the same persona in some round do the same thing. If all copies write, persona survives (and maybe spreads to more processes) k expected survivors. If they all read, at least one copy of persona survives if the first read sees (other copies might be overwritten) k more expected survivors So average number of surviving personae is 2 k, as in test-and-set.

Sifting personae: analysis All processes with the same persona in some round do the same thing. If all copies write, persona survives (and maybe spreads to more processes) k expected survivors. If they all read, at least one copy of persona survives if the first read sees (other copies might be overwritten) k more expected survivors So average number of surviving personae is 2 k, as in test-and-set.

Final stage After O(log log n) rounds, switch to Pr[write] = /2. This reduces expected surviving personae from O() to + ɛ in O(log(/ɛ)) additional rounds. Total cost to get Pr[agree] > ɛ is O(log log n + log(/ɛ)). Second term matches Ω(log(/ɛ)) lower bound of Attiya and Censor-Hillel (SICOMP 200).

Final stage After O(log log n) rounds, switch to Pr[write] = /2. This reduces expected surviving personae from O() to + ɛ in O(log(/ɛ)) additional rounds. Total cost to get Pr[agree] > ɛ is O(log log n + log(/ɛ)). Second term matches Ω(log(/ɛ)) lower bound of Attiya and Censor-Hillel (SICOMP 200).

Cheap snapshots +7 3 - -2 04 +4 2 Snapshot operation reads all registers simultaneously. In the cheap snapshot model, this costs operation. Model for Attiya+Censor-Hillel weak-adversary lower bound. Also popular with topologists. We ll show that this gives consensus in O(log n) expected operations.

Consensus with cheap snapshots 5 26 32 Persona now is input plus random priority for each round. Algorithm for one round: Write my persona to my own register. Take snapshot and adopt highest-priority persona I see. Pr[i-th persona to be written survives] (/i). So in one round, expected survivors goes from k to k i= (/i) = O(log k). Repeat O(log n) times on average to get to.

Consensus with cheap snapshots 5 26 32 Persona now is input plus random priority for each round. Algorithm for one round: Write my persona to my own register. Take snapshot and adopt highest-priority persona I see. Pr[i-th persona to be written survives] (/i). So in one round, expected survivors goes from k to k i= (/i) = O(log k). Repeat O(log n) times on average to get to.

Conclusions O(log 0 2 3 3 3 O(log n) previous bounds log n) new bound for multi-writer registers +7 3 - O(log n) new bound for cheap snapshots -2 +4 04 2 Ω() best known lower bound Conciliator algorithms work for arbitrarily many inputs m, but detecting agreement takes O(log m/ log log m) steps, which dominates O(log log n) unless m is small. Cheap-snapshot bound shows that combining local coins isn t the hard part. Maybe we can get O()?