Model Colocviu

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%.

Setup colocviu

Dacă vreți să creați folder nou pe calculatoarele voastre:

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

Dacă folosiți mașina virtuală:

student@isrm-vm:~$  cd ~/ns-3-dev

Verificați că sunteți pe branch-ul isrm_2020 din remote-ul https://gitlab.com/b12mihai1/ns-3-dev.git:

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
* 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

Rulați următoarele comenzi pentru update-ul submodului din examples/ns3-labs:

student@isrm-vm:~/ns-3-dev$ git submodule update --remote --merge

Dacă cea de mai sus nu merge alternativ puteți încerca:

student@isrm-vm:~/ns-3-dev$ git submodule foreach git pull origin master

Enunt

Într-un setup de tip infrastructură 802.11g cu MCS egal cu 12Mbps, fiecare 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.

Rulare script

Vom folosi scriptul model-colocviu.cc care poate fi rulat astfel:

./waf --run "model-colocviu --numberOfNodes=2 --simulationTime=20"

Argumentele suportate de script sunt urmatoarele:

    cmd.AddValue ("numberOfNodes", "Number of nodes", numberOfNodes);
    cmd.AddValue ("runTcp", "Run either TCP or UDP", runTcp);
    cmd.AddValue ("enableRtsCts", "RTS/CTS enabled", enableRtsCts);
    cmd.AddValue ("payloadSize", "Payload size in bytes", payloadSize);
    cmd.AddValue ("offeredRate", "Offered TX data rate (format XMbps) for application", offeredRate);
    cmd.AddValue ("phyRate", "Physical layer bitrate", phyRate);
    cmd.AddValue ("simulationTime", "Simulation time in seconds", simulationTime);
    cmd.AddValue ("tracing", "Enable/disable PCAP Tracing", pcapTracing);

Task-uri

[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 (atentie, nu cumulativ) odată cu creșterea numărului de clienți în rețea?

[01] Setup si rulare script (20p)

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)

Construiti un grafic in care pe axa Ox avem numărul de clienți, iar pe axa Oy avem 2 curbe y1 pentru uplink total throughput si curba y2: downlink total throughput

[03] Explicare/interpretare rezultate (40p)

Interpretati curbele y1 și y2 obținute. Punctele care trebuie atinse:

  • throughput minim obținut
  • throughput maxim obținut - și dacă nu e egal cu MCS-ul, de ce?
  • monotonia funcțiilor (crescătoare/descrescătoare/constante)
  • comparație între curbe

[04] Bonus - Ipoteza, setup, grafic si interpretare pentru TCP (20p)

Pentru acest bonus, trebuie sa rezolvati din nou task-urile 0-3 folosind fluxuri TCP in loc de UDP.

isrm/laboratoare/model-colocviu.txt · Last modified: 2020/05/11 22:53 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