(3)BASE - Using Abstraction to Improve Fault Tolerance

download (3)BASE - Using Abstraction to Improve Fault Tolerance

of 14

Transcript of (3)BASE - Using Abstraction to Improve Fault Tolerance

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    1/14

    BASE: Using Abstraction to Improve Fault Tolerance

    Rodrigo Rodrigues , Miguel Castro , and Barbara Liskov MIT Laboratory for Computer Science

    200 Technology Sq., Cambridge MA 02139, USA Microsoft Research Ltd.

    1 Guildhall St., Cambridge CB2 3NH, UK

    [email protected], [email protected], [email protected]

    ABSTRACT

    1. INTRODUCTION

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    2/14

    2. THE BASE TECHNIQUE

    2.1 Methodology

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    3/14

    2.1.1 Applicability

    2.2 The BASE Library

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    4/14

    -

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    5/14

    execute

    propose_value/check_value

    get_obj/put_objshutdown/restart

    Client

    BASE

    Client

    BASE

    Replica

    Conf.

    Wrapper

    Original

    Implementation

    invoke

    BASEProtocol

    modify

    3. EXAMPLES

    3.1 File System

    3.1.1 Abstract Specification

    Andrewbenchmark

    kernel NFS client

    relay

    replicationlibrary

    replica 1

    unmodified NFS daemon 1

    replicationlibrary

    conformancewrapper

    stateconversion

    unmodified NFS daemon n

    replicationlibrary

    conformancewrapper

    stateconversion

    replica n

    client

    3.1.2 Conformance Wrapper

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    6/14

    3.1.3 State Conversions

    TypeGen. #Parent

    Attrs

    Data

    0

    FILE12

    DIR10

    FILE10

    DIR1-1

    t1

    other attrs

    FREE0

    1 2 3 4

    TypeGen. #Parentfhandletstamps

    DIR1-1

    h1t1

    FILE10

    h2t2

    DIR10

    h3t3

    FREE0

    0 1 2 3

    FILE12

    h4t4

    root

    f1

    f2

    d1

    Abstract State:

    Conformance Representation: Concrete State:

    4

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    7/14

    -

    -

    3.1.4 Proactive Recovery

    3.2 Object-Oriented Database

    3.2.1 System Overview

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    8/14

    -

    3.2.2 Abstract Specification

    3.2.3 Conformance Wrapper

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    9/14

    3.2.4 State Conversions

    4. EVALUATION

    4.1 File System Overhead

    4.1.1 Experimental Setup

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    10/14

    4.1.2 Homogeneous Results

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    11/14

    4.1.3 Heterogeneous Results

    4.2 Object-Oriented Database Overhead

    4.2.1 Experimental Setup

    4.2.2 OO7 Results

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    12/14

    0

    5

    10

    15

    20

    T1 T6 T1 T6

    Thor BASE-Thor

    Elapsedtime(s)

    Commit

    Traversal

    0

    5

    10

    15

    20

    T2a T2b T2a T2b

    Thor BASE-Thor

    Elapsedtime(s)

    Commit

    Traversal

    4.3 Code Complexity

    5. RELATED WORK

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    13/14

    6. CONCLUSION

    7. ACKNOWLEDGMENTS

    8. REFERENCES

  • 8/2/2019 (3)BASE - Using Abstraction to Improve Fault Tolerance

    14/14