Implementing declarative overlays - PowerPoint PPT Presentation

About This Presentation
Title:

Implementing declarative overlays

Description:

Boom Thau Loo Tyson Condie Joseph M. Hellerstein Petros Maniatis Timothy Roscoe Ion Stoica – PowerPoint PPT presentation

Number of Views:111
Avg rating:3.0/5.0
Slides: 15
Provided by: Antt75
Category:

less

Transcript and Presenter's Notes

Title: Implementing declarative overlays


1
Implementing declarative overlays
  • Boom Thau Loo
  • Tyson Condie
  • Joseph M. Hellerstein
  • Petros Maniatis
  • Timothy Roscoe
  • Ion Stoica

2
Presentation
  • Introduction
  • P2 approach
  • Overlog examples (NARADA mesh)
  • Implementation
  • Performance
  • Conclusions

3
INTRODUCTION
  • Overlay networks are used in variety of
    distributed systems.
  • P2 a facility, deployable as a service or
    library, for the declarative construction,
    maintenance, and sharing of an overlay network
  • Applications concise a logical description of an
    overlay network, and P2 executes this to maintain
    routing data structures, perform resource
    discovery and forwarding functionality.
  • Goal simplify the process of selecting,
    implementing, deploying and evolving an overlay
    network design.

4
INTRODUCTION
  • P2 does not aim as optimized performance as e.g.
    C, C or Java implementations.
  • CHORD 47 logical rules (full Overlog
    specification), MACEDON 320 statements.
  • P2 Simplified approach (16 rules, NARADA)
  • Target is to demonstrate that declarative overlay
    descriptions can be implemented by P2 with
    acceptable performance.

5
P2 approach
  • A combination of protocol- and structure centric
    approach that would be most attractive for
    overlay specification and runtime.
  • P2 employs 2 types on relations
  • Soft-state tables (network state)
  • Streams of transient tuples (stream query
    engines)

6
Overlog
  • P2 specification language for overlays.
  • Overlog designed for distribution of context data
    and messages.
  • Overlog P2 adds constructs to specify physical
    distribution properties.
  • Tuples are physically generated, stored and sent
  • Queries over streams
  • Deletion of tuples

7
NARADA
  • Summary of functionality (16 rules)
  • Each node maintains a set of neighbors, and a set
    of members in the group.
  • Each member epidemically propagates keep-alive
    messages for itself
  • (Associated to monotonically increased
    sequence number)
  • Neighbors exchange information about membership
    liveness and sequence numbers.
  • (members learn the liveness of each member)
  • If member fails to hear direct neighbor for a
    period, it declares neighbor dead.
  • (updates its own membership state and
    propagates the rest population)
  • Periodical updates to measure roundtrip latency.
  • If latency time improves -gt node A adds node B to
    its neighbor set
  • If latency time exceeds -gt node A removes node B
    from its neighbor set

8
Example of NARADA based Overlog declarations
  • Overlog syntacts ltruleIDgtltheadgt - ltbodygt
  • Neighbor and member are tables whose tuples are
    retained for 120 seconds
  • materialize(neighbor, 120, infinity, keys(2)).
  • materialize(member, 120, infinity, keys(2)).
  • materialize(sequence, infinity, 1, keys(2)).
  • Rule (R1)
  • R1 refreshEvent(X) - periodic(X, E, 3).
  • Table refreshEvent has a row with value (X),
    for any X, if table periodic has a row with value
    (X, E, 3), for some E.

9
P2 Implementation
  • Platform Linux
  • Code C
  • Codelines 20k ( 3rd party support)

10
Block diagram of a P2 node

11
Performance (FIG. 3)

12
Performance (FIG. 4)

13
Conclusion
  • The P2 approach looks promising
  • Overlays can be specified concisely
  • Performance is acceptable
  • Overlog allows easy modification

14
Thank You!
Write a Comment
User Comments (0)
About PowerShow.com