XBT_INFO("Sleep long enough for everyone to be done with previous batch of work");
MSG_process_sleep(1000-MSG_get_clock());
- XBT_INFO("Add one more process per VM, and dispatch a batch of work to everyone");
+ XBT_INFO("Add one more process per VM");
for (i=0;i<xbt_dynar_length(vms);i++) {
msg_vm_t vm = xbt_dynar_get_as(vms,i,msg_vm_t);
char slavename[64];
argv[2] = NULL;
MSG_vm_bind(vm, MSG_process_create_with_arguments(slavename,slave_fun,NULL,slaves[i],2,argv));
}
+
work_batch(slaves_count*2);
XBT_INFO("Migrate everyone to the second host.");
}
-
XBT_INFO("Let's shut down the simulation. 10 first processes will be shut down cleanly while the second half will forcefully get killed");
for (i = 0; i < slaves_count; i++) {
char mailbox_buffer[64];
for (i=0;i<xbt_dynar_length(vms);i++) {
msg_vm_t vm = xbt_dynar_get_as(vms,i,msg_vm_t);
MSG_vm_shutdown(vm);
+ MSG_vm_destroy(vm);
}
XBT_INFO("Goodbye now!");
MSG_task_destroy(task);
task = NULL;
}
+
free(mailbox_name);
return 0;
} /* end_of_slave */
int i;
/* Get the arguments */
- MSG_global_init(&argc, argv);
+ MSG_init(&argc, argv);
if (argc < 2) {
printf("Usage: %s platform_file\n", argv[0]);
printf("example: %s msg_platform.xml\n", argv[0]);