speccast 1 leon poutievski dr. ken calvert dr. jim griffioen {leon, calvert, griff}@netlab.uky.edu...
TRANSCRIPT
Speccast 1
Leon Poutievski Dr. Ken CalvertDr. Jim Griffioen
{leon, calvert, griff}@netlab.uky.edu
University of KentuckyLaboratory for Advanced Networking
ActiveCast ProjectâSponsored by DARPA
Speccast
Speccast 2
Speccast: General Problem⢠Given
â Network topology, N - set of nodesâ P â set of predicates on nodes, i.e. functions: N â {true,
false}â Each packet m carries a destination predicate m.dest Pâ m.dest specifies a set of nodes to which m is delivered,
i.e.⢠Goal
deliver m to all nodes n, s.t. m.dest(n) = true
â Speccast service subsumeso Unicast: provided for each node, there is a point predicate
satisfied by only that nodeo Multicast: provided for each multicast group, there is a
predicate satisfied by only members of that groupâ The choice of predicate language is important
m.destpayload
n2
s
n0
n1
while minimizing overhead
Speccast 3
Speccast Routing/Forwarding
⢠Difference from previous servicesâ No underlying unicast layer
o Network-level service; runs on bare (uncontrolled) topologyâ No predefined address assignmentâ No resolution/discovery before forwarding
⢠Contributions of this paperâ Define the new problemâ Propose a solution for a simple predicate languageâ Investigate the effects of
o Topologyo Structure of predicate seto Assignment of predicates to nodes (locality)
on efficiency of our solutionâ Result preview: general solution with modest
overhead
Speccast 4
Assumptions for This Paper⢠Simple predicate language
â Disjunctions of conjunctions of positive atomic propositions
m.dest = (ab) (cd)
⢠Static topology
p1=ac
p0=abc
n1
n0
payload
Speccast 5
Layered Solution
Base layer
Composition layer
⢠Base layerâ deliver to all nodes satisfying a single atomic
proposition⢠Composition layer
â deliver the packet using the base layer
Speccast 6
Layered Solution: Base Layer
⢠Problem:Deliver to all nodes satisfying an atomic proposition
⢠Solution:Build a tree spanning all nodes satisfying the atomic propositionâ Nodes on the tree keep list of tree interfacesâ Nodes not on the tree know next hop toward the tree
⢠Approach:Distance-vector algorithmâ Exchange tuples <attribute, tree ID, distance, tree size>
Speccast 8
Layered Solution: Base Layer
m.dest = red
m.destpayload
Non-red, off-tree
Red, on-tree
Non-red, on-tree
Speccast 10
Layered Solution: Base Layer
m.destpayload
â˘Locality â correlation between nodeâs location and set of predicates it satisfies
m.dest = red
Non-red, off-tree
Red, on-tree
Non-red, on-tree
Speccast 11
Layered Solution: Composition Layer
⢠Problem: Deal with more complicated predicates
o state for arbitrary predicates grows exponentially
⢠Solution:â Disjunction: send to a union of trees
o For abc, send to a,b and c treesâ Conjunction: send along a single tree
o For abc, send along one of a,b or c trees
⢠Approach:â Select a single atomic proposition from each
conjunctionâ Forward to all trees corresponding to selected
atomic propositions using the base layer⢠Result:
â Trade reduced state for overdeliverym.dest = red ( blue green )
Speccast 12
m.dest = red ( blue green )
m.dest = red ( blue green )
m.destpayload
Layered Solution: Composition Layer
Speccast 13
Dependent Attributes⢠Conventional routing: use hierarchy for scalability
â E.g. represent set of destinations with a common address prefix
⢠Idea: impose relationships among predicatesâ Abstraction predicates: (p0 ... pk) P
⢠Solution: hierarchical atomic propositionsExample: animal.mammal.human.student.graduate_student
m.dest=blue.navy_blue
blue.navy_blue
blue.navy_bluem.destpayload
blue.azure
blue.azureblue
blue
Speccast 14
Evaluation Metrics⢠Delay
â For each destination node d, number of edges on the path to d
â Stretch â sum over all destinations over the sum of shortests distances to all destinations
⢠Network loadâ Number of links over which a message is forwardedâ Ratio â ratio to the network load over the SPT
⢠Network stateâ Amount of information stored at all nodes combined
⢠Forwarding-time computationâ Complexity of forwarding time at each node for each
packet arrival
Speccast 15
Evaluation⢠Solutions Compared
â Speccasto Non-hierarchical (without hierarchical predicate structure)o Hierarchical (with hierarchical predicate structure)
â Shortest-path tree (SPF)â Controlled-topology overlay: Tapestryâ Publish-subscribe overlay: Idealized Broker Overlay
⢠Usage Scenariosâ Unicast (with high and low locality)â Multi-unicast (with high and low locality)â Multicastâ Random predicates
⢠Topologiesâ GT-ITM, transit-stub graphs, 3000 nodes
Speccast 16
Unicast Predicate Assignment
⢠Each node has a âpseudo-unicast-addressâ:â Unique B-ary number with logB N digits, N = number of
nodesâ Node satisfies predicate digit_p_x,
iff the digit in position p of nodeâs number is xâ Set of propositions is partitioned into independent subsets:
nodes satisfying digit_1_5 will not satisfy digit_1_6
⢠Example: number 567, base 10â Flat: digit_0_7 digit_1_6 digit_2_5
digit[0]=7 & digit[1]=6 & digit[2]=5â Hierarchical: digit.5.6.7
Speccast 21
Optimizations⢠Filtering (reduce overdeliveries due to flat
conjunctions)â Additional state to reduce loadâ Shared learning among packetsâ Store knowledge about tree intersections
â Positive filterso record existence of one tree along some branch of another tree
â Negative filterso record absence of one tree along some branch of another tree
â Default routeso Trade-off state for network load in tree like parts of the networko Do not store state in nodes with only one or two interfaces
⢠Compress repeated entries for hierarchical attributes
Speccast 22
m.destpayload
Optimization: Filtersm.dest = red blue
m.dest = red blue
Filter:âno red on this
branchâ
Speccast 25
Related Work⢠Publish-subscribe (Siena)
â Dual problem (receiver vs. sender control)â Unicast semantics (point predicates) is unclearâ Overlay solution
⢠Overlaysâ DHT (Tapestry)â INS (shared tree overlay)â i3
⢠Sensor networksâ Directed diffusion
Speccast 26
Conclusions
⢠Locality improves all metrics for Speccast⢠Hierarchical Speccast overhead is small
â Delay stretch is the lowest:1.1 (with locality), 1.2 (without locality)
⢠Hierarchical Speccast out-performsâ Flat Speccast (for unicast and multi-unicast)â All other solutions (for unicast and multi-unicast with
locality)â State grows sublinearly
Speccast 27
Questions?
SpeccastLeon PoutievskiUniversity of Kentucky
[email protected]://protocols.netlab.uky.edu/~leon