Differences

This shows you the differences between two versions of the page.

Link to this comparison view

isrm:laboratoare:new:10 [2020/04/21 21:33]
vlad.traista [[03a] Throughput, pps si cps]
isrm:laboratoare:new:10 [2023/05/09 12:54] (current)
dragos.niculescu [[03c] Obțtinerea unui throughput mai mare]
Line 5: Line 5:
 ==== [00a] Pregătirea laboratorului ==== ==== [00a] Pregătirea laboratorului ====
  
-Dacă vreți să creați folder nou pe calculatoarele voastre:+<note important>​ 
 +Pe [[:​isrm:​mv|mașina virtuală]] aveți tot ce trebuie în ''/​home/​student/​ns-3-dev''​. ​
  
-<code bash> +Dacă lucrați pe alt dispozitiv trebuie să rulați comenzile:
-git clone https://​gitlab.com/​b12mihai1/​ns-3-dev.git ~/​ns-3-dev +
-cd ~/​ns-3-dev +
-git checkout -b isrm_2020 remotes/​origin/​isrm_2020 +
-git submodule init +
-git submodule update --remote --merge +
-git submodule foreach git pull origin master +
-./waf configure --build-profile=debug --enable-examples --enable-tests && ./waf build -j4 +
-</​code>​ +
- +
-Dacă folosiți [[:​isrm:​mv|mașina virtuală]]:+
  
 <code bash> <code bash>
-student@isrm-vm:​~$ ​ cd ~/ns-3-dev+student@isrm-vm-2020:~$ git clone https://​gitlab.com/​nsnam/​ns-3-dev.git 
 +student@isrm-vm-2020:~$ cd ~/ns-3-dev 
 +student@isrm-vm-2020:​~/​ns-3-dev$ git checkout -b ns-332-rel ns-3.32 
 +student@isrm-vm-2020:​~$ cd ~/​ns-3-dev/​examples 
 +student@isrm-vm-2020:​~/​ns-3-dev/​examples$ git clone https://​github.com/​isrm-lab/​ns3-labs.git 
 +student@isrm-vm-2020:​~$ cd ~/​ns-3-dev 
 +student@isrm-vm-2020:​~$ ./waf configure --build-profile=debug --enable-examples --enable-tests 
 +student@isrm-vm-2020:​~$ ./waf build -j4
 </​code>​ </​code>​
 +</​note>​
  
-Verificați că sunteți pe branch-ul ''​isrm_2020''​ din remote-ul https://​gitlab.com/​b12mihai1/​ns-3-dev.git:+Pentru a lansa aplicatia de Jupyter Notebook, rulati urmatoarea comanda:
  
 <code bash> <code bash>
-student@isrm-vm:~/ns-3-dev$ git remote -v +student@isrm-vm-2020:~$ jupyter-notebook
-origin https://​gitlab.com/​b12mihai1/​ns-3-dev.git (fetch) +
-origin https://​gitlab.com/​b12mihai1/​ns-3-dev.git (push) +
- +
-student@isrm-vm:~/ns-3-devgit branch ​-vv +
-* isrm_2020 5993ca379 [origin/​isrm_2020] fix submodules to have https instead of ssh +
-  master ​   da1b41ed1 [origin/​master] tcp: Ensure that congestion state is set after every notification+
 </​code>​ </​code>​
- 
-Rulați următoarele comenzi pentru update-ul submodului din ''​examples/​ns3-labs'':​ 
- 
-<code bash> 
-student@isrm-vm:​~/​ns-3-dev$ git submodule update --remote --merge 
-</​code>​ 
- 
-Dacă cea de mai sus nu merge alternativ puteți încerca: 
- 
-<code bash> 
-student@isrm-vm:​~/​ns-3-dev$ git submodule foreach git pull origin master 
-</​code>​ 
- 
 ==== [00b] Rulare script ==== ==== [00b] Rulare script ====
  
Line 197: Line 177:
 Vom obtine 736 coliziuni pe parcursul a 100 de secunde ceea ce inseamna o rata de coliziuni de aproximativ 7 cps. Vom obtine 736 coliziuni pe parcursul a 100 de secunde ceea ce inseamna o rata de coliziuni de aproximativ 7 cps.
  
-Deoarece toate dispozitive sunt în CS, nu avem terminale ascunse, iar coliziunile sunt cauzate de fereastra de contenție. Avem 2 transmițători:​ AP și stația 1, ce emit cadre de lungimi diferite. O coliziune durează până la sfârșitul cadrului cel mai lung (802.11 nu are CSMA/CD). Astfel, durata ​unei coliziuni ​este: 2.19 ms * 7 = 15.33 ms ceea ce inseamna ca dintr-o secunda (1000 ms), 1.53% din timp este irosit de coliziuni.+Deoarece toate dispozitive sunt în CS, nu avem terminale ascunse, iar coliziunile sunt cauzate de fereastra de contenție. Avem 2 transmițători:​ AP și stația 1, ce emit cadre de lungimi diferite. O coliziune durează până la sfârșitul cadrului cel mai lung (802.11 nu are CSMA/CD). Astfel, durata ​coliziunilor dintr-o secunda ​este: 2.19 ms * 7 = 15.33 ms ceea ce inseamna ca dintr-o secunda (1000 ms), 1.53% din timp este irosit de coliziuni.
  
 ==== [02c] Justificarea ratei de coliziuni ==== ==== [02c] Justificarea ratei de coliziuni ====
Line 206: Line 186:
  
 Exprimarea matematica a ideii de mai sus este urmatoarea: Exprimarea matematica a ideii de mai sus este urmatoarea:
-$$ \frac{x}{R_1} + \frac{x}{R_2} + \frac{C}{R_1} = 1 $$ $$ x = (1-\frac{C}{R_1})\frac{R_1R_2}{R_1+R_2} = \frac{{R_2}({R_1} - {C})}{R_1+R_2} = 291 pps$$.+$$ \frac{x}{R_1} + \frac{x}{R_2} + \frac{C}{R_1} = 1 $$ $$ x = \left(1-\frac{C}{R_1}\right)\frac{R_1R_2}{R_1+R_2} = \frac{{R_2}({R_1} - {C})}{R_1+R_2} = 291 pps$$.
  
 Convertim pps in Mbps si o sa obtinem urmatoarea valoare: 291 * 1460 * 8 = 3.398 Mbps, consistent cu ce am obținut în simulare (3.375 Mbps). Convertim pps in Mbps si o sa obtinem urmatoarea valoare: 291 * 1460 * 8 = 3.398 Mbps, consistent cu ce am obținut în simulare (3.375 Mbps).
Line 258: Line 238:
 </​code>​ </​code>​
  
-Asadar, obtinem 887 coliziuni pe parcursul a 100 de secunde => 8.8 cps => 8.8 * 2.19 = 19.71 ms -> 1.9% din timp+Asadar, obtinem 887 coliziuni pe parcursul a 100 de secunde => cps.
  
 ==== [03b] Justificarea ratei de coliziuni ==== ==== [03b] Justificarea ratei de coliziuni ====
Line 268: Line 248:
 Ce este diferit față de cazul precedent este că toți cei trei emițători sunt saturați, AP-ul însă nu dirijează decât \( \frac{x}{2} \) pentru ​  ​fiecare flux, iar restul este pierdut. ​ Ce este diferit față de cazul precedent este că toți cei trei emițători sunt saturați, AP-ul însă nu dirijează decât \( \frac{x}{2} \) pentru ​  ​fiecare flux, iar restul este pierdut. ​
  
-$$ x = (1 - \frac{C}{R_1})\frac{R_1 R_2}{R_1+2 R_2} =  \frac{{R_2}({R_1} - {C})}{R_1+2R_2} = 175 pps$$ +$$ x = \left(1 - \frac{C}{R_1}\right)\frac{R_1 R_2}{R_1+2 R_2} =  \frac{{R_2}({R_1} - {C})}{R_1+2R_2} = 175 pps$$ 
  
 Dar debitul obținut pentru fiecare flux este doar \(x/2\) = 87pps, adică 1.01 Mbps. Dar debitul obținut pentru fiecare flux este doar \(x/2\) = 87pps, adică 1.01 Mbps.
-    * Stația 1 ocupă ​32*12.98ms 42% din timp  +    * Stația 1 ocupă ​175 2.19 ms 383.25 ms -> 38.3% din timp 
-    * Stația 2 ocupă ​32*12.98ms 42% din timp  +    * Stația 2 ocupă ​175 2.19 ms 383.25 ms -> 38.3% din timp 
-    * AP ocupă ​32*1.95ms = 6% din timp  +    * AP ocupă ​175 * 1.18 ms 206.5 ms -> 20.6% din timp  
-    * Coliziuni ​8.2*12.98ms = 10% din timp +    * Coliziuni ​2.8% din timp (am obtinut anterior 1.9%, o valoare relativ apropiata de 2.8%) 
-    * Adică 42% din timp este irosit pentru a transmite prin aer cadre care vor fi aruncate la AP!+    * In concluzie, 38.3% din timp este irosit pentru a transmite prin aer cadre care vor fi aruncate la AP! 
  
 +==== [03c] Obținerea unui throughput mai mare ====
  
 +     * Cum obținem mai mult de 1.04Mbps + 1.04Mbps în experimentul de la 3b?
isrm/laboratoare/new/10.1587494037.txt.gz · Last modified: 2020/04/21 21:33 by vlad.traista
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0