]> AND Private Git Repository - loba.git/blobdiff - deployment.h
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Neighbor/debt should be protected against concurrent access too.
[loba.git] / deployment.h
index 3cbe6ae367e98105c544fa2c263bad267a81ae64..b3fa43a6b29b14faccb3ddf65ad82fd1fbcd31d4 100644 (file)
@@ -3,8 +3,10 @@
 
 #include <vector>
 
 
 #include <vector>
 
+// Deploy an application automatically, according to the global parameters
 void MY_launch_application();
 
 void MY_launch_application();
 
+// Base class for deployment generators...
 class deployment_generator {
 public:
     deployment_generator();
 class deployment_generator {
 public:
     deployment_generator();
@@ -15,10 +17,13 @@ public:
     void set_link(int host1, int host2);
 
     virtual void generate() = 0;
     void set_link(int host1, int host2);
 
     virtual void generate() = 0;
+    void distribute_load();
     void deploy();
 
 private:
     struct host_parameters {
     void deploy();
 
 private:
     struct host_parameters {
+        host_parameters(): load(0.0) { }
+
         double load;
         std::vector<int> neighbors;
     };
         double load;
         std::vector<int> neighbors;
     };
@@ -31,13 +36,13 @@ private:
     public: void generate();                                    \
     }
 
     public: void generate();                                    \
     }
 
+DEPLOYMENT(btree);
+DEPLOYMENT(clique);
+DEPLOYMENT(hcube);
 DEPLOYMENT(line);
 DEPLOYMENT(ring);
 DEPLOYMENT(star);
 DEPLOYMENT(line);
 DEPLOYMENT(ring);
 DEPLOYMENT(star);
-DEPLOYMENT(clique);
-DEPLOYMENT(btree);
-// DEPLOYMENT(torus);
-DEPLOYMENT(hcube);
+DEPLOYMENT(torus);
 
 #undef DEPLOYMENT
 
 
 #undef DEPLOYMENT