random linear network coding on programmable switches
play

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


  1. Random Linear Network Coding on Programmable Switches D. Gonçalves 1 , S. Signorello 1 , F . M. V. Ramos 1 , M. Médard 2 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.

  2. A Primer on Network Coding & Motivation

  3. Network Coding with an example I n s t e a d o f s i m p l y f o r w a r d i n g d a t a , n o d e s m a y r e c o 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 o o n e o r s e v e r a l o u t p u t p a c k e t s . Traditional routing solution Network coding a b a ⊕c b b a a ⊕c b B e n e f i t s o v e r d i f f e r e n t s c e n a r i o s : ⊕c a b a b T h r o u g h p u t , R o b u s t n e s s , S e c u r i t y . 3

  4. How far research on NC goes? T h e o r e t i c a l r e s e a r c h O n N e t w o r k C o d i n g “ N e t w o r k I n f o r m a t i o n F l o w ” ~ 1 0 K c i t a t i o n s 4

  5. Deployed NC-based systems? S o f t w a r e r u n n i n g i n e n d - h o s t s : e . g . t h e K o d o 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 o s o f t ) S o f t w a r e a n d O v e r l a y , b u t n o t i n t h e n e t w o r k d a t a - p l a n e , w h y ? ● P a y l o a d p r o c e s s i n g , ● C o m p l e x a r i t h m e t i c . 5

  6. Linear Network Coding s D a t a P i n t e r p r e t e d a s n u m b e r s o v e r s o m e f i n i t e f i e l d G F ( 2 ) i G s C o e f f i c i e n t s c a r e f u l l y c h o s e n i n F ( 2 ) ! D o 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 o m p u t a t i o n o f c o e f f i c i e n t s . 6

  7. Random Linear Network Coding G G s s C C o o e e f f f f i i c c i i e e n n t t s s r r a a n n d d o o m m l l y y c c h h o o s s e e n n i i n n F F ( ( 2 2 ) ) ! ! Input Packet Input Packet Input Packet Output Packet C o e f f i c i e n t s ( p a c k e t h e a d e r ) + c o d e d s y m b o l s i n o u t p u t p a c k e t 7

  8. Practical RLNC -1 D e c o d i n g m e a n s : P 1 Generation x 1 P 2 P 3 T o r e d u c e c o m p l e x i t y , P 4 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 o c k s Generation x 2 P 5 P 6 o v e r w h i c h c o d i n g / d e c o d i n g i s p e r f o m e d . P n P n+1 Generation x n P n+2 a . k . a . g e n e r a t i o n - b a s e d R L N C 8

  9. Change in Networks’ Status Quo P a s t : F i x e d - F u n c t i o n S w i t c h i n g C h i p s C u s t o m P r o t o c o l RTP IPv4/6 TCP IETF standards VLAN F u t u r e : P r o g r a m m a b l e S w i t c h i n g C h i p s DIY data plane 9

  10. Practical RLNC in production “ T h i s w o r k p r o p o s e s a r a n d o m l i n e a r n e t w o r k c o 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 o w a r d s a p r o d u c t i o n l e v e l p l a t f o r m f o r n e t w o r k c o d i n g . ” G o a l : U n d e r s t a n d i n g t h e t r a d e - o f f s f o r r u n n i n g R L N C f u n c t i o n s i n t h e d a t a - p l a n e o f t h e l a t e s t p r o g r a m m a b l e s w i t c h i n g c h i p s . 10

  11. Architecture of our Network Coding Switch

  12. RLNC target data plane behavior(s) 1 1 ° ° b b e e h h a a v v i i o o r r – – c c o o d d i i n n g g g g e e n n e e r r a a t t i i o o n n s s R e c e i v e r A c k s a g e n e r a t i o 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 o d e d S e n d e r S w i t c h S e n d s u n c o d e d B u f f e r s e n t i r e g e n e r a t i o n , d a t a s p l i t c r e a t e s a n d f o r w a r d s l i n e a r i n g e n e r a t i o n s c o m b i n a t i o n s o f s y m b o l s R e c e i v e r 2 ° b e h a v i o r – r e c o d i n g g e n e r a t i o n s A c k s a g e n e r a t i o 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 o d e d S e n d e r S w i t c h S e n d s c o d e d d a t a s p l i t B u f f e r s e n t i r e g e n e r a t i o n & c o e f f i c i e n t s , i n g e n e r a t i o n s & c r e a t e s a n d f o r w a r d s l i n e a r c o m b i n a t i o n s o f s y m b o l s a n d R e l a t e d c o e f f i c i e n t s r e c o d e d c o e f f i c i e n t s 12

  13. Practical generation-based RLNC P a c k e t F o r m a t T o e n c o d e s y m b o l s / c o e f f i c i e n t s A n d c o 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 o c o m p u t e l i n e a r c o m b i n a t i o n s O f t h e s y m b o l s B u f f e r i n g t o s t o r e a l l t h e s y m b o l s o f a g e n e r a t i o n b e f o r e c o d i n g / r e c o d i n g . 13

  14. Packet format S y m b o l r e p r e s e n t a t i o 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 . o r g / d o c / d r a f t - h e i d e - n w c r g - r l n c / C o 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 C o e f f i c i e n t s a n d s y m b o l s f o r g e n e r a t i o n 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 14

  15. Bufgering A n e n t i r e g e n e r a t i o n m u s t b e r e c e i v e d a n d s t o r e d b e f o r e c o d i n g c a n b e p e r f o r m e d . S t a t e ( s y m b o l s a n d c o e f f i c i e n t s ) a c r o 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 o n i d i n p a c k e t h e a d e r s . Generation size G1 G2 W h e r e a g e n e r a t i o 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 o t ( o 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 ) . 15

  16. Galois Field Arithmetic R a n d o m s e l e c t i o n o f c o e f f i c i e n t s c i n G F i Y ~ o u t p u t s y m b o l 1 = c 1 ∗ X 1 1 + c 2 ∗ X 1 2 + c 3 ∗ X 1 3 Y 1 X ~ i n p u t s y m b o l s c ~ c o e f f i c i e n t s M u l t i p l i c a t i o n i n G F A d d i t i o n i n G F R e d u c i n g , t h r o u g h m o d , t h e p r o d u c t o f t w o e l e m e n t s E q u a l s s i m p l e b i t - x o r B y a n i r r e d u c i b l e p o l y n o m i a l A l g 2 M e m o r y I n t e n s i v e A l g 1 C o m p u t e I n t e n s i v e mul ( a,b )= antilog (( log ( a )+ log ( b )) modQ ) S h i f t a n d a d d o p e r a t i o n s p e r f o r m e d b i t - b y - b i t 3 t a b l e l o o k - u p s , 1 a d d , 1 m o d 16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend