Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rumba CNERT presentation

58 views

Published on

Rumba presentation at CNERT workshop,

Published in: Internet
  • Be the first to comment

  • Be the first to like this

Rumba CNERT presentation

  1. 1. Rumba A Python Framework for Automating Large-Scale Recursive Internet Experiments on GENI and FIRE+
  2. 2. IPC FACILITY X Y
  3. 3. IPC FACILITY X Y <port_id> alloc (pid, …); dealloc (port_id);
  4. 4. X Y
  5. 5. X Y
  6. 6. DISTRIBUTED IPC FACILITY X Y … reg(pid, name); unreg(pid); alloc (name, …); dealloc (port_id);
  7. 7. X Y
  8. 8. X Y
  9. 9. X Y
  10. 10. X Y
  11. 11. X Y
  12. 12. X Y
  13. 13. X Y
  14. 14. X Y
  15. 15. X Y
  16. 16. Rumba core jFed plugin Emulab plugin QEMU VMs plugin IRATI plugin rlite plugin Ouroboros plugin User program Docker plugin Local plugin Storyboard
  17. 17. Node A Node B DIF e1 DIF n1 rinaperf client rinaperf server
  18. 18. DIF e1 e1 = ShimEthDIF("e1") e1.set_delay(delay=50, jitter=10)
  19. 19. DIF e1 DIF n1 n1 = NormalDIF("n1") n1.add_policy("routing", "lfa") n1.add_policy("addr_auth", "flat")
  20. 20. Node A DIF e1 DIF n1 a = Node("a", difs=[n1, e1], dif_registrations={n1: [e1]})
  21. 21. Node A Node B DIF e1 DIF n1 b = Node("b", difs=[e1, n1], dif_registrations={n1: [e1]})
  22. 22. Node A Node B DIF e1 DIF n1 tb = jfed.Testbed(exp_name="example1", username="user1", cert_file="cert.pem") exp = our.Experiment(tb, nodes=[a, b])
  23. 23. Node A Node B DIF e1 DIF n1 rinaperf client rinaperf server storyboard = StoryBoard(duration=30) client = Client("rinaperf", options="-t perf") server = Server("rinaperf", options="-l", arrival_rate=0.5, mean_duration=5, clients=[client]) storyboard.set_experiment(exp) storyboard.add_server_on_node(server, a) client.add_node(b)
  24. 24. Node A Node B DIF e1 DIF n1 rinaperf client rinaperf server with ExperimentManager(exp): exp.swap_in() exp.install_prototype() exp.bootstrap_prototype() storyboard.schedule_link_down(5, e1) storyboard.generate_script() storyboard.start() storyboard.fetch_logs()
  25. 25. Join us... #rumba rumba@freelists.org https://arcfire.gitlab.io/rumba/https://gitlab.com/arcfire/rumba
  26. 26. Sander Vrijders (sander.vrijders@ugent.be) Vincenzo Maffione (v.maffione@nextworks.it) Marco Capitani (m.capitani@nextworks.it) Dimitri Staessens (dimitri.staessens@ugent.be)

×