t3.task = MSG_task_create("Task3", 1e16, 0, NULL);
t4.task = MSG_task_create("Task4", 1e16, 0, NULL);
t3.task = MSG_task_create("Task3", 1e16, 0, NULL);
t4.task = MSG_task_create("Task4", 1e16, 0, NULL);
- MSG_process_create("worker1", worker_main, t1.task, pm1);
- MSG_process_create("worker2", worker_main, t2.task, pm1);
- MSG_process_create("worker3", worker_main, t3.task, pm1);
- MSG_process_create("worker4", worker_main, t4.task, pm1);
+ MSG_process_create("worker1", worker_main, t1.task, pm2);
+ MSG_process_create("worker2", worker_main, t2.task, pm2);
+ MSG_process_create("worker3", worker_main, t3.task, pm2);
+ MSG_process_create("worker4", worker_main, t4.task, pm2);
task_data_init_clock(&t1);
task_data_init_clock(&t2);
task_data_init_clock(&t3);
task_data_init_clock(&t1);
task_data_init_clock(&t2);
task_data_init_clock(&t3);
- MSG_task_set_affinity(t1.task, pm1, 0x01);
- MSG_task_set_affinity(t2.task, pm1, 0x01);
- MSG_task_set_affinity(t3.task, pm1, 0x01);
- MSG_task_set_affinity(t4.task, pm1, 0x01);
+ MSG_task_set_affinity(t1.task, pm2, 0x01);
+ MSG_task_set_affinity(t2.task, pm2, 0x01);
+ MSG_task_set_affinity(t3.task, pm2, 0x01);
+ MSG_task_set_affinity(t4.task, pm2, 0x01);
XBT_INFO("## 6. pin all tasks to CPU0 of another PM (no effect now)");
MSG_task_set_affinity(t1.task, pm0, 0);
MSG_task_set_affinity(t2.task, pm0, 0);
XBT_INFO("## 6. pin all tasks to CPU0 of another PM (no effect now)");
MSG_task_set_affinity(t1.task, pm0, 0);
MSG_task_set_affinity(t2.task, pm0, 0);
- MSG_task_set_affinity(t3.task, pm2, 0);
- MSG_task_set_affinity(t4.task, pm2, 0);
+ MSG_task_set_affinity(t3.task, pm1, 0);
+ MSG_task_set_affinity(t4.task, pm1, 0);
msg_host_t pm2 = xbt_dynar_get_as(hosts_dynar, 2, msg_host_t); // 4 cores
xbt_dynar_free(&hosts_dynar);
msg_host_t pm2 = xbt_dynar_get_as(hosts_dynar, 2, msg_host_t); // 4 cores
xbt_dynar_free(&hosts_dynar);
- /* set up VMs on PM2 (4 cores) */
- msg_vm_t vm0 = MSG_vm_create_core(pm2, "VM0");
- msg_vm_t vm1 = MSG_vm_create_core(pm2, "VM1");
- msg_vm_t vm2 = MSG_vm_create_core(pm2, "VM2");
- msg_vm_t vm3 = MSG_vm_create_core(pm2, "VM3");
+ /* set up VMs on PM1 (4 cores) */
+ msg_vm_t vm0 = MSG_vm_create_core(pm1, "VM0");
+ msg_vm_t vm1 = MSG_vm_create_core(pm1, "VM1");
+ msg_vm_t vm2 = MSG_vm_create_core(pm1, "VM2");
+ msg_vm_t vm3 = MSG_vm_create_core(pm1, "VM3");
MSG_process_create("worker3", worker_main, t3.task, vm3);
/* start experiments */
MSG_process_create("worker3", worker_main, t3.task, vm3);
/* start experiments */
task_data_init_clock(&t0);
task_data_init_clock(&t1);
task_data_init_clock(&t2);
task_data_init_clock(&t0);
task_data_init_clock(&t1);
task_data_init_clock(&t2);
- XBT_INFO("## 2. pin all VMs to CPU0 of PM2");
- MSG_vm_set_affinity(vm0, pm2, 0x01);
- MSG_vm_set_affinity(vm1, pm2, 0x01);
- MSG_vm_set_affinity(vm2, pm2, 0x01);
- MSG_vm_set_affinity(vm3, pm2, 0x01);
+ XBT_INFO("## 2. pin all VMs to CPU0 of PM1");
+ MSG_vm_set_affinity(vm0, pm1, 0x01);
+ MSG_vm_set_affinity(vm1, pm1, 0x01);
+ MSG_vm_set_affinity(vm2, pm1, 0x01);
+ MSG_vm_set_affinity(vm3, pm1, 0x01);
- MSG_vm_set_affinity(vm0, pm1, 0x01);
- MSG_vm_set_affinity(vm1, pm1, 0x01);
- MSG_vm_set_affinity(vm2, pm1, 0x01);
- MSG_vm_set_affinity(vm3, pm1, 0x01);
+ MSG_vm_set_affinity(vm0, pm2, 0x01);
+ MSG_vm_set_affinity(vm1, pm2, 0x01);
+ MSG_vm_set_affinity(vm2, pm2, 0x01);
+ MSG_vm_set_affinity(vm3, pm2, 0x01);
- XBT_INFO("## 4. unpin VM0, and pin VM2 and VM3 to CPU1 of PM2");
- MSG_vm_set_affinity(vm0, pm2, 0x00);
- MSG_vm_set_affinity(vm2, pm2, 0x02);
- MSG_vm_set_affinity(vm3, pm2, 0x02);
+ XBT_INFO("## 4. unpin VM0, and pin VM2 and VM3 to CPU1 of PM1");
+ MSG_vm_set_affinity(vm0, pm1, 0x00);
+ MSG_vm_set_affinity(vm2, pm1, 0x02);
+ MSG_vm_set_affinity(vm3, pm1, 0x02);
- XBT_INFO("## 6. migrate all VMs to PM1 (2 CPU cores, with affinity settings)");
- MSG_vm_migrate(vm0, pm1);
- MSG_vm_migrate(vm1, pm1);
- MSG_vm_migrate(vm2, pm1);
- MSG_vm_migrate(vm3, pm1);
+ XBT_INFO("## 6. migrate all VMs to PM2 (2 CPU cores, with affinity settings)");
+ MSG_vm_migrate(vm0, pm2);
+ MSG_vm_migrate(vm1, pm2);
+ MSG_vm_migrate(vm2, pm2);
+ MSG_vm_migrate(vm3, pm2);
- MSG_vm_set_affinity(vm0, pm1, 0);
- MSG_vm_set_affinity(vm1, pm1, 0);
- MSG_vm_set_affinity(vm2, pm1, 0);
- MSG_vm_set_affinity(vm3, pm1, 0);
+ MSG_vm_set_affinity(vm0, pm2, 0);
+ MSG_vm_set_affinity(vm1, pm2, 0);
+ MSG_vm_set_affinity(vm2, pm2, 0);
+ MSG_vm_set_affinity(vm3, pm2, 0);