Differences

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

Link to this comparison view

isrm:laboratoare:model-colocviu [2020/05/10 22:49]
vlad.traista [Rezolvare]
isrm:laboratoare:model-colocviu [2024/06/28 10:14] (current)
mbarbulescu [Rulare script]
Line 1: Line 1:
 ====== Model Colocviu ====== ====== Model Colocviu ======
  
-<note important>​Răspunsurile se dau în scris, nu mai mult de un paragraf pentru task-urile **0**, **1** si **3**. Graficele pentru task-ul **2** se fac în matplotlib/​gnuplot (sau altceva) și se reproduc cu aproximație pe hârtie. Nu demarați task-ul **4** decât dacă sunteti sigur că ați obținut deja 100%.</​note>​+===== Înainte ​de laborator =====
  
-===== Setup colocviu =====+TODO: Noul formular feedback
  
-Dacă vrețsă creați folder nou pe calculatoarele voastre:+Formularul este anonim șeste activ în perioada **TODO**. Rezultatele vor fi vizibile în cadrul echipei cursului doar după încheierea sesiunii. Este accesibil la link-ul "​Formular feedback"​ a paginii principale a cursului de 03-ACS-M-A1-S2Infrastructură şi servicii pentru reţele mobile.
  
-<code bash> +Vă invităm să evaluați activitatea echipei de ISRM și să precizați punctele tari și punctele slabe și sugestiile voastre de îmbunătățire a disciplineiFeedback-ul vostru ne ajută să creștem calitatea materiei în anii următori și să îmbunătățim disciplinele pe care le veți face în continuare.
-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ă]]:+Ne interesează în special:
  
-<code bash> +  * Ce nu v-a plăcut și ce credeți că nu a mers bine? 
-student@isrm-vm:~$  cd ~/ns-3-dev +  * De ce nu v-a plăcut și de ce credeți că nu a mers bine? 
-</​code>​+  * Ce ar trebuie să facem ca lucrurile să fie plăcute și să meargă bine?
  
-Verificați că sunteți pe branch-ul ''​isrm_2020''​ din remote-ul https://​gitlab.com/​b12mihai1/​ns-3-dev.git:​ 
  
-<code bash> +===== Precizări desfășurare =====
-student@isrm-vm:​~/​ns-3-dev$ git remote -v +
-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-dev$ git branch -vv +<note important>​Răspunsurile se dau în scris, nu mai mult de un paragraf pentru task-urile **0**, **1** si **3**. Graficele pentru task-ul **2** se fac în matplotlib/gnuplot (sau altceva) și se reproduc cu aproximație pe hârtie. Nu demarați task-ul **4** decât dacă ați abordat primele 3 sarcini.</note>
-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>+
  
-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>​ 
  
 ===== Enunt ===== ===== Enunt =====
Line 52: Line 26:
 client rulează două fluxuri **''​UDP (CBR)''​** cu AP-ul - unul uplink, apoi imediat/​concomitent altul downlink. În ambele fluxuri de trafic rata de transmisie (''​sendingRate''​) reglată de AP dar și de clienți este cât mai apropiată de capacitatea maximă a canalului (ei își doresc să trimită la 12 Mbps). ​ client rulează două fluxuri **''​UDP (CBR)''​** cu AP-ul - unul uplink, apoi imediat/​concomitent altul downlink. În ambele fluxuri de trafic rata de transmisie (''​sendingRate''​) reglată de AP dar și de clienți este cât mai apropiată de capacitatea maximă a canalului (ei își doresc să trimită la 12 Mbps). ​
  
-Ne propunem să se investigam relația dintre debitele cumulative uplink și downlink ale fiecărui client în funcție de populația de clienți. Debitele cumulative sunt deja calculate in script si afisate la consola.+Ne propunem să investigam relația dintre debitele cumulative uplink și downlink ale fiecărui client în funcție de populația de clienți. Debitele cumulative sunt deja calculate in script si afisate la consola.
  
 {{:​isrm:​laboratoare:​colocviu_1_updn.png?​nolink&​300|}} {{:​isrm:​laboratoare:​colocviu_1_updn.png?​nolink&​300|}}
  
-===== Rulare ​script =====+===== Pregătire și rulare ​script ===== 
 + 
 +<note important>​ 
 +Vom folosi mașina docker generată la [[isrm:​laboratoare:​v2:​01|laboratorul 1]]: 
 + 
 +<code bash> 
 +cd ~/​isrm/​isrm-vm-docker-img 
 +./​build-img.sh isrm2024 ~/​isrm/​ns-3-dev 
 +./​enter-img.sh isrm2024 
 +</​code>​ 
 +</​note>​
  
 Vom folosi scriptul ''​model-colocviu.cc''​ care poate fi rulat astfel: Vom folosi scriptul ''​model-colocviu.cc''​ care poate fi rulat astfel:
  
 <code bash> <code bash>
-./waf --run "​model-colocviu --numberOfNodes=2 --simulationTime=20"​+./ns3 run "​model-colocviu --numberOfNodes=2 --simulationTime=20"​
 </​code>​ </​code>​
  
Line 80: Line 64:
 ===== [00] Ipoteza (10p) ===== ===== [00] Ipoteza (10p) =====
  
-Ipoteza/​intrebarea de la care vom porni analiza (estimare): throughput-ul uplink și throughput-ul downlink rămân echilibrate pentru fiecare client odată cu creșterea numărului de clienți în rețea?+Ipoteza/​intrebarea de la care vom porni analiza (estimare): throughput-ul uplink și throughput-ul downlink rămân echilibrate ​**pentru fiecare client** (atentie, nu cumulativ) ​odată cu creșterea numărului de clienți în rețea?
  
 ===== [01] Setup si rulare script (20p) ===== ===== [01] Setup si rulare script (20p) =====
  
-Descrieti setup-ul de simulare și a procedurii de colectare a datelor: de la ce script pornim, ce modifcări efectuăm asupra lui (daca este cazul), cu ce argumente rulati scriptul (daca e mic, scrieti scriptul de bash pe hartie), ce output avem nevoie si cum il organizam pentru a construi graficele etc.+In cadrul exercitiului 2, vom avea de construit un grafic in care pe axa ''​Ox''​ vom avea numărul de clienți, iar pe axa ''​Oy''​ avem 2 curbe ''​y1''​ pentru uplink total throughput si curba ''​y2'':​ downlink total throughput. 
 + 
 +Descrieti setup-ul de simulare și a procedurii de colectare a datelor: de la ce script pornim, ce modificări efectuăm asupra lui (daca este cazul), cu ce argumente rulati scriptul (scrieti scriptul de bash si pe foaia de test), ce output avem nevoie si cum il organizam pentru a construi graficele etc.
  
 ===== [02] Construire grafic (30p) ===== ===== [02] Construire grafic (30p) =====
Line 97: Line 83:
   * monotonia funcțiilor (crescătoare/​descrescătoare/​constante)   * monotonia funcțiilor (crescătoare/​descrescătoare/​constante)
   * comparație între curbe   * comparație între curbe
 +  * justificare
  
 ===== [04] Bonus - Ipoteza, setup, grafic si interpretare pentru TCP (20p) ===== ===== [04] Bonus - Ipoteza, setup, grafic si interpretare pentru TCP (20p) =====
Line 106: Line 93:
 Rezolvarea (și graficul) se găsesc pe [[https://​github.com/​isrm-lab/​ns3-lab-solutions/​tree/​master/​model-colocviu|github]] Rezolvarea (și graficul) se găsesc pe [[https://​github.com/​isrm-lab/​ns3-lab-solutions/​tree/​master/​model-colocviu|github]]
 </​solution>​ </​solution>​
 +
 +==== Colocviu 2023 ==== 
 +Folosind modelul de colocviu, explorăm inechitatea up/down trafic în funcție de numărul de vorbitori (--numberOfNodes=5) și traficul oferit. ​ Valoarea default pentru offeredRate este 12Mbps, dar poate fi modificată (--offeredRate=5.1Mbps). Se va explora zona n=2..10 ​ --payloadSize=1400 ​  ​--simulationTime=5
 +
 +a) 10p să se determine capacitatea mediului în Mbps, pps(pachete pe secundă) ​
 +a) 30p să se ploteze capacitatea totală a mediului în funcție de numărul de clienți ​
 +b) 30p să se ploteze raportul up/down throughput a mediului în funcție de numărul de clienți ​ numberOfNodes. ​ Hint: ce fracție din traficul oferit ajunge la destinație?​
 +c) 40p modificând ​ rata oferită la UDP, să se obțină o curbă mai bună pentru pct b) D/​U(numberOfNodes) ​
 +
 +Pentru fiecare subpunct, submiteți: ​
 +1. plotul obținut + shell script ​
 +2. interpretarea: ​ de ce arată graficul așa, explicația (aici sunt punctele) ​  
 </​hidden>​ </​hidden>​
  
  
  
isrm/laboratoare/model-colocviu.1589140149.txt.gz · Last modified: 2020/05/10 22:49 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