overcoming delay synchronization and cyclic paths meir
play

Overcoming Delay, Synchronization and Cyclic Paths Meir Feder Tel - PowerPoint PPT Presentation

Overcoming Delay, Synchronization and Cyclic Paths Meir Feder Tel Aviv University joint work with Elona Erez and Cyclic Paths 1 Root of the problem In much of network coding assume instantaneous coding


  1. ✬ ✩ Overcoming Delay, Synchronization and Cyclic Paths Meir Feder Tel Aviv University joint work with Elona Erez ✫ ✪ and Cyclic Paths 1

  2. ✬ ✩ Root of the problem • In much of network coding assume “instantaneous coding” • Instantaneous coding cannot work with cycles • Node delay, which may be beneficial cycles, introduces a synchronization problem in code implementation • How to deal with node delay in case of long input sequence? • What about decoding Delay? • Solution: Convolutional codes ✫ ✪ Root of the problem 2

  3. Motivating Example x 1 n ( ) x 2 n ( ) S ( ) x 1 n x 2 n ( ) x ( n ) x ( n ) x ( n ) x ( n 1 ) + + − 1 2 1 2 t t t t t t 3 1 2 4 5 6 • At n = 4 sink t 1 receives x 1 (0) on both of its incoming links. • At time instant n = 5, t 1 receives x 1 (1) and x 1 (1) + x 2 (0). • The effective decoding delay is 5. • Only a single memory element is required. Motivating Example 2-1

  4. ✬ ✩ Convolutional Network Codes - Definition • Let F ( D ) be the ring of polynomials over the binary field. • Link e is associated with b ( e ), whose elements are in F ( D ). 1 S 0             0 1     1 v 0 1 1         a             D     0 1 1         ✫ ✪ t t t t t t 3 2 4 6 1 5 Convolutional Network Codes - Definition 2

  5. ✬ ✩ • Input stream x i ( n ) can be represented by a power series: X i ( D ) = � ∞ n =0 x i ( n ) D n , i = 1 , · · · , h • In linear convolutional network codes: ∞ y e ( n ) D n = m e ( e ′ ) Y e ′ ( D ) = b ( e ) T x ( D ) � � Y e ( D ) = n =0 e ′ ∈ Γ I ( v ) where y e ( n ) are the symbols transmitted on the link e . • To achieve rate h , the global coding vectors on the incoming links to t have to span F [ D ] h , where F [ D ] is the field of ✫ ✪ rational function over the binary field. Convolutional Network Codes - Definition 3

  6. ✬ ✩ Dealing with Cycles • Previous Results • Precoding • Code Construction • Algorithm Complexity • Decoding Delay ✫ ✪ Dealing with Cycles 4

  7. ✬ ✩ Previous Results • Ahlswede et al (00): the cyclic network was unrolled into an acyclic layered network. – The resulting scheme is time-variant, requires complex encoding/decoding and large delay • Koetter and M´ edard (02): if each edge has delay, then there exists a time-invariant linear code with optimal rate. • Li et al (03): a heuristic code construction for a linear ✫ time-invariant code. ✪ Previous Results 5

  8. ✬ ✩ Line Graph • Originally the network is modeled as a directed graph G = ( V, E ) • L ( V , E ) is the line graph with: – Vertex Set: V = E ∪ s ∪ T – Edge Set: E = { ( e, e ′ ) ∈ E 2 : head( e ) = tail( e ′ ) } ∪ { ( s, e ) : e outgoing from s } ∪ { ( e, t i ) : e incoming to t i , 1 ≤ i ≤ d } • If there are h edge-disjoint paths between s and t in G , there are corresponding h node-disjoint paths in L . ✫ ✪ Line Graph 6

  9. ✬ ✩ Recall the following: • h : the minimal min-cut between s and any of the sinks T = { t 1 , · · · , t d } • F ( D ): the ring of polynomials with binary coefficients • F [ D ]: the field of rational function over the binary field. • v ( e ): a global coding vector (whose components maybe in F [ D ]) assigned to node e ∈ L . • The code can be used for multicast if and only if for all t ∈ T , the global coding vectors incoming into t span F [ D ] h . ✫ ✪ Line Graph 7

  10. ✬ ✩ Precoding • We find a set of nodes E D in L , such that if we eliminate them, there will be no directed cycles. • To insure that each cycle will contain at least a single delay, the coding coefficients for this set will be restricted to be polynomials with D as a common component. • To maintain the same number of possible coding coefficients, if we choose polynomials with maximal degree M , then for e ∈ E D ✫ ✪ the maximal polynomial degree is M + 1. Precoding 8

  11. ✬ ✩ • In order to minimize the delay, it is desired to minimize |E D | . • Finding the minimal E D is the long standing problem of finding the minimal arc feedback set, which is NP-hard. • The best known approximation algorithm with polynomial complexity achieves performance ratio O (log | V | log log | V | ). • For our purposes - use any approximate solution to insert enough delays in the cycles. ✫ ✪ Precoding 9

  12. ✬ ✩ Code Construction • The code construction goes in steps over the terminals: Let L l be the sub-graph consisting only of the nodes that participate in the flow from s to t l . L l is acyclic . – Go over the nodes e ∈ L l in a topological order. – Maintains a list of h nodes C l = { e 1 ,l , · · · , e i,l , · · · , e h,l } , each belongs to a different path. ✫ ✪ Code Construction 10

  13. ✬ ✩ • Some definitions: – P j,l : the j th path of the flow from s to t l . – p j,l ⊂ P j,l : the set of nodes following e j,l ∈ C l (not including e j,l ). – c j,l : the set of coding coefficients of edges with tail in p j,l and head in L \ p j,l . – r l : the union of these sets of coefficients: r l = ∪ 1 ≤ j ≤ h c j,l ✫ ✪ Code Construction 11

  14. ✁ � ✡ ✠ ✟ ✞ ✝ ✆ ☎ ✄ ✂ ✂ ✂ ✁ ✁ ✬ ✩ s edges in p , e , e , e , e j l j l h l 1 l h 1 , l edges outgoing from p , n n n n e , e , e , e j l m 0 h l h 1 , l 1 j l l 0 m m 0 m 0 m 0 for edges in r m 0 m 0 = l m 0 t l ✫ ✪ Code Construction 12

  15. ✬ ✩ The partial coding vector - u ( e ) • u ( e ) is defined for all e ∈ C l as the global coding vector of e when all the coefficients in r l are set to zero. • V l = { v ( e ) : e ∈ C l } , U l = { u ( e ) : e ∈ C l } . • Requiring V l to span F [ D ] h is not sufficient. • Requiring U l to span F [ D ] h is sufficient. • At the end of step l , V l = U l . ✫ ✪ The partial coding vector - u ( e ) 13

  16. ✯ ✙ ✤ ✔ ✕ ✣ ✗ ✘ ✼ ✷ ✾ ✜ ✛ ✹ ❀ ✮ ✥ ✧ ✺ ✽ ✱ ✲ ✳ ✿ ✌ ✍ ✏ ★ ✑ ✒ ✬ ✫ ✪ ✶ ✻ ✬ ✩ Requiring V l to span F [ D ] h is not sufficient: s 1 0 ( e ) ( e ) v v 1 l , 2 l , ✎☞✎ 0 ☛☞☛ ✢☞✢ 1 ✚☞✚ 1 n m ( e l e , ) 0 ( 1 e ) 2 , 2 , l n v m ( e l e , ) 0 ✩☞✩ 1 ✦☞✦ 1 , 1 , l 1 1 n ( e ) v n n m ( e , e ) 1 ( e ) 2 , l v ✸✵✸ 1 ✴✵✴ 1 1 , l 1 , l ✖☞✖ 1 ✓☞✓ n n m ( e , e ) 1 m ( e , e ) 1 2 2 , l 1 , l 2 1 ( e ) v 2 ✰☞✰ 1 ✭☞✭ t ✫ ✪ l The partial coding vector - u ( e ) 14

  17. ✬ ✩ • The dashed edges are edges in L k for some k < l . • The current edges in C l are e 1 ,l and e 2 ,l . • We have reached e n 2 ,l in the topological order. • The previous value m ( e 2 ,l , e n 2 ,l ) = 0 remains since v ( e n 2 ,l ) and v ( e 1 ,l ) are already a basis . • Next we reach e n 1 ,l and we need to determine m ( e 1 ,l , e n 1 ,l ). • But for any value of m ( e 1 ,l , e n 1 ,l ), we have v ( e n 1 ,l ) = v ( e n 2 ,l ) ✫ ✪ and the new set of vectors cannot be a basis! The partial coding vector - u ( e ) 15

  18. ✬ ✩ Returning to the algorithm... • The algorithm reached node e i,l ; wishes to continue to e n i,l , the following node in P i,l • So far, the set U l = { u ( e ) : e ∈ C l } is a basis. • A new list is generated: C n l = C l ∪ e n i,l \ e i,l . • There is a new set of partial coding vectors: ✫ U n l = { u n ( e 1 ,l ) , · · · , u n ( e n i,l ) , · · · , u n ( e h,l ) } . ✪ Returning to the algorithm... 16

  19. ✬ ✩ • The algorithm determines a coding coefficient m ( e i,l , e n i,l ) between node e i,l and e n i,l so that U n l will be a basis. • Let m ′ ( e i,l , e n i,l ) be the coding coefficient between e i,l and e n i,l before this stage of the algorithm. – If with m ′ ( e i,l , e n i,l ) U n l is a basis - done! – Otherwise - we have the following Theorem: Theorem 1 Suppose that with m ′ ( e i,l , e n i,l ) the set U n l is not a basis. Then with any other value m ( e i,l , e n i,l ) the set U n l will be a basis. ✫ ✪ Returning to the algorithm... 17

  20. ✬ ✩ But what about the previous sinks? • Changing m ′ ( e i,l , e n i,l ) changes the coding vectors incoming at the previous sinks. May not be a basis anymore! • Theorem 2 Let C k be the set of nodes incoming into the sink t k , k < l . Denote by V ′ k = { v ′ ( e 1 ,k ) , · · · , v ′ ( e h,k ) } , e j,k ∈ C k , the set of global coding vectors of C k with m ′ ( e i,l , e n i,l ) . If V ′ k is a basis, then at most a single value of new coefficient m ( e i,l , e n i,l ) will cause the new set V k = { v ( e 1 ,k ) , · · · , v ( e h,k ) } not ✫ ✪ to be a basis. But what about the previous sinks? 18

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