Ensemble Fault-Tolerance Security Adaptation. The Horus and Ensemble Projects Accomplishments and Limitations Kent Birman, Bob Constable, Mayk Hayden,

Slides:



Advertisements
Similar presentations
Distributed Processing, Client/Server and Clusters
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Reliable Communication in the Presence of Failures Kenneth Birman, Thomas Joseph Cornell University, 1987 Julia Campbell 19 November 2003.
Ken Birman Cornell University. CS5410 Fall
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
High Performance Cluster Computing Architectures and Systems Hai Jin Internet and Cluster Computing Center.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers,
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Distributed components
Virtual Synchrony Jared Cantwell. Review Multicast Causal and total ordering Consistent Cuts Synchronized clocks Impossibility of consensus Distributed.
Virtual Synchrony Ki Suh Lee Some slides are borrowed from Ken, Jared (cs ) and Justin (cs )
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
Algorithm for Virtually Synchronous Group Communication Idit Keidar, Roger Khazan MIT Lab for Computer Science Theory of Distributed Systems Group.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
Implementing Remote Procedure Calls Authors: Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presenter: Jim Santmyer Thanks to:
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
Reliable Distributed Systems Virtual Synchrony. A powerful programming model! Called virtual synchrony It offers Process groups with state transfer, automated.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
Distributed Systems 2006 Retrofitting Reliability* *With material adapted from Ken Birman.
Distributed Systems 2006 Group Membership * *With material adapted from Ken Birman.
Stuart AllenMark Bickford Robert Constable Richard Eaton Christoph KreitzLori Lorigo Secure software infrastructure Logic Programming Communications Advances.
Group Communication Robbert van Renesse CS614 – Tuesday Feb 20, 2001.
Distributed Systems 2006 Virtual Synchrony* *With material adapted from Ken Birman.
Lesson 1: Configuring Network Load Balancing
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
1 A Framework for Highly Available Services Based on Group Communication Alan Fekete Idit Keidar University of Sidney MIT.
The Horus and Ensemble Projects: Accomplishments and Limitations Ken Birman, Robert Constable, Mark Hayden, Jason Hickey, Christoph Kreitz, Robbert van.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
Masking the Overhead of Protocol Layering CS514: Intermediate Course in Operating Systems Robbert van Renesse Cornell University Lecture 14 Oct. 12.
Lecture The Client/Server Database Environment
Overview SAP Basis Functions. SAP Technical Overview Learning Objectives What the Basis system is How does SAP handle a transaction request Differentiating.
Introduction to Cyberspace
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Ensemble: A Tool for Building Highly Assured Networks Professor Kenneth P. Birman Cornell University
Containment and Integrity for Mobile Code Security policies as types Andrew Myers Fred Schneider Department of Computer Science Cornell University.
The OSI Model.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
SPREAD TOOLKIT High performance messaging middleware Presented by Sayantam Dey Vipin Mehta.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.
Ensemble and Beyond Presentation to David Tennenhouse, DARPA ITO Ken Birman Dept. of Computer Science Cornell University.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
Distributed Systems Principles and Paradigms Chapter 12 Distributed Coordination-Based Systems 01 Introduction 02 Communication 03 Processes 04 Naming.
Presented By: Samreen Tahir Coda is a network file system and a descendent of the Andrew File System 2. It was designed to be: Highly Highly secure Available.
Shuman Guo CSc 8320 Advanced Operating Systems
JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood.
December 4, 2002 CDS&N Lab., ICU Dukyun Nam The implementation of video distribution application using mobile group communication ICE 798 Wireless Mobile.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Building reliable, high- performance communication systems from components Xiaoming Liu, Christoph Kreitz, Robbert van Renesse, Jason Hickey, Mark Hayden,
Design and Implementation of Secure Layer over UPnP Networks Speaker: Chai-Wei Hsu Advisor: Dr. Chin-Laung Lei.
Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov
Fault Tolerance (2). Topics r Reliable Group Communication.
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
A Fragmented Approach by Tim Micheletto. It is a way of having multiple cache servers handling data to perform a sort of load balancing It is also referred.
Distributed Systems Lecture 7 Multicast 1. Previous lecture Global states – Cuts – Collecting state – Algorithms 2.
Fault Tolerance Prof. Orhan Gemikonakli
Replication & Fault Tolerance CONARD JAMES B. FARAON
Reliable group communication
Replication Middleware for Cloud Based Storage Service
Middleware for Fault Tolerant Applications
Software models - Software Architecture Design Patterns
Internet Protocols IP: Internet Protocol
Introduction to Cyberspace
TensorFlow: A System for Large-Scale Machine Learning
Presentation transcript:

Ensemble Fault-Tolerance Security Adaptation

The Horus and Ensemble Projects Accomplishments and Limitations Kent Birman, Bob Constable, Mayk Hayden, Jason Hickey, Christoph Kreitz, Robbert van Renesse, Ohad Rodeh and Werner Vogels Cornell University

Isis, Mother of Horus and Ensemble Toolset for Implementing Virtual Synchronization in a Process Group NYSE Overhead Displays and Tickers Swiss Exchange Communications Architecture VLSI Fabrication Plants (AMD, Siemens, TI) AEGIS Naval Radar and Communication System

Virtually Synchronous Process Group Computing Automatically Managed Membership (adding / removing member, notifying the group of these changes) Multicasts with Ordered Message Delivery Group message passing is coordinated with group membership updates. Ability to transfer the group’s current state to new members.

Virtual Synchrony Model

Isis Pros and Cons Good support for data replication and Robust Dynamic load- balancing server clusters High-Availability  Monolithic, inflexible system. Required a lot of programming to retool it or customize it. Slow Buggy

“to support group communication using a single generic architectural framework within which the basic group communication interfaces are treated separately from their implementation”

Micro-Protocol Stacking a customizable protocol stack for distributed applications. Each process group can share the same application-specific protocol. Different process groups in the same cluster can use different, appropriate protocols.

Handling Message-Loss with Micro-Protocol Stacking (an Example) A message-handling micro-protocol keeps a copy of each outgoing message, and enforces order in incoming messages. An incoming message in the wrong order causes the protocol to send a NAK message to the source, asking for a retransmission of the missed message. When an outgoing message has been determined to be received, it can be removed from storage. Some situations may not need this functionality. In such instances Horus can dynamically leave the message- handling protocol out of the stack to boost speed. Other examples: authentication, encryption layers.

Horus Technologies and Successes Horus Common Protocol Interface Header optimizations and compressions Horus Protocol Accelerator Demonstrated that time-critical, fault- tolerant computing with clusters was feasible.

Limitations of Horus Written in C, no inherent type-checking in language (a problem with protocol stacking where we are passing data from one layer to another) Passing header from layer to layer also requires time; conversions and header extensions may need to occur at each layer. Some protocols may perform redundant operations. New protocol stacks have to be hand-coded and hand- verified for efficiency in C. This requires a commitment of time from the protocol stack designer which can still lead to buggy, inefficient code.

Ensemble “Horus Written in a Formal Language” Ensemble was primarily done to overcome limitations of procedural C used in Horus OCAML--a compiled, object-oriented language syntactically based on Lambda calculus. OCAML is very formal and precise. Automated theorem provers (such as nuPRL) can process formal languages like OCAML easily.

Representing the Protocol Stack in Ensemble Represent the entire protocol stack as a series of nested functions on x: Outgoing x: f 0 (f 1 (f 2 (…f n (x)))) Incoming x: f n (f n-1 (f n-2 (…f 0 (x)))) Conditional Evaluation: If (is_a_msg(x)) f (x) else f(x)

2 Types of Formal Optimizations in Ensemble: Static or layer optimization: Apply logical simplification and truth-condition evaluation (assuming the most common cases) to create a highly efficient compiled code for each micro- layer. Applied once when a protocol is first written to produce individual layer optimization theorems. Dynamic or stack optimization: Compose individual layer optimization theorems into a unified stack optimization theorem, assuming the most common case for each layer. Must be performed for each new protocol stack an application developer wants to deploy.

Designing and Deploying New Protocol Stacks: 1.Choose from a set of micro-protocols (written in layer-optimized OCAML byte code) to compose a new protocol stack. 2.Use NuPRL to optimize the stacked OCAML expressions. 3.Compile the OCAML byte code into machine code and plug it in.

Ensemble Programs Ensembled – the Ensemble Daemon Groupd – the Group Daemon