Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Typo.
[simgrid.git] / src / msg / msg_vm.c
index 44bd5ca..ba12a24 100644 (file)
@@ -103,7 +103,7 @@ static inline int __MSG_vm_is_state(msg_vm_t vm, e_surf_vm_state_t state)
   return simcall_vm_get_state(vm) == state;
 }
 
-/** @brief Returns whether the given VM has just reated, not running.
+/** @brief Returns whether the given VM has just created, not running.
  *  @ingroup msg_VMs
  */
 int MSG_vm_is_created(msg_vm_t vm)
@@ -171,30 +171,32 @@ int MSG_vm_is_restoring(msg_vm_t vm)
  *  All parameters are in MBytes
  *
  */
-msg_vm_t MSG_vm_create(msg_host_t ind_pm, const char *name, int ncpus, int ramsize,
-                                            int net_cap, char *disk_path, int disksize,
-                                                int mig_netspeed, int dp_intensity)
+msg_vm_t MSG_vm_create(msg_host_t ind_pm, const char *name,
+                       int ncpus, int ramsize,
+                       int net_cap, char *disk_path, int disksize,
+                       int mig_netspeed, int dp_intensity)
 {
-       /* For the moment, intensity_rate is the percentage against the migration bandwidth */
-       double host_speed = MSG_get_host_speed(ind_pm);
-       double update_speed = ((double)dp_intensity/100) * mig_netspeed;
-       
-       msg_vm_t vm = MSG_vm_create_core(ind_pm, name);
-       s_ws_params_t params;
-       memset(&params, 0, sizeof(params));
-       params.ramsize = 1L * 1024 * 1024 * ramsize;
-       //params.overcommit = 0;
-       params.devsize = 0;
-       params.skip_stage2 = 0;
-       params.max_downtime = 0.03;
-       params.dp_rate = (update_speed * 1L * 1024 * 1024 ) / host_speed; 
-       params.dp_cap = params.ramsize / 0.9; // working set memory is 90%
-       params.mig_speed = 1L * 1024 * 1024 * mig_netspeed; // mig_speed
-
-   //XBT_INFO("dp rate %f migspeed : %f intensity mem : %d, updatespeed %f, hostspeed %f",params.dp_rate, params.mig_speed, dp_intensity, update_speed, host_speed);
-       simcall_host_set_params(vm, &params);
-
-       return vm;
+  /* For the moment, intensity_rate is the percentage against the migration
+   * bandwidth */
+  double host_speed = MSG_get_host_speed(ind_pm);
+  double update_speed = ((double)dp_intensity/100) * mig_netspeed;
+
+  msg_vm_t vm = MSG_vm_create_core(ind_pm, name);
+  s_ws_params_t params;
+  memset(&params, 0, sizeof(params));
+  params.ramsize = (sg_size_t)ramsize * 1024 * 1024;
+  //params.overcommit = 0;
+  params.devsize = 0;
+  params.skip_stage2 = 0;
+  params.max_downtime = 0.03;
+  params.dp_rate = (update_speed * 1024 * 1024) / host_speed;
+  params.dp_cap = params.ramsize * 0.9; // assume working set memory is 90% of ramsize
+  params.mig_speed = (double)mig_netspeed * 1024 * 1024; // mig_speed
+
+  //XBT_INFO("dp rate %f migspeed : %f intensity mem : %d, updatespeed %f, hostspeed %f",params.dp_rate, params.mig_speed, dp_intensity, update_speed, host_speed);
+  simcall_host_set_params(vm, &params);
+
+  return vm;
 }
 
 
@@ -292,7 +294,7 @@ void MSG_vm_shutdown(msg_vm_t vm)
 
 
 /* We have two mailboxes. mbox is used to transfer migration data between
- * source and destiantion PMs. mbox_ctl is used to detect the completion of a
+ * source and destination PMs. mbox_ctl is used to detect the completion of a
  * migration. The names of these mailboxes must not conflict with others. */
 static inline char *get_mig_mbox_src_dst(const char *vm_name, const char *src_pm_name, const char *dst_pm_name)
 {
@@ -454,7 +456,7 @@ static double get_computed(char *key, msg_vm_t vm, dirty_page_t dp, double remai
   double computed = dp->prev_remaining - remaining;
   double duration = clock - dp->prev_clock;
 
-  XBT_DEBUG("%s@%s: computated %f ops (remaining %f -> %f) in %f secs (%f -> %f)",
+  XBT_DEBUG("%s@%s: computed %f ops (remaining %f -> %f) in %f secs (%f -> %f)",
       key, sg_host_name(vm), computed, dp->prev_remaining, remaining, duration, dp->prev_clock, clock);
 
   return computed;
@@ -470,7 +472,7 @@ static double lookup_computed_flop_counts(msg_vm_t vm, int stage_for_fancy_debug
   dirty_page_t dp = NULL;
   xbt_dict_foreach(priv->dp_objs, cursor, key, dp) {
     double remaining = MSG_task_get_remaining_computation(dp->task);
-   
+
         double clock = MSG_get_clock();
 
     // total += calc_updated_pages(key, vm, dp, remaining, clock);
@@ -501,7 +503,7 @@ void MSG_host_add_task(msg_host_t host, msg_task_t task)
 {
   msg_host_priv_t priv = msg_host_resource_priv(host);
   double remaining = MSG_task_get_remaining_computation(task);
-  char *key = bprintf("%s-%lld", task->name, task->counter);
+  char *key = bprintf("%s-%p", task->name, task);
 
   dirty_page_t dp = xbt_new0(s_dirty_page, 1);
   dp->task = task;
@@ -523,13 +525,13 @@ void MSG_host_del_task(msg_host_t host, msg_task_t task)
 {
   msg_host_priv_t priv = msg_host_resource_priv(host);
 
-  char *key = bprintf("%s-%lld", task->name, task->counter);
+  char *key = bprintf("%s-%p", task->name, task);
 
   dirty_page_t dp = xbt_dict_get_or_null(priv->dp_objs, key);
   xbt_assert(dp->task == task);
 
   /* If we are in the middle of dirty page tracking, we record how much
-   * computaion has been done until now, and keep the information for the
+   * computation has been done until now, and keep the information for the
    * lookup_() function that will called soon. */
   if (priv->dp_enabled) {
     double remaining = MSG_task_get_remaining_computation(task);
@@ -558,7 +560,7 @@ static int deferred_exec_fun(int argc, char *argv[])
   double prio = atof(prio_str);
 
   msg_task_t task = MSG_task_create("__task_deferred", computaion, 0, NULL);
-  // XBT_INFO("exec deferred %f", computaion);
+  // XBT_INFO("exec deferred %f", computation);
 
   /* dpt is the results of the VM activity */
   MSG_task_set_priority(task, prio);
@@ -924,7 +926,7 @@ static int migration_tx_fun(int argc, char *argv[])
   s_ws_params_t params;
   simcall_host_get_params(vm, &params);
   const sg_size_t ramsize   = params.ramsize;
-  const long devsize        = params.devsize;
+  const sg_size_t devsize   = params.devsize;
   const int skip_stage1     = params.skip_stage1;
   const int skip_stage2     = params.skip_stage2;
   const double dp_rate      = params.dp_rate;
@@ -969,7 +971,7 @@ static int migration_tx_fun(int argc, char *argv[])
     double clock_post_send = MSG_get_clock();
     double bandwidth = ramsize / (clock_post_send - clock_prev_send);
     threshold = get_threshold_value(bandwidth, max_downtime);
-    XBT_INFO("actual banwdidth %f (MB/s), threshold %f", bandwidth / 1024 / 1024, threshold);
+    XBT_INFO("actual bandwidth %f (MB/s), threshold %f", bandwidth / 1024 / 1024, threshold);
   }
 
 
@@ -1025,7 +1027,7 @@ static int migration_tx_fun(int argc, char *argv[])
 
     double bandwidth = updated_size / (clock_post_send - clock_prev_send);
     threshold = get_threshold_value(bandwidth, max_downtime);
-    XBT_INFO("actual banwdidth %f, threshold %f", bandwidth / 1024 / 1024, threshold);
+    XBT_INFO("actual bandwidth %f, threshold %f", bandwidth / 1024 / 1024, threshold);
 
 
 
@@ -1151,8 +1153,8 @@ void MSG_vm_migrate(msg_vm_t vm, msg_host_t new_pm)
 /** @brief Immediately suspend the execution of all processes within the given VM.
  *  @ingroup msg_VMs
  *
- * This function stops the exection of the VM. All the processes on this VM
- * will pause. The state of the VM is perserved. We can later resume it again.
+ * This function stops the execution of the VM. All the processes on this VM
+ * will pause. The state of the VM is preserved. We can later resume it again.
  *
  * No suspension cost occurs.
  */
@@ -1186,8 +1188,8 @@ void MSG_vm_resume(msg_vm_t vm)
 /** @brief Immediately save the execution of all processes within the given VM.
  *  @ingroup msg_VMs
  *
- * This function stops the exection of the VM. All the processes on this VM
- * will pause. The state of the VM is perserved. We can later resume it again.
+ * This function stops the execution of the VM. All the processes on this VM
+ * will pause. The state of the VM is preserved. We can later resume it again.
  *
  * FIXME: No suspension cost occurs. If you want to simulate this too, you want to
  * use a \ref MSG_file_write() before or after, depending on the exact semantic
@@ -1248,7 +1250,7 @@ msg_host_t MSG_vm_get_pm(msg_vm_t vm)
  *
  * There are some solutions for this problem. One option is to update the bound
  * of the dummy CPU action automatically. It should be the sum of all tasks on
- * the VM. But, this solution might be costy, because we have to scan all tasks
+ * the VM. But, this solution might be costly, because we have to scan all tasks
  * on the VM in share_resource() or we have to trap both the start and end of
  * task execution.
  *