Differences

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

Link to this comparison view

ep:teme:01 [2022/11/16 21:18]
vlad.stefanescu [I. (10p) Prerequisites]
ep:teme:01 [2023/11/17 17:04] (current)
alexandru.mircea98
Line 1: Line 1:
 ====== Assignment ====== ====== Assignment ======
 +
  
 ===== 1. Context ===== ===== 1. Context =====
Line 37: Line 38:
 ===== 4. Environment ===== ===== 4. Environment =====
  
-To make it easier for everyone and fail-proof, we'll be using the official Mininet latest release VM, which you can get from [[https://​github.com/​mininet/​mininet/​releases/​download/​2.3.0/​mininet-2.3.0-210211-ubuntu-20.04.1-legacy-server-amd64-ovf.zip|here]]. ​+To set up your environemt you have a few options: 
 +  * You can use the official Mininet latest release VM, which you can get from [[https://​github.com/​mininet/​mininet/​releases/​download/​2.3.0/​mininet-2.3.0-210211-ubuntu-20.04.1-legacy-server-amd64-ovf.zip|here]]. ​ 
 + * Make a local setup using the steps from [[http://​mininet.org/​download/#​option-2-native-installation-from-source|**Option 2: Native Installation from Source**]] 
 + 
 +<note Fun fact> 
 +The vm doesn'​t have an UI and some students from last year complained about it, so we recommend the local setup on your host or a vm with a UI to make testing and changing things more easier. 
 +For the ones using the machine you might not have shared clipboard (you cant cpy and paste), get the vm ip and connect with ssh to it. You can also fo this straight from a text editor like vscode and edit text straight on that machine. 
 +</​note>​
  
 <note Useful links> <note Useful links>
Line 67: Line 75:
 ==== I. (10p) Prerequisites ==== ==== I. (10p) Prerequisites ====
  
-=== A. (3p) Mininet machine ​===+=== A. (3p) Environment setup ===
  
-Download and import ​the mininet ​machine. Its credentials are:+If you download ​the machine ​import it. Its credentials are:
  
 Username: mininet Username: mininet
  
 Password: mininet Password: mininet
 +
 +If you chose a local setup make sure everything works as expected.
  
 === B. (7p) Run the topology === === B. (7p) Run the topology ===
Line 81: Line 91:
 <​note>​ <​note>​
 <code bash> <code bash>
-$ sudo python3 topology.py -h+$ sudo python3 topology.pyc -h
 usage: topology.py [-h] [-t] user usage: topology.py [-h] [-t] user
  
Line 96: Line 106:
  
 <​note>​ <​note>​
 +Example - run directly with the CLI:
 <code bash> <code bash>
-Exemplu de rulare direct cu cli:+
 <code bash> <code bash>
-$ sudo python3 topology.py sandu.popescu+$ sudo python3 topology.pyc sandu.popescu
  
 [...] [...]
Line 106: Line 117:
 containernet>​ containernet>​
 </​code>​ </​code>​
-Exemplu de rulare cu apel pe functia ​test din test.py ​si apoi cli:+Example - calling the test function from test.py ​and then run with the CLI:
 <code bash> <code bash>
-$ sudo python3 topology.py sandu.popescu -t+$ sudo python3 topology.pyc sandu.popescu -t
  
 [...] [...]
Line 133: Line 144:
  
  
-Inside the test script there is an example of usage of the api to run commands on the hosts machines in an automated manner.+Inside the test scriptthere is an example of the usage of the API to run commands on the host machines in an automated manner.
  
-Alternatively you can run commands from any node, specifying the node and then the command. +Alternativelyyou can run commands from any node, specifying the node and then the command. 
-For example if you want to ping r1 router from c1 host you can run the following:+For exampleif you want to ping r1 router from c1 host you can run the following:
  
 <code bash> <code bash>
Line 163: Line 174:
 === (30p) A. Solution === === (30p) A. Solution ===
  
-Find methods to optimize traffic. You have to come with 3-5 methods to optimize it and test them on the **//command unit/​client//​**(you can write them as part of the client). Your solution should try various ways of calling the exposed endpoints of the topology depending on the number of requests your system must serve. For instance, if you only have 10 requests, you might get away by just calling a certain endpoint, but if this number increases, then you might want to try something more complex.+Find methods to optimize traffic. You have to come up with 3-5 methods to optimize it and test them on the **//command unit/​client//​** (you can write them as part of the client). Your solution should try various ways of calling the exposed endpoints of the topology depending on the number of requests your system must serve. For instance, if you only have 10 requests, you might get away by just calling a certain endpoint, but if this number increases, then you might want to try something more complex.
  
 The number of requests your system should serve is not imposed, but you should definitely try a sufficiently large range of request batches in order to properly evaluate your policies. Choosing a relevant number is part of the task. :-) The number of requests your system should serve is not imposed, but you should definitely try a sufficiently large range of request batches in order to properly evaluate your policies. Choosing a relevant number is part of the task. :-)
Line 193: Line 204:
 === (10p) Bonus === === (10p) Bonus ===
  
-**Deploy** your solution in a **Docker image** and make sure it can be run with **runtime ​argument** representing the number of requests your system should serve. The container you created should be able to communicate with the **Forwarding Unit**.+**Deploy** your solution in a **Docker image** and make sure it can be run with **runtime ​arguments** representing the chosen method and number of requests your system should serve for the full topology(all servers up). The container you created should be able to communicate with the topology
  
 ===== 7. Assignment Upload ===== ===== 7. Assignment Upload =====
Line 206: Line 217:
 </​note>​ </​note>​
  
-The assignment has to be uploaded **[[https://​curs.upb.ro/​2021/​mod/​assign/​view.php?​id=85256|here]]** by **23:55 on December ​12th 2022**. +The assignment has to be uploaded **[[https://​curs.upb.ro/​2023/​mod/​assign/​view.php?​id=72494|here]]** by **23:55 on December ​15th 2023**. 
 This is a **HARD deadline**. This is a **HARD deadline**.
  
 <note important>​ <note important>​
-Questions regarding the assignment should be addressed **[[https://​curs.upb.ro/​2022/mod/forum/discuss.php?d=1627|here]]**.+Questions regarding the assignment should be addressed **[[https://​curs.upb.ro/​2023/mod/forum/view.php?id=72496|here]]**.
 </​note>​ </​note>​
  
Line 221: Line 232:
 **If the submission does not include the Report / a Readme file, the assignment will be graded with ZERO!** **If the submission does not include the Report / a Readme file, the assignment will be graded with ZERO!**
 </​note>​ </​note>​
- 
- 
ep/teme/01.1668626297.txt.gz · Last modified: 2022/11/16 21:18 by vlad.stefanescu
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