SLIDE 13 Sample “Fraglet Process” : Producer/Consumer
a.k.a “confirmed delivery protocol” Prod: [ matchp : ack : data : Payload ] Cons: [ matchp : data : split : ack :
✝ : discard ]
Ack: [ ack ]
P C a d
Execution Trace:
[ a ] [ matchp : a : d : Payload ], [ a ]
[ matchp : d : split : a :
✁ : discard ], [ d : Payload]
✁ : discard : Payload ]
[ split : a :
✁ : discard : Payload ]
- [ a ], [ discard : Payload ]
- [ a ] . . .
c
✁
Christian Tschudin, University of Basel Programmable Networks 2004, Nov 30–Dec 1, 2004, 25/32
Fraglet Protocol: Flow Control with N Credits (contd)
fhadks fhak hfakd fhkd fhkd fhkdas hfkdhfk hfk fhadks fhak hfakd fhkd fhkd fhkdas hfkdhfk hfk fhadks fhak hfakd fhkd fhkd fhkdas hfkdhfk hfk fhadks fhak hfakd fhkd fhkd fhkdas hfkdhfk hfk fhadks fhak hfakd fhkd fhkd fhkdas hfkdhfk hfk fhadks fhak hfakd fhkd fhkd fhkdas hfkdhfk hfk
credit tokens
N N/N+1/P r0/N/N+1/P r1/N/N+1/P r2/N/N+1/P r30/N+1/P r31/N+1/P r32/N+1/P r33/N+1 r34/N+1 r35/N+1 r36/N+1 r37/N+1 c0/P
r39 r38/N+1 r39/N+1 N+1 t0 t0/N t1/N send/N/N+1 t1/N+1 c1/ok/P c2/ok/P c4/ok c3/ok/P
payload next expected token step circular list consumer producer
s0/N s2/N s21/N s22/N N N/N+1 s23/N+1 s24/N+1 s25/N+1 s1/N ring/N+1 s20/N+1 s20/N ring/N ring a1/ok/P a10/ok a11/N/N+1 send/N/N+1/P a10
a0/ok/P N/N+1 a11/P in/ok/P produce N/N+1
Total system: ca 35 axioms (fraglets), 3–10 symbols long – everything is a fraglet (active packet), even credit tokens – coupled control and processing loops
c
✁
Christian Tschudin, University of Basel Programmable Networks 2004, Nov 30–Dec 1, 2004, 26/32