A Self-healing Multipath Routing Protocol Thomas Meyer, Lidia - - PowerPoint PPT Presentation

a self healing multipath routing protocol
SMART_READER_LITE
LIVE PREVIEW

A Self-healing Multipath Routing Protocol Thomas Meyer, Lidia - - PowerPoint PPT Presentation

A Self-healing Multipath Routing Protocol Thomas Meyer, Lidia Yamamoto, Christian Tschudin Computer Science Department, University of Basel, Switzerland BIONETICS 2008, Hyogo, Japan November 26 th 2008 Motivation Today's software depends on


slide-1
SLIDE 1

A Self-healing Multipath Routing Protocol

Thomas Meyer, Lidia Yamamoto, Christian Tschudin

Computer Science Department, University of Basel, Switzerland

BIONETICS 2008, Hyogo, Japan November 26th 2008

slide-2
SLIDE 2

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

2

Motivation

  • Today's software depends on reliable hardware.
  • But future hardware will be unreliable:
  • Smart Dust: nano computers, large quantity, low price
  • Probabilistic Chips (PCMOS): low energy consumption
  • Consequences:
  • Execution of wrong instructions
  • Corruption of code in memory

[Bahar 2001] [Palem 2007]

Our Goal: Reliable execution in unreliable environments Provide methods for designing resilient software

slide-3
SLIDE 3

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

3

Contents

  • Motivation
  • Method
  • Fraglets: an artificial chemistry
  • Self-healing code using autocatalytic Quines
  • Multipath routing prototocol design
  • Results
  • Conclusions
slide-4
SLIDE 4

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

4

Fraglets: An Artificial Chemistry

  • Fraglets is a constructive artificial chemistry

based on string rewriting rules.

  • Fraglets runs in a virtual machine (interpreter).

[Dittrich et al 2001] [Tschudin 2003]

slide-5
SLIDE 5

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

5

Self-replicating Code: Quines

  • Reactions consume their educt code and data molecules.
  • Code must continously be regenerated. Or better, code has to

regenerate itself!

  • A self-replicating Quine duplicates its active part and blueprint

when processing a data molecule.

  • Limited vessel capacity ⇒ selective pressure ⇒ survival of

replication (defective, non-replicating code will be displaced)

[Yamamoto et al 2007]

slide-6
SLIDE 6

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

6

Self-healing Code: Autocatalytic Quines

  • 80 blueprints
  • 80 code fraglets
  • In steady-state, blueprints and active rules are present with

equal concentration.

  • The code is resilient to knock-out attacks.
  • The code is resilient to most mutation attacks.
  • This results in emergent code homeostasis
slide-7
SLIDE 7

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

7

Self-healing Routing Protocol

  • How to build more complex self-healing programs based on

Quines?

  • In our case: Route data packets to a labeled service (e.g. “A”)

within a network of Fraglet nodes:

slide-8
SLIDE 8

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

8

Routing Protocol Overview: The Cell Metaphor

  • Information: Routing table entries (RTEs) are exchanged

between the nuclei of neighbor nodes.

  • Expression: Passive routing table entries (RTEs) are activated.
  • Operation: Active rules forward data packets to the next hop.
slide-9
SLIDE 9

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

9

Routing Table Entry (RTE) Dissemination

  • Routing Table = Multiset of molecules: [RTE svc hop1 ... hopn]
  • Every service injects a local RTE: [RTE svc]
  • Every node periodically injects trigger molecules.
  • A Quine periodically
  • btains random

RTEs from neighbors.

  • Result: Slow

diffusion of reachability information across the network.

slide-10
SLIDE 10

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

10

Expression of Routing Table Entries (RTEs)

  • The „riboquine“ periodically

expresses an arbitrary RTE.

  • The concentration of a

forwarding rule is proportional to the concentration of its corresponding RTE.

  • Forwarding rules for

the same destination service compete for incoming data packets.

  • Forwarding rules

are consumed when forwarding a data packet!

slide-11
SLIDE 11

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

11

Forwarding Path Reinforcement

  • Forwarding rules must replicate themselves.
  • We only let those forwarding rules replicate that successfully

delivered a data packet to the destination service.

  • The replication latency is equal to the node-to-end round trip

time of the data packet.

  • The growth rate of a forwarding Quine is equal to the rate of

successfully delivered data packets.

  • Multiple paths may coexist.
slide-12
SLIDE 12

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

12

Summary of Operation

  • The exchange of RTEs is needed to announce new services and

their reachability (slow process, protected in the nucleus)

  • By expressing the RTEs the „riboquine“ injects new or displaced

rules (novelty) into the main vessel

  • In the harsh environment of the main vessel, forwarding rules

compete for data packets; successful rules increase their fitness

slide-13
SLIDE 13

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

13

Results: Link Dropout Behavior

  • The protocol shows quick reaction to

packet loss, but only weakly favors shorter paths

start of the data stream (0.4Mbps) link 2-5 dropout link 2-4 dropout

slide-14
SLIDE 14

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

14

Results: Resilience to Code and Data Destruction

  • The software is reslilient to destruction

attacks (e.g. Random destruction of 80%

  • f the molecules)
slide-15
SLIDE 15

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

15

Conclusions

  • We are able to build software for unreliable environments.
  • Compared to existing routing protocols, our approach makes

consequent use of the chemical paradigm on the code level.

  • We gain resilience to instruction loss and to most mutations.
  • The protocol is not forced to symbolically calculate statistics (e.g.

link load, throughput, etc.). Molecule concentrations represent protocol states; packet rates are used to to exchange information.

  • The resulting traffic regulation is an emergent property of the

“chemical” reaction network that spreads over the communication network.

  • However, the proposed protocol only selects for low packet loss

paths; paths with long delays are not punished. The RTE dissemination process does not scale well for large networks.

  • For the future we need additional methods to design “chemical”

protocols that anticipate the emergent effects of local changes to the global reaction network.

slide-16
SLIDE 16

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

16

[fork nop BP11 match TRIG split match BP11 fork fork fork nop BP11 * split smatch fork RT EXP RT * split DIV * DIF] [fork nop BP31 match DIF split match BP31 fork fork fork nop BP31 * expel spush THIS snode _ srepl send all inject nucleus split match RT fork RT RT * match RT expel snode _ send THIS sdup _ snode _ spush 0 syankdupat snode _ seq sif nul inject nucleus RT] [fork nop BP41 match EXP split match BP41 fork fork fork nop BP41 * slength _ spush 7 seq sif EXPD EXPF] [fork nop BP51 match EXPD split match BP51 fork fork fork nop BP51 * shash _ EXPD1] [fork nop BP52 match EXPD1 split match BP52 fork fork fork nop BP52 * expel spush BP sexch snewname spush ID sexch srepl spush DEST sexch srepl fork nop ID match DEST releaseat SSS split match ID fork fork fork nop ID * spush TAG spush SS spush S snewname srepl odeliver DEST TAG SSS] [fork nop BP61 match EXPF split match BP61 fork fork fork nop BP61 * shoveat shoveat nul _ 2 spush * EXPF1 1 * sexch release shash _ EXPF1] [fork nop BP62 match EXPF1 split match BP62 fork fork fork nop BP62 * expel spush BP sexch snewname spush ID sexch srepl spush NEXT sexch srepl spush DEST sexch srepl snode _ spush THIS sexch srepl fork nop ID match DEST spush 1 ssum send NEXT DEST send THIS splitat SR splitat SLR SLR match ID fork fork fork nop ID SR sdup _ snode _ spush 0 syankdupat snode _ seq sif nul]

Thank you! Questions?

Fraglets program of the self-healing routing protocol

slide-17
SLIDE 17

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

17

Gillespie Algorithm

  • Goal: Simulate the behavior of chemical reactions (ODE)
  • Algorithm: Exact Stochastic Simulation of Chemical

Reactions

Simulation (Gillespie) [Gillespie 1977]

X5M x2X5M x X2M x2X2M x d  x5 dt =x5mx≈ PR1

t

= x5mx w0 1 w0

reaction system

slide-18
SLIDE 18

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

18

Autocatalytic Quine – Reaction Network

slide-19
SLIDE 19

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

19

Selective Pressure

  • Only autocatalytic sets survive.
  • Defective, non-replicating code will be displaced.

a) (exponential) growth: duplication during replication b) non-selective death: randomly delete molecules to maintain a const. population

slide-20
SLIDE 20

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

20

Cooperative Quines

  • Composition links Quines by a

common data stream.

  • Compartmentation simulates spatial

separation. Composition Compartmentation

  • Independent Quines compete against each other

⇒ only one will survive.

  • We build self-healing programs on cooperative Quines by using

composition and compartmentation.

slide-21
SLIDE 21

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

21

Data Yield in Serial Autocatalytic Quines

x x x t1 F(x) t1 F(t1) t2 t1 t2 t2 tn tn F(tn) tn y y

slide-22
SLIDE 22

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

22

Robustness to Destruction Attacks

data injection rate x vessel capacity N d e s t r u c t i

  • n

r a t e  stable unstable destruction rate N = 100 / (2 * #quines)

  • req. CPU power

robustness, yield,

  • req. CPU power

robustness, yield robustness

slide-23
SLIDE 23

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

23

Robustness to Mutation Attacks

matchp Redundant matchp Quine 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

Infinite closure

[matchp x x] + [x]  [matchp x x] + [x x]

Inert no reaction for injected input data fraglet No results Invalid results (>95%) Invalid results (>50%) Valid results (>50%) Valid results (>95%) Persistent Rules 100-fold redundancy Quines 100-fold redundancy

85% 9% 93% 12% 85%

Persistent Rules: [matchp x sum y 1] ...

  • Robustness to a single mutation event (edit distance = 1)
slide-24
SLIDE 24

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

24

“Chemical“ Communication Protocols

  • The Fraglet instruction set allows for sending molecules (unicast

[send node2 ...data...] and broadcast [send all ...data...]).

  • Protocol states are encoded as molecule concentrations.
  • Information is exchanged by means of packet rates. The packet

rate is proportional to the reaction rate according to the Gillespie

  • algorithm. [Gillespie 1977]
slide-25
SLIDE 25

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

25

Routing Table Entry (RTE) Dissemination

  • The RTE concentration slowly

adjusts to network topology changes.

  • The stochastic process (random

educt selection + Gillespie) is accurately approximated by a deterministic model described by ODEs.

slide-26
SLIDE 26

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

26

Forwarding Path Reinforcement

  • Competition among forwarding rules yields a higher

concentration of successful rules ⇒ higher reaction probability

  • Coexistence of different forwarding paths is possible: multipath

routing

slide-27
SLIDE 27

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

27

Multipath

  • The protocol exploits multiple paths
  • For high packet rates packets are dropped

by the dilution flow!

link full path full Dilution flow Starts to attack data packets

slide-28
SLIDE 28

26.11.2008

  • T. Meyer: A Self-healing Multipath Routing Protocol

28

Packet Loss Caused by the Dilution Flow

  • In vessels with low capacity the incoming data packet stream

may displace forwarding rules faster than they can be regenerated

  • The vessel capacity (external parameter) correlates with the

node's CPU speed (more molecules ⇒ higher reaction rates)

  • The resulting packet loss allows neighbor nodes to deviate

traffic around heavily loaded nodes