Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
SMPI network calibration: tutorial
[simgrid.git] / docs / source / tuto_network_calibration / Utils.cpp
diff --git a/docs/source/tuto_network_calibration/Utils.cpp b/docs/source/tuto_network_calibration/Utils.cpp
new file mode 100644 (file)
index 0000000..6b37a6c
--- /dev/null
@@ -0,0 +1,26 @@
+/* Copyright (c) 2006-2021. The SimGrid Team. All rights reserved.          */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+#include "Utils.hpp"
+
+void load_dahu_platform(const simgrid::s4u::Engine& e, double bw, double lat)
+{
+  auto* root = simgrid::s4u::create_star_zone("dahu");
+  /* create the backbone link */
+  const simgrid::s4u::Link* l_bb = root->create_link("backbone", bw)->set_latency(lat)->seal();
+
+  const simgrid::s4u::LinkInRoute backbone{l_bb};
+  /* create nodes */
+  constexpr char preffix[] = "dahu-";
+  constexpr char suffix[]  = ".grid5000.fr";
+  for (int i = 0; i < 32; i++) {
+    /* create host */
+    const auto hostname            = preffix + std::to_string(i) + suffix;
+    const simgrid::s4u::Host* host = root->create_host(hostname, 1)->seal();
+
+    root->add_route(host->get_netpoint(), nullptr, nullptr, nullptr, {backbone}, true);
+  }
+  root->seal();
+}
\ No newline at end of file