Random Linear Network Coding on Programmable Switches D. Gonalves 1 - - PowerPoint PPT Presentation

random linear network coding on programmable switches
SMART_READER_LITE
LIVE PREVIEW

Random Linear Network Coding on Programmable Switches D. Gonalves 1 - - PowerPoint PPT Presentation

Random Linear Network Coding on Programmable Switches D. Gonalves 1 , S. Signorello 1 , F . M. V. Ramos 1 , M. Mdard 2 1 Faculdade de Cienias, University of Lisbon, Portugal. 2 Massachusetts Institute of T echnology. (MIT), USA. EuroP4 2nd


slide-1
SLIDE 1

Random Linear Network Coding on Programmable Switches

  • D. Gonçalves1, S. Signorello1, F

. M. V. Ramos1, M. Médard2

1 Faculdade de Ciençias, University of Lisbon, Portugal. 2 Massachusetts Institute of T

  • echnology. (MIT), USA.

EuroP4 2nd European workshop on P4 at ANCS’19, 23th Sep Cambridge, UK.

slide-2
SLIDE 2

A Primer on Network Coding & Motivation

slide-3
SLIDE 3

3

Network Coding with an example

a b a b ⊕c b a a b ⊕c a b ⊕c a b

Network coding Traditional routing solution

I n s t e a d

  • f

s i m p l y f

  • r

w a r d i n g d a t a , n

  • d

e s m a y r e c

  • m

b i n e s e v e r a l i n p u t p a c k e t s i n t

  • n

e

  • r

s e v e r a l

  • u

t p u t p a c k e t s . B e n e f i t s

  • v

e r d i f f e r e n t s c e n a r i

  • s

: T h r

  • u

g h p u t , R

  • b

u s t n e s s , S e c u r i t y .

slide-4
SLIDE 4

4

How far research on NC goes?

T h e

  • r

e t i c a l r e s e a r c h O n N e t w

  • r

k C

  • d

i n g

“ N e t w

  • r

k I n f

  • r

m a t i

  • n

F l

  • w

” ~ 1 K c i t a t i

  • n

s

slide-5
SLIDE 5

5

Deployed NC-based systems?

S

  • f

t w a r e r u n n i n g i n e n d

  • h
  • s

t s : e . g . t h e K

  • d
  • C

+ + L i b r a r y O v e r l a y s y s t e m s : e . g . t h e A v a l a n c h e P 2 P s y s t e m ( M i c r

  • s
  • f

t ) S

  • f

t w a r e a n d O v e r l a y , b u t n

  • t

i n t h e n e t w

  • r

k d a t a

  • p

l a n e , w h y ?

  • P

a y l

  • a

d p r

  • c

e s s i n g ,

  • C
  • m

p l e x a r i t h m e t i c .

slide-6
SLIDE 6

6

Linear Network Coding

D a t a P

i

i n t e r p r e t e d a s n u m b e r s

  • v

e r s

  • m

e f i n i t e f i e l d G F ( 2

s

) C

  • e

f f i c i e n t s c a r e f u l l y c h

  • s

e n i n G F ( 2

s

) ! D

  • w

n s i d e : p r e

  • d

e f i n e d C e n t r a l i z e d c

  • m

p u t a t i

  • n
  • f

c

  • e

f f i c i e n t s .

slide-7
SLIDE 7

7

Random Linear Network Coding

Input Packet Input Packet Input Packet Output Packet

C

  • e

f f i c i e n t s r a n d

  • m

l y c h

  • s

e n i n G F ( 2

s

) ! C

  • e

f f i c i e n t s ( p a c k e t h e a d e r ) + c

  • d

e d s y m b

  • l

s i n

  • u

t p u t p a c k e t C

  • e

f f i c i e n t s r a n d

  • m

l y c h

  • s

e n i n G F ( 2

s

) !

slide-8
SLIDE 8

8

Practical RLNC

  • 1

D e c

  • d

i n g m e a n s : T

  • r

e d u c e c

  • m

p l e x i t y , d a t a a r e d i v i d e d i n s m a l l e r b l

  • c

k s

  • v

e r w h i c h c

  • d

i n g / d e c

  • d

i n g i s p e r f

  • m

e d .

P1 P2 P3 Generation x1 Pn Pn+1 Pn+2 P4 P5 P6 Generation x2 Generation xn

a . k . a . g e n e r a t i

  • n
  • b

a s e d R L N C

slide-9
SLIDE 9

9

Change in Networks’ Status Quo

TCP RTP VLAN IPv4/6 F u t u r e : P r

  • g

r a m m a b l e S w i t c h i n g C h i p s P a s t : F i x e d

  • F

u n c t i

  • n

S w i t c h i n g C h i p s C u s t

  • m

P r

  • t
  • c
  • l

IETF standards DIY data plane

slide-10
SLIDE 10

10

Practical RLNC in production

“ T h i s w

  • r

k p r

  • p
  • s

e s a r a n d

  • m

l i n e a r n e t w

  • r

k c

  • d

i n g d a t a p l a n e w r i t t e n i n P 4 , a s f i r s t s t e p t

  • w

a r d s a p r

  • d

u c t i

  • n

l e v e l p l a t f

  • r

m f

  • r

n e t w

  • r

k c

  • d

i n g . ”

G

  • a

l : U n d e r s t a n d i n g t h e t r a d e

  • f

f s f

  • r

r u n n i n g R L N C f u n c t i

  • n

s i n t h e d a t a

  • p

l a n e

  • f

t h e l a t e s t p r

  • g

r a m m a b l e s w i t c h i n g c h i p s .

slide-11
SLIDE 11

Architecture of our Network Coding Switch

slide-12
SLIDE 12

12

RLNC target data plane behavior(s)

1 ° b e h a v i

  • r

– c

  • d

i n g g e n e r a t i

  • n

s 1 ° b e h a v i

  • r

– c

  • d

i n g g e n e r a t i

  • n

s

S e n d e r S e n d s u n c

  • d

e d d a t a s p l i t i n g e n e r a t i

  • n

s R e c e i v e r A c k s a g e n e r a t i

  • n

w h e n t h a t i s s u c c e s s f u l l y d e c

  • d

e d S w i t c h B u f f e r s e n t i r e g e n e r a t i

  • n

, c r e a t e s a n d f

  • r

w a r d s l i n e a r c

  • m

b i n a t i

  • n

s

  • f

s y m b

  • l

s

2 ° b e h a v i

  • r

– r e c

  • d

i n g g e n e r a t i

  • n

s

S e n d e r S e n d s c

  • d

e d d a t a s p l i t i n g e n e r a t i

  • n

s & R e l a t e d c

  • e

f f i c i e n t s S w i t c h B u f f e r s e n t i r e g e n e r a t i

  • n

& c

  • e

f f i c i e n t s , c r e a t e s a n d f

  • r

w a r d s l i n e a r c

  • m

b i n a t i

  • n

s

  • f

s y m b

  • l

s a n d r e c

  • d

e d c

  • e

f f i c i e n t s R e c e i v e r A c k s a g e n e r a t i

  • n

w h e n t h a t i s s u c c e s s f u l l y d e c

  • d

e d

slide-13
SLIDE 13

13

Practical generation-based RLNC

B u f f e r i n g t

  • s

t

  • r

e a l l t h e s y m b

  • l

s

  • f

a g e n e r a t i

  • n

b e f

  • r

e c

  • d

i n g / r e c

  • d

i n g . P a c k e t F

  • r

m a t T

  • e

n c

  • d

e s y m b

  • l

s / c

  • e

f f i c i e n t s A n d c

  • d

i n g p a r a m e t e r s F i n i t e F i e l d ( G F ) a r i t h m e t i c T

  • c
  • m

p u t e l i n e a r c

  • m

b i n a t i

  • n

s O f t h e s y m b

  • l

s

slide-14
SLIDE 14

14

Packet format

S y m b

  • l

r e p r e s e n t a t i

  • n

d r a f t a t : h t t p s : / / d a t a t r a c k e r . i e t f .

  • r

g / d

  • c

/ d r a f t

  • h

e i d e

  • n

w c r g

  • r

l n c / C

  • d

i n g p a r a m e t e r s h e a d e r R c v

  • b

a s e d A c k m e c h a n i s m f

  • r

g e n e r a t i

  • n

s C

  • e

f f i c i e n t s a n d s y m b

  • l

s E x t r a c t e d a s P 4 p a c k e t h e a d e r s

slide-15
SLIDE 15

15

Bufgering

A n e n t i r e g e n e r a t i

  • n

m u s t b e r e c e i v e d a n d s t

  • r

e d b e f

  • r

e c

  • d

i n g c a n b e p e r f

  • r

m e d . S t a t e ( s y m b

  • l

s a n d c

  • e

f f i c i e n t s ) a c r

  • s

s p a c k e t s w h i c h m u s t b e d y n a m i c a l l y i n d e x e d b y g e n e r a t i

  • n

i d i n p a c k e t h e a d e r s . G1 G2

Generation size

W h e r e a g e n e r a t i

  • n

s t a r t s ( h e a d ) a n d w h e r e i s t h e n e x t e m p t y s l

  • t

(

  • f

f s e t ) . A l l i m p l e m e n t e d w i t h P 4 e x t e r n s ( r e g i s t e r s ) .

slide-16
SLIDE 16

16

Galois Field Arithmetic

Y 1

1=c1∗X 1 1+c2∗X 1 2+c3∗X 1 3 A d d i t i

  • n

i n G F E q u a l s s i m p l e b i t

  • x
  • r

M u l t i p l i c a t i

  • n

i n G F R e d u c i n g , t h r

  • u

g h m

  • d

, t h e p r

  • d

u c t

  • f

t w

  • e

l e m e n t s B y a n i r r e d u c i b l e p

  • l

y n

  • m

i a l R a n d

  • m

s e l e c t i

  • n
  • f

c

  • e

f f i c i e n t s c

i

i n G F A l g 1 C

  • m

p u t e I n t e n s i v e S h i f t a n d a d d

  • p

e r a t i

  • n

s p e r f

  • r

m e d b i t

  • b

y

  • b

i t A l g 2 M e m

  • r

y I n t e n s i v e

mul(a,b)=antilog((log(a)+log(b))modQ)

3 t a b l e l

  • k
  • u

p s , 1 a d d , 1 m

  • d

Y ~

  • u

t p u t s y m b

  • l

X ~ i n p u t s y m b

  • l

s c ~ c

  • e

f f i c i e n t s

slide-17
SLIDE 17

17

RLNC.p4 on the Target Architecture

I n g r g r e s s s s M A M A T s E g E g r e s e s s M M A T s T s D e p a r s e r D e p a r s e r

S y m b

  • l

s a n d c

  • e

f f i c i e n t s b u f f e r i n g L i n e a r c

  • m

b i n a t i

  • n

s

  • f

t h e s a m e g e n e r a t i

  • n

a r e c a r r i e d

  • v

e r m u l t i p l e p a c k e t s t h r

  • u

g h t h e t a r g e t P a c k e t R e p l i c a t i

  • n

E n g i n e ( e . g . , u s i n g m u l t i c a s t p r i m i t i v e s ) E m i t t i n g C

  • d

e d S y m b

  • l

s & r e l a t e d C

  • e

f f i c i e n t s .

P a r s e r P a r s e r

S y m b

  • l

s a n d c

  • e

f f i c i e n t s e x t r a c t i

  • n

2° 1°

G F a r i t h m e t i c

  • n

s y m b

  • l

s & c

  • e

f f i c i e n t s

1° 2°

slide-18
SLIDE 18

Lessons & Evaluation

slide-19
SLIDE 19

19

Set-up for preliminary evaluation

P 4

  • t

a r g e t : b m v 2 ’ s s i m p l e

  • s

w i t c h A p p l i c a t i

  • n

: p y t h

  • n

l i b r a r y f

  • r

n e t w

  • r

k c

  • d

i n g a n d S c a p y f

  • r

c u s t

  • m

p k t h e a d e r F i n i t e F i e l d : G F ( 2 ^ 8 ) w i t h v a r i a b l e g e n e r a t i

  • n

s i z e , # p a c k e t s y m b

  • l

s , # l i n c

  • m

b O b j e c t i v e t

  • g

a i n s

  • m

e p r e l i m i n a r y i n s i g h t s a b

  • u

t :

  • I

m p a c t

  • f

c

  • d

i n g p a r a m e t e r s

  • n

t h e P 4 p r

  • g

r a m ,

  • P

e r f

  • r

m a n c e

  • f

t h e t e s t e d t a r g e t w i t h r e g a r d t

  • g

e n e r a t i

  • n

s i z e a n d r e c

  • d

i n g . C

  • r

r e c t n e s s : f

  • r

e v e r y e x p e r i m e n t , w e c h e c k d e c

  • d

i n g a t t h e r e c e i v e r s i d e i s c

  • r

r e c t !

slide-20
SLIDE 20

20

On Code Size & GF arithmetic

C

  • d

i n g p a r a m e t e r s ( g e n e r a t i

  • n

s i z e , f i e l d s i z e , # s y m b

  • l

s i n c

  • d

e d p a c k e t s … ) a n d G F m u l t i p l i c a t i

  • n

a l g

  • r

i t h m a f f e c t c

  • d

e s i z e . S

  • l

u t i

  • n

: c

  • d

e

  • g

e n e r a t i n g t e m p l a t e O u t p u t : A l g 2 ( l

  • k

u p t a b l e s ) p r

  • d

u c e s l e s s v e r b

  • s

e c

  • d

e & m

  • r

e c

  • m

p a c t b i n a r i e s .

mul(a,b)=antilog((log(a)+log(b))modQ)

+ i s l e s s r e s

  • u

r c e

  • i

n t e n s i v e ( % C P U )

  • n

t h e t e s t t a r g e t .

slide-21
SLIDE 21

21

RLNC Switch Performance

I n c r e a s i n g g e n e r a t i

  • n

s i z e & R e c

  • d

i n g = > :

  • +

+ b u f f e r i n g

  • +

+ G F a r i t h m e t i c T a k e

  • a

w a y : p e r f

  • r

m a n c e d r

  • p

d u e t

  • b

i g g e r g e n s i z e s a n d r e c

  • d

i n g c a n b e a d d r e s s e d

slide-22
SLIDE 22

Conclusion and Future Work

slide-23
SLIDE 23

23

Optimizations & Targets & Apps

P 4 c

  • d

e a n d t e s t i n g s u i t e a v a i l a b l e s

  • n

a t : h t t p s : / / g i t h u b . c

  • m

/ n e t x

  • u

l x / N C S p a r s e c

  • d

i n g t

  • r

e d u c e : p a c k e t

  • v

e r h e a d & #

  • f
  • p

e r a t i

  • n

s M e a s u r i n g P a c k e t

  • v

e r h e a d L a t e n c y N e t w

  • r

k t h r

  • u

g h p u t i n N e t w

  • r

k s e t t i n g s W i t h R e a l a p p l i c a t i

  • n

s E x p l

  • r

i n g a r c h i t e c t u r a l / L a n g u a g e s u p p

  • r

t f

  • r

t h i s d a t a

  • p

l a n e b e h a v i

  • r

s

slide-24
SLIDE 24

Thank you! Questions?