Presentation is loading. Please wait.

Presentation is loading. Please wait.

Asynchronous token routing device

Similar presentations


Presentation on theme: "Asynchronous token routing device"— Presentation transcript:

1 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs 1 bit of memory

2 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs 1 bit of memory

3 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs 1 bit of memory

4 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs 1 bit of memory

5 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs 1 bit of memory

6 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs 1 bit of memory

7 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs 1 bit of memory

8 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs 1 bit of memory

9 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs 1 bit of memory

10 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs 1 bit of memory

11 Asynchronous token routing device
Balancer Asynchronous token routing device inputs outputs balanced token counts 1 bit of memory

12 A Biochemical Balancer?
2X Y + Z inputs outputs 1 bit of memory

13 Counting Network Data structure for multiprocessor coordination inputs
Aspnes, Herlihy & Shavit (1991) a d a e a e d c a c b f b f inputs outputs e b f c c g g f b e g d g d depth

14 Isomorphic to Batcher’s Bitonic sorting network.
Counting Network Isomorphic to Batcher’s Bitonic sorting network. a d a e a e d c a c b f b f step sequence e b f c c g g f b e g d g d

15 Balancer Snapshot inputs outputs x y 1 bit of memory

16 Execution trace: token counts on all wires
Counting Network Execution trace: token counts on all wires 3 1 1 2 2 1 2 1

17 Fault Tolerance Dynamic faults in the data structure:
No errors in control: No lost tokens Corrupted data No errors in network wiring Inaccessible data concurrent data structure 1

18 Fault Model inputs outputs

19 Fault Model fault! inputs outputs

20 Fault Model inputs outputs state is inaccessible

21 tokens bypass balancer
Fault Model tokens bypass balancer inputs outputs state is inaccessible

22 tokens bypass balancer
Fault Model tokens bypass balancer inputs outputs state is inaccessible

23 tokens bypass balancer
Fault Model tokens bypass balancer inputs outputs state is inaccessible

24 tokens bypass balancer
Fault Model tokens bypass balancer inputs outputs imbalance in token counts state is inaccessible

25 tokens bypass balancer
Fault Model tokens bypass balancer inputs outputs received prior to the fault received after the fault

26 Naïve approach: replicate every balancer.
Fault Tolerance Naïve approach: replicate every balancer. outputs inputs

27 Naïve approach: replicate every balancer.
Fault Tolerance Naïve approach: replicate every balancer. inputs outputs

28 Naïve approach: replicate every balancer.
Fault Tolerance Naïve approach: replicate every balancer. inputs outputs

29 Naïve approach: replicate every balancer.
Fault Tolerance Naïve approach: replicate every balancer. inputs outputs

30 Naïve approach: replicate every balancer.
Fault Tolerance Naïve approach: replicate every balancer. inputs outputs

31 Naïve approach: replicate every balancer.
Fault Tolerance Naïve approach: replicate every balancer. fault! inputs outputs

32 Naïve approach: replicate every balancer.
Fault Tolerance Naïve approach: replicate every balancer. inputs outputs

33 Naïve approach: replicate every balancer.
Fault Tolerance Naïve approach: replicate every balancer. inputs outputs

34 Naïve approach: replicate every balancer.
Fault Tolerance Naïve approach: replicate every balancer. inputs outputs imbalance in token counts Doesn’t work!

35 Remapping Faulty Balancers

36 Remapping Faulty Balancers

37 Remapping Faulty Balancers
inaccessible balancer

38 Remapping Faulty Balancers
Redirect pointers to spare balancer inaccessible balancer spare balancer, random initial state

39 Fault Model inputs outputs

40 Fault Model fault! inputs outputs

41 spurious state transition
Fault Model Remapped balancer inputs outputs spurious state transition

42 spurious state transition
Fault Model Remapped balancer inputs outputs spurious state transition

43 spurious state transition
Fault Model Remapped balancer inputs outputs imbalance in token counts spurious state transition

44 Fault Model Remapped balancer inputs outputs x y

45 Error Bound Error bound for the output sequence of a balancing network with remapped balancers: Balancing Network k faults

46 Distance Measure The distance between two sequences and is:
Definition: Balancing Network k faults gives number of “misplaced tokens”

47 Two identical balancing networks, given same inputs:
Error Bound Two identical balancing networks, given same inputs: no faults k faults

48 Error Bound Execution without faults: 3 1 1 2 2 1 2 1

49 Error Bound Execution with a fault: 3 1 3 1 1 2 1 2 2 1 3 2 1 2 1 3 2
3 1 1 2 1 2 2 1 3 2 1 2 1 3 2 1

50 Error Bound Distance: 2 1 3 = 1 = 0 2 1

51 Strategy: to correct k faults, append k copies.
Correction Network Strategy: to correct k faults, append k copies. smooth sequence step sequence with k errors step sequence CORRECT[n] #1 CORRECT[n] #k

52 Strategy: Construct a block which reduces error by one.
Correction Network Strategy: Construct a block which reduces error by one. step sequence with k errors step sequence with errors CORRECT[n]

53 Correction Network To reduce error by one:
balance smallest and largest entries. step sequence with k errors largest value smallest value step sequence with errors BUTTERFLY[n]

54 Butterfly Network Network which separates out smallest and largest entries: 1 10 34 1 6 5 17 4 3 2 9 8 7 6 5 largest value smallest value

55 Butterfly Network error reduced Balance smallest and largest entries:
1 4 7 6 5 1 3 6 10 6 3 6 1 5 2 5 1 9 6 1 9 6 34 17 9 6 17 8 5

56 Fault Tolerance Solution:
Counting Network constructed with FT balancers. Counting Network FT Counting Network tolerates k faults

57 Fault-Tolerant Balancer
k+1 “pseudo-balancers”, two bits of memory each inputs outputs L F tolerates k faults

58 Pseudo-Balancer two bits of memory state: up or down
inputs outputs L two bits of memory state: up or down status: leader (L) or follower (F)

59 Leader two bits of memory Accepts tokens on either wire.
inputs outputs L incoming tokens colored green Accepts tokens on either wire. Colors outgoing tokens red.

60 Leader two bits of memory Accepts tokens on either wire.
inputs outputs L incoming tokens colored green Accepts tokens on either wire. Colors outgoing tokens red.

61 Leader two bits of memory Accepts tokens on either wire.
inputs outputs L incoming tokens colored green Accepts tokens on either wire. Colors outgoing tokens red.

62 Leader two bits of memory Accepts tokens on either wire.
inputs outputs L incoming tokens colored green Accepts tokens on either wire. Colors outgoing tokens red.

63 Leader two bits of memory Accepts tokens on either wire.
inputs outputs L incoming tokens colored green Accepts tokens on either wire. Colors outgoing tokens red.

64 Follower two bits of memory Accepts red tokens in order. inputs
outputs F Accepts red tokens in order.

65 Follower two bits of memory Accepts red tokens in order. inputs
outputs F Accepts red tokens in order.

66 Follower two bits of memory Accepts red tokens in order. inputs
outputs F Accepts red tokens in order.

67 Follower two bits of memory Accepts red tokens in order. inputs
outputs F Accepts red tokens in order.

68 Follower two bits of memory Accepts red tokens in order. inputs
outputs F Accepts red tokens in order.

69 Follower two bits of memory Accepts red tokens in order. inputs
outputs F Accepts red tokens in order.


Download ppt "Asynchronous token routing device"

Similar presentations


Ads by Google