Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Network Coding – “Codarea reţelei”
Zsolt Polgar
Communications Department
Faculty of Electronics and Telecommunications,
Technical University of Cluj-Napoca
Conţinutul prezentării Aspecte teoretice de bază;
Performanţe NC;
Selecţia coeficienţilor de codare RNC;
Efectul erorilor asupra operaţiilor NC;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 2
Aspecte teoretice de bază
Network Coding (“Codarea Reţelei”) – se referă la
combinarea pachetelor şi a fluxurilor transmise prin reţea;
Se consideră combinaţii liniare cu coeficienţi de combinare/
codare selectaţi după o anumită regulă;
Motivul utilizării codării este creşterea throughput-ului prin reţea
prin utilizarea mai eficientă a resurselor disponibile;
Controlul congestiei în situaţia în care nu este posibilă utilizarea altor tehnici
de rutare se poate realiza tot prin operaţii de codare – vezi figura;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 3
b1 b2
b1
b1
b1
b1
b2
b2
b2
b2
ST
W
YX
Z
Ub1 b2
b1
b1
b2
b2
ST
W
YX
Z
U
1 2b b
1 2b b 1 2b b
Aspecte teoretice de bază
Un alt exemplu clasic: utilizarea NC în WLAN
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 4
UV
UV
UV
ST
ST
ST
S’T’
S’T’
S’T’
b1
b2
1 2b b
Unitate de timp 1
Unitate de timp 2
Unitate de timp 3
Aspecte teoretice de bază
În fiecare nod se poate defini un set () de procese
aleatoare (secvenţe de date) :
Procesul aleator transmis pe legătura e (de ieşire) a nodului ,
notat cu Y(e), depinde de procesele aleatoare locale, X(), şi
de procesele aleatoare de pe legăturile de intrare e’ ,Y(e’);
“head” link = link “end” ; “tail” link = link “start”;
Coeficienţii şi sunt selectaţi după o anumită metodă în mod
determinist sau aleator – “Random” NC (RNC);
Dacă un nod este un nod terminal atunci datele decodate sunt
reprezentate de procesele aleatoare:
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 5
,1 , ,2 ,..., , ( )X v X v X v X v v
( )
, ',
1 ': ( ') ( )
, 'v
e l e e
l e head e tail e
Y e X v l Y e
,1 , ,2 ,..., , ( )Z v Z v Z v Z v v
',
': ( ')
, 'e j
e head e v
Z v j Y e
Aspecte teoretice de bază
Se utilizează o descriere o matricială:
Matricea de incidenţă F, de dimensiune EE; E – numărul de
linkuri din reţea;
Matricea A – corespunde proceselor sursă; are dimensiunea E,
unde este numărul total de procese sursă în toate nodurile reţelei;
l – numărul de ordine al procesului sursă dintr-un anumit nod;
Matricea B – corespunde proceselor destinaţie; are dimensiunea E,
unde este numărul total de procese destinaţie în nodurile terminale;
l – numărul de ordine al procesului destinaţie dintr-un anumit nod;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 6
,
,
( ) ( )
0
i je e i j
i j
head e tail eF
in rest
,
,
( ( ), )
0
je l i j
i j
x X tail e lA
in rest
1 2 1 1 1 1 2, ,..., ( ,1), ( ,2),..., ( , ( )), ( ,1),..., ( , ( ))V V
x x x x X v X v X v v X v X v v
( )i
i
v
,
,
( ( ), )
0
je l i j
i j
z Z head e lB
in rest
1 2 1 1 1 1 2, ,..., ( ,1), ( ,2),..., ( , ( )), ( ,1),..., ( , ( ))V V
z z z z Z v Z v Z v v Z v Z v v
( )i
i
v
Aspecte teoretice de bază
Dacă o reţea este descrisă prin matricile A, B şi F,
matricea de transfer a reţelei, M, este dată de:
I este matricea identitate de dimensiune EE;
Decodarea simbolurilor este posibilă dacă matricea M
este inversabilă;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 7
vY(1)
Y(2)
(3) (1) (2)1,3 1 1,3 2,3Y a X f Y f Y
X1 ST
W
YX
Z
U
X1,X2
1 1 2 2X X 3 1 4 2X X
5 1 1 2 2
6 3 1 4 2
X X
X X
1( ) TM A I F B
Performanţe NC Teorema “max-flow min-cut”
Într-o reţea care transmite fluxuri (“flow network”) fluxul maxim
care trece de la sursă la destinaţie este egal cu capacitatea de
transfer minimă care trebuie eliminată din reţea astfel încât nu se
mai poate trimite nici un flux între sursă şi destinaţie;
Capacitatea minimă se poate determina prin diverse metode de
analiză/căutare pe graf; o astfel de metodă este algoritmul Ford-
Fulkerson
Teorema presupune că nodurile reţelei nu realizează
duplicări de pachete;
Un pachet ce soseşte într-un nod pe un link de intrare este direcţionat
numai către un singur link de ieşire;
Capacitatea reţelei se modifică dacă se permit duplicări/replicări de
pachete;
Duplicările de pachete stau la baza operaţiilor de multicast;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 8
Performanţe NC Reţeua de test de bază – varianta 1
Numerele de pe legături reprezintă debite de
transfer în simboluri/pachete pe unitate de timp;
Este vorba de o tratare teoretică; semnificaţia
practică de debitelor specificate poate fi un
multiplicator al unui debit de bază/referinţă;
Reţele de test modificate/extinse
Nodurile 3, 4 şi 5 sunt indentice cu nodurile
cu acelaşi număr din prima figură; are loc
modificarea numărului de destinaţii;
Se consideră o transmisie multicast între sursa 0 şi destinaţii;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 9
0
1
13
3 4 5
6 7
22
27
16 12 9 14
7 12 6 14
3 4 5
67
1920
3 4 5
6 7 8
78
9
5
610
3 4 5
6 7
108
97
8 98
6
a b c
Performanţe NC
Debite “max flow” fără duplicări/replicări de pachete
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 10
0
5
10
15
20
25
30
35
40
1 2 3 4
Ma
x-f
low
[s
ym
bo
ls/t
ime
un
it]
No. of sinks
Sink 1 Sink 2
Sink 3 Sinkl 4
Performanţe NC
Debite “max flow” cu duplicări/replicări de pachete
“Pericolul” este că unele pachete pot fi
considerate/numărate de mai multe ori;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 11
0
5
10
15
20
25
30
35
40
45
1 2 3 4
Ma
x-f
low
[sym
bo
ls/t
ime u
nit
s]
No. of sinks
Sink 1 Sink 2
Sink 3 Sink 4
Performanţe NC Comparaţie între ratele de transfer codate şi necodate
Debitul codat (acelaşi în toate destinaţiile) este aproximativ egal cu:
media ratelor de transfer maxime ce se pot obţine în nodurile destinaţie fără replicări
de pachete;
rata de transfer minimă care se poate obţine în nodurile destinaţie cu replicări de
pachete;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 12
0
5
10
15
20
25
30
35
40
1 2 3 4
Tra
nsfe
r ra
te [
sym
bo
ls/t
ime u
nit
]
No. of terminals
Coded
Non-coded
Performanţe NC
Reţeua de test de bază – varianta 2
Probabilitatea de nedecodare
depinde de rata de transfer codată;
este identică cu probabilitatea ca
matricea de transfer a reţelei să aibă
determinant nul;
reţeaua din figură poate
transfera un debit maxim
de 11 simb./unit. timp;
s-a utilizat GF(2^5);
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 13
0
1
3
54
6
213 8
9 10
12 65
7 11
0.00E+00
5.00E-03
1.00E-02
1.50E-02
2.00E-02
2.50E-02
3.00E-02
3.50E-02
9 10 11 12
Pro
ba
bilit
ate
de
term
ina
nt
nu
l
Rata
Terminal1
Terminal2
Performanţe NC
Timpul de execuţie în funcţie de rată
Numărul de operaţii în medie este aceeaşi pentru orice rată;
Creşterea ratei duce la scăderea timpului de execuţie / simbol transmis;
Creşterea ratei codate peste valoarea maximă posibilă duce la
creşterea timpului de execuţie datorită inversărilor de matrici
nereuşite;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 14
03:36.0
03:44.6
03:53.3
04:01.9
04:10.6
04:19.2
04:27.8
04:36.5
04:45.1
9 10 11 12
Rata
Tim
pu
l d
e e
xecu
tie
Timpul de executie
Performanţe NC
Efectul dimensiunii câmpului Galois asupra probabilităţii de
decodare corectă;
asigurarea unei
probabilităţi de decodare
reduse necesită o anumită
dimensiune a câmpului
Galois;
Un câmp Galois redus
creşte probabilitatea de
determinant nul;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 15
0.00E+00
5.00E-02
1.00E-01
1.50E-01
2.00E-01
2.50E-01
3.00E-01
3 4 5 6
Pro
ba
bili
tate
de
term
ina
nt
nu
l
Dimensiunea câmpului
Terminal1
Terminal2
0.00E+00
5.00E-02
1.00E-01
1.50E-01
2.00E-01
2.50E-01
3 4 5 6
Pro
ba
bilit
ate
sim
bo
l e
ron
at
Dimensiune câmp GF
Terminal1
Terminal2
Performanţe NC
Variaţia timpului de execuţia cu dimensiunea câmpului Galois
Numărul de operaţii executate depinde în mare măsură de
operaţiile executate în câmp Galois;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 16
00:00.0
01:26.4
02:52.8
04:19.2
05:45.6
07:12.0
08:38.4
3 4 5 6
Dimensiune camp GF
Du
rata
de e
xecu
tie
Timp de executie
Performanţe NC
Reţeua de test de bază – varianta 3
Efectul complexităţii reţelei asupra debitului codat maxim;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 17
a b c
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
3 4 5
De
bit
ma
xim
Numar noduri intermediare
Terminal1
Terminal2
0
1
2
3
4
5
3 4 5
Ra
ta d
e t
ra
ns
fee
r
Numar noduri intermediare
Rata
Performanţe NC
Reţeua de test de bază – varianta 4
Se modifică reţeaua pentru a obţine diferite configuraţii; se
urmăreşte studiul efectului eliminării, respectiv adăugării unei
legături;
Capacităţile legăturilor sunt 1;
Modificările efectuate:
1. se elimină legătura dintre nodurile 2 şi 9;
2. se dublează capacitatea legăturii dintre 4 şi 6;
3. se dublează şi capacitatea legăturii dintre 5 şi 7;
4. capacitatea legăturii 4-6 se readuce la 1, iar capacitatea legăturii
5-7 rămâne dublată;
5. se reintroduce legătura 2-9, şi legăturile 4-6, respectiv 5-7 se
dublează;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 18
0
321
4 5
6 7
1098
Performanţe NC
Se studiază variaţia debitului maxim obţinut la fiecare terminal
fără codare:
Folosind tehnicile de codare se obţine un debit maxim egal cu 2
în fiecare dintre cazurile de mai sus;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 19
0
0.5
1
1.5
2
2.5
0 1 2 3 4 5
Configuratie
Maxfl
ow
Terminal1
Terminal2
Terminal3
Performanţe NC Optimizarea reţelei de codare – reţea de test varianta 5
Reducerea complexităţii operaţiilor de codare necesită reducerea
numărului de noduri care realizează codare şi a legăturilor care
transportă datele codate;
a) – reţea de test cu o sursă şi două destinaţii; operaţie de multicast 3 simb/s;
b) – reţea de test optimizată cu număr de operaţii de codare şi link-uri reduse;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 20
1
2
6
5
4
3
7
4 1
1
12
2
2
2 2
1
2
6
5
4
3
7
unused link
symbol a
symbol b
symbol c
a XOR c
XOR = GF field
operation
a) b)
Performanţe NC
Optimizarea reţelei de codare – un alt exemplu
Reţea de test varianta 6;
Reţeaua originală Reţeaua optimizată
Există posibilitatea eliminării unui link şi a unei operaţii de codare; An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 21
Selecţia coeficienţilor de codare RNC
Coeficienţii a, b, c, a', b', c', a”, b”, c” sunt selectaţi aleator şi
uniform din elementele câmpului GF(q);
Nodul v multiplică fiecare simbol recepţionat cu un coeficient
aleator (k, k', k”) şi adună valorile obţinute;
Distribuţia coeficienţilor de codare globali rămâne aceeaşi,
adică uniformă, datorită transformării liniare;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 22
Selecţia coeficienţilor de codare RNC
Exemplu: Coeficienţi de codare sunt selectaţi aleator din
GF(29) şi se efectuează asupra lor o serie de transformări
liniare;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 23
Selecţia coeficienţilor de codare RNC
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 24
, ,i jM m matrice n n definita GF q
1
1 ,n i
ip q daca n
Fie
Se consideră că fiecare element al matricii este independentă şi
distribuită în mod identic;
Elementele matricii sunt distribuite uniform în câmpul GF(q);
Matricea reprezintă matricea de transfer dintre sursă şi o destinaţie
– matricea asociată ecuaţiei care trebuie rezolvată în nodul
destinaţie;
Probabilitatea ca matricea să aibă determinant nenul este:
O altă formulă ce exprimă aceeaşi probabilitate (dar într-un
context mai extins legat şi de topologia reţelei) este:
d – număr de noduri destinaţie; d>q; n’ - numărul maxim de linkuri
din toate seturile care asigură soluţii pentru toate destinaţiile;
'
1n
p d q
Selecţia coeficienţilor de codare RNC
Reţea de test varianta 5
probabilitatea ca matricea de transfer a reţelei să fie inversabilă;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 25
Selecţia coeficienţilor de codare RNC
Reţea de test varianta 1.b
probabilitatea ca matricea de trasfer a reţelei să fie inversabilă;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 26
Efectul erorilor asupra operaţiilor NC
Se consideră un exemplu simplu: o sursă şi
o destinaţie;
Relaţiile de bază care descriu operaţiile NC:
- reprezintă nodul sursă;
() – reprezintă numărul de procese generatoare
de date în nodul sursă, ;
Unde M este matricea de transfer a reţelei
dintre sursă şi destinaţie şi are expresia:
x,y – este
coef. de
codare între
in x şi out y;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 27
,1 , , 2 , , ,
',1 , ', 2 , , ', '
z x M
x X X X
z Z Z Z
1 5 1 4 4 6 1 4 4 7
2 5 2 4 4 6 2 4 4 7
3 6 3 7
, , , , ,
, , , , ,
, ,0
e e e e e e e e e e
T
e e e e e e e e e e
e e e e
M A B
Efectul erorilor asupra operaţiilor NC
Matricile A şi B sunt exprimate de:
unde y,x – reprezintă coeficientul de codare dintre secvenţa de
date x şi linkul y; y,x – reprezintă coeficientul de codare dintre
linkul y şi secvenţa destinaţie x;
Dacă sunt erori pe anumite linkuri unele din simboluri sau
toate simbolurile decodate vor fi eronate;
O detecţie de erori bazată pe CRC sau chiar o corecţie de
erori se poate aplica pe fiecare legătură;
Dacă sunt detectate erori pe anumite legături, acele legături
nu trebuie incluse în determinarea matricii de transfer M;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 28
1 2 3 5 5 5
1 2 3 6 6 6
1 2 3 7 7 7
,1 ,1 ,1 ,1 ,2 ,3
,2 ,2 ,2 ,1 ,2 ,3
,3 ,3 ,3 ,1 ,2 ,3
;
e e e e e e
e e e e e e
e e e e e e
A B
Efectul erorilor asupra operaţiilor NC
Există eroare pe linkul e1:
Există eroare pe linkul e2:
Decodarea nu se poate realiza în aceste situaţii
Există eroare pe linkul e6:
Există eroare pe linkul e7:
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 29
2 5 2 4 4 6 2 4 4 7
3 6 3 7
, , , , ,
, ,
0 0 0
0
T
e e e e e e e e e e
e e e e
M A B
1 5 1 4 4 6 1 4 4 7
3 6 3 7
, , , , ,
, ,
0 0 0
0
e e e e e e e e e e
T
e e e e
M A B
1 5 1 4 4 6 1 4 4 7
2 5 2 4 4 6 2 4 4 7
3 7
, , , , ,
, , , , ,
,0 0
e e e e e e e e e e
T
e e e e e e e e e e
e e
M A B
1 5 1 4 4 6 1 4 4 7
2 5 2 4 4 6 2 4 4 7
3 6
, , , , ,
, , , , ,
,0 0
e e e e e e e e e e
T
e e e e e e e e e e
e e
M A B
Efectul erorilor asupra operaţiilor NC
În ultimele două cazuri decodarea poate fi posibilă în funcţie de
structura matricilor M, A şi B;
Decodarea corectă a simbolurilor necesită un anumit grad de
redundanţă:
Redundanţă în domeniul timp:
Este vorba de o corecţie tipică de ştergeri; secvenţa de simboluri
aplicată codorului NC se codează cu un cod corector de ştergeri
care reface simbolurile lipsă;
Corecţia de ştergeri se poate realiza şi separat pe legăturile reţelei de codare NC;
Are loc o scădere a throughput-ului;
Redundanţă de linkuri (sau redundanţă de topologie):
Se utilizează un număr mai mare de legături decât este necesar;
Legăturile cu erori se exclud, dar decodarea va rămâne posibilă;
Reţeaua de codare rămâne destul de complexă (după eliminarea legăturilor cu
erori) pentru a asigura o matrice de transfer cu determinant nenul;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 30
Efectul erorilor asupra operaţiilor NC
Exemplu de redundanţă de linkuri:
În topologia din figură se consideră numai două secvenţe de
date X(v,1) and X(v,2);
Reţeaua conţine în acest caz mai multe linkuri decât sunt necesare pentru
asigurarea decodării corecte a simbolurilor de date codate NC;
Structura matricii M rămâne aceeaşi, dar se schimbă structura matricilor A
şi B:
Dacă sunt erori pe linkul e2 structura matricii M devine:
Simbolurile sursă pot fi decodate datorită linkului redundant e1;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 31
5 5
1 2 3
6 6
1 2 3
7 7
,1 ,2
,1 ,1 ,1
,1 ,2
,2 ,2 ,2
,1 ,2
;
e e
e e e
e e
e e e
e e
A B
1 5 1 4 4 6 1 4 4 7
3 6 3 7
, , , , ,
, ,0
e e e e e e e e e e T
e e e e
M A B
Efectul erorilor asupra operaţiilor NC
Caz particular: 1 nod sursă, n noduri
intermediare, 2 noduri destinaţie –
vezi fig. alăturată
Max-flow fără codare este de n
simboluri de date / unitate de timp;
Dacă o legătură se întrerupe un link,
max-flow devine n-1; nu se poate
atinge fără codare NC, doar prin
rutare;
În mod similar dacă se întrerup k
linkuri, prin codare NC se poate
asigura o rată de n-k simb./unit. timp;
An universitar 2014 – 2015
Semestrul II Tehnici Avansate de Control al Fluxului de Date 32