Separating Agreement from Execution for Byzantine Fault-Tolerant Services



Similar documents
Outline. Clouds of Clouds lessons learned from n years of research Miguel Correia

Vbam - Byzantine Atomic Multicast in LAN Based on Virtualization Technology

Hadoop Architecture. Part 1

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Efficient Middleware for Byzantine Fault Tolerant Database Replication

Software Execution Protection in the Cloud

The Google File System

Matrix Signatures: From MACs to Digital Signatures in Distributed Systems

Sector vs. Hadoop. A Brief Comparison Between the Two Systems

Scalable Cloud Computing Solutions for Next Generation Sequencing Data

Using Virtualization Technology for Fault- Tolerant Replication in LAN

CSE-E5430 Scalable Cloud Computing Lecture 2

The Pros and Cons of Erasure Coding & Replication vs. RAID in Next-Gen Storage Platforms. Abhijith Shenoy Engineer, Hedvig Inc.

Data Management in the Cloud

Peer-to-peer Cooperative Backup System

Hadoop Distributed File System (HDFS) Overview

Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis. Freitag, 14. Oktober 11

Developing Scalable Java Applications with Cacheonix

Dr Markus Hagenbuchner CSCI319. Distributed Systems

Active/Active HA Job Scheduler and Resource Management

Web Traffic Capture Butler Street, Suite 200 Pittsburgh, PA (412)

LARGE-SCALE DATA STORAGE APPLICATIONS

BME CLEARING s Business Continuity Policy

Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall.

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) PERCEIVING AND RECOVERING DEGRADED DATA ON SECURE CLOUD


All about Eve: Execute-Verify Replication for Multi-Core Servers

Towards Low Latency State Machine Replication for Uncivil Wide-area Networks

High Availability Storage

DepSky Dependable and Secure Storage in a Cloud-of-Clouds Alysson Bessani, Miguel Correia, Bruno Quaresma, Fernando André, Paulo Sousa

Dependability in Web Services

Cloud Computing using MapReduce, Hadoop, Spark

Non-Stop for Apache HBase: Active-active region server clusters TECHNICAL BRIEF

Hadoop Distributed File System. Jordan Prosch, Matt Kipps

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

MS Exam Objectives Configuring Advanced Windows Server 2012 Services

Data Consistency on Private Cloud Storage System

Hadoop: A Framework for Data- Intensive Distributed Computing. CS561-Spring 2012 WPI, Mohamed Y. Eltabakh

Byzantium: Byzantine-Fault-Tolerant Database Replication

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

Secure Framework for Data Storage from Single to Multi clouds in Cloud Networking

Distributed Systems (5DV147) What is Replication? Replication. Replication requirements. Problems that you may find. Replication.

A Trustworthy and Resilient Event Broker for Monitoring Cloud Infrastructures

Applications of Passive Message Logging and TCP Stream Reconstruction to Provide Application-Level Fault Tolerance. Sunny Gleason COM S 717

Critical SQL Server Databases:

SQL Server Administrator Introduction - 3 Days Objectives

Epimorphics Linked Data Publishing Platform

Near Real Time Indexing Kafka Message to Apache Blur using Spark Streaming. by Dibyendu Bhattacharya

A programming model in Cloud: MapReduce

Distributed File Systems

Welcome to the unit of Hadoop Fundamentals on Hadoop architecture. I will begin with a terminology review and then cover the major components

Cloud Hosting for PostgreSQL

State Transfer and Network Marketing

Avoid a single point of failure by replicating the server Increase scalability by sharing the load among replicas

IT Architecture Review. ISACA Conference Fall 2003

Facebook: Cassandra. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

Big Data Testbed for Research and Education Networks Analysis. SomkiatDontongdang, PanjaiTantatsanawong, andajchariyasaeung

Efficient Fault-Tolerant Infrastructure for Cloud Computing

SNAP WEBHOST SECURITY POLICY

Distributed Filesystems

Distributed Data Stores

Optimized Database Design for Software-as-a-Service (SaaS)

Chapter 7. Using Hadoop Cluster and MapReduce

CA ARCserve and CA XOsoft r12.5 Best Practices for protecting Microsoft SQL Server

Service Level Agreement

Introduction to HDFS. Prasanth Kothuri, CERN

Distributed RAID Architectures for Cluster I/O Computing. Kai Hwang

Architectures for massive data management

AdSec: A System for Adaptive Network Security

BBM467 Data Intensive ApplicaAons

Security for Ubiquitous and Adhoc Networks

EECatalog SPECIAL FEATURE

Appendix A Core Concepts in SQL Server High Availability and Replication

Benchmarking Data Replication Performance for The Defense Integrated Military Human Resources System

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB

Microsoft s Advantages and Goals for Hyper-V for Server 2016

Advanced Database Group Project - Distributed Database with SQL Server

Veritas Cluster Server

Best Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software

Data Replication in Privileged Credential Vaults

Achieving High Availability

SQL Server Replication Guide

Ground up Introduction to In-Memory Data (Grids)

Distributed System Principles

Attunity RepliWeb Event Driven Jobs

Apache HBase. Crazy dances on the elephant back

Virtual Machine Synchronization for High Availability Clusters

Release Notes. LiveVault. Contents. Version Revision 0

Chapter 1 - Web Server Management and Cluster Topology

Big Data Primer. 1 Why Big Data? Alex Sverdlov alex@theparticle.com

MongoDB and Couchbase

Data Center Network Topologies: FatTree

5 SCS Deployment Infrastructure in Use

Optimizing Data Center Networks for Cloud Computing

High Performance Cluster Support for NLB on Window

A Resilient Protection Device for SIEM Systems

Hadoop IST 734 SS CHUNG

Design and Implementation of a Storage Repository Using Commonality Factoring. IEEE/NASA MSST2003 April 7-10, 2003 Eric W. Olsen

Transcription:

Separating Agreement from Execution for Byzantine Fault-Tolerant Services Rethinking Replicated State Machines Jian Yin, Jean-Philippe Martin, Arun enkataramani, Lorenzo Alvisi and Mike Dahlin jianyin@us.ibm.com, {jpmartin,arun,lorenzo,dahlin}@cs.utexas.edu Laboratory for Advanced Systems Research (LASR) The University of Texas at Austin p.1/17

Problem: Tolerating Byzantine Faults request wrong reply no reply unauthorized reply Current solution: replicated state machine 3f + 1 versions of service Hurts confidentiality Our solution: rethinking replicated state machine Cheaper: 2f + 1 versions of service Helps confidentiality p.2/17

Outline Introduction Separating Agreement from Execution Enables Fewer service replica Confidentiality Prototype Conclusion p.3/17

Current Solution Client 1 Client 2 3f+1 replicas f=1 Client Send request and repeats Pick majority reply Correct replica must return same reply Start from same state All replicas process the same requests in the same order (replica coordination) How Replicated state machine protocol p.4/17

Separating Agreement from Execution Client Agreement 3g+1 Execution 2f+1 Split problem into independent concerns Agreement: All agree on sequence of requests Execution: Requests executed in order Note different requirements Agreement: 3g + 1 servers, g faults Execution: 2f + 1 servers, f faults p.5/17

Implementation Client request Reply certificate Agreement certificate Reply certificate Agreement Execution 1. Assign unique sequence number to request 2. request, sequence number A : unique, certified 3. Execute in sequence order 4. reply, sequence number E : unique, certified p.6/17

Cluster Implementation is Simple Client request Reply certificate Agreement certificate Reply certificate Agreement Execution Simple protocol Agreement using traditional protocol Send instead of executing Tricks in retransmission Execution internal retransmission Confidential inter retransmission p.7/17

Separation makes Replication Cheaper Client Agreement 3g+1 Execution 2f+1 Execution Fewer service replicas Expensive because different Agreement Simple nodes, reusable Can merge p.8/17

Separation makes Replication Cheaper Client Combined s 3f+1 Execution Fewer service replicas Expensive because different Agreement Simple nodes, reusable Can merge p.8/17

Confidentiality: The Problem Hostile Client Confidential information traditional replicated state machine f=1 Replication hurts confidentiality Privacy Firewall restores it p.9/17

Separation Enables Confidentiality Client Agreement 3g+1 Execution 2f+1 Separation enables confidentiality Agreement nodes as filters Key 1: Restrict communication Key 2: Separate choice from secrets Choice in reply contents Choice in who signs the reply certificate Choice in retransmission One choice remains: speed p.10/17

The Privacy Firewall Nodes check reply certificate Replicated for h Byzantine failures h+1 h+1 Restrict communication Only valid replies h + 1 rows one is correct Always reply h + 1 columns one is correct Minimal: (h + 1) 2 servers p.11/17

The Privacy Firewall Nodes check reply and order Replicated for h Byzantine failures h+1 h+1 Restrict communication Only valid replies h + 1 rows one is correct Always reply h + 1 columns one is correct Minimal: (h + 1) 2 servers p.11/17

The Privacy Firewall Nodes check reply and order Replicated for h Byzantine failures h+1 Restrict communication Only valid replies h+1 h + 1 rows one is correct Always reply h + 1 columns one is correct Minimal: (h + 1) 2 servers p.11/17

The Privacy Firewall Nodes check reply and order Replicated for h Byzantine failures h+1 h+1 Restrict communication Only valid replies h + 1 rows one is correct Always reply h + 1 columns one is correct Minimal: (h + 1) 2 servers p.11/17

Privacy Firewall Guarantees Client Client Agreement Privacy Firewall Execution Output set confidential Output of correct cut is a valid output for a correct node through unreliable link Only correct replies get through Replies that correct nodes send p.12/17

Timing Attacks Remain answer="yes" answer="no" Client Client One choice remains: execution speed Faulty execution server can influence when majority forms Information-theoretic confidentiality impossible without synchrony p.13/17

Prototype Built prototype from BASE [Rodrigues01] Implements BFT confidential network file system 10 machines: 1 client, 4 ag+pf, 2 PF, 3 exec. Tolerate 1 fault in each of agreement, PF, exec. 128MB RAM, 100Mbps switch Limitations of prototype No uninterruptible power supply Same code Communication not restricted p.14/17

Latency Micro-Benchmarks Micro-benchmark Latency (ms) 20 15 10 5 0 BASE Separate Confidential Micro-benchmark latency Removed some BASE optimizations Only implemented one of six optimizations p.15/17

Good Performance 3.0 MAB 500 Run time (h) 2.5 2.0 1.5 1.0 0.5 0.0 NFS BASE Separate Separation and PF perform well in benchmarks +16% for confidentiality p.16/17

Conclusion Take home message: Separate agreement from execution! Benefits Fewer service replicas Privacy Firewall Easy p.17/17