A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use new macros THROWF and RETHROWF.
[simgrid.git]
/
examples
/
msg
/
tracing
/
tasks.c
diff --git
a/examples/msg/tracing/tasks.c
b/examples/msg/tracing/tasks.c
index
ca955ee
..
13a3c74
100644
(file)
--- a/
examples/msg/tracing/tasks.c
+++ b/
examples/msg/tracing/tasks.c
@@
-27,13
+27,15
@@
int master(int argc, char *argv[])
double task_comp_size = atof(argv[2]);
double task_comm_size = atof(argv[3]);
long slaves_count = atol(argv[4]);
double task_comp_size = atof(argv[2]);
double task_comm_size = atof(argv[3]);
long slaves_count = atol(argv[4]);
-
INFO4
("master %ld %f %f %ld", number_of_tasks, task_comp_size,
+
XBT_INFO
("master %ld %f %f %ld", number_of_tasks, task_comp_size,
task_comm_size, slaves_count);
int i;
for (i = 0; i < number_of_tasks; i++) {
task_comm_size, slaves_count);
int i;
for (i = 0; i < number_of_tasks; i++) {
+ char task_name[100];
+ snprintf (task_name, 100, "task-%d", i);
m_task_t task = NULL;
m_task_t task = NULL;
- task = MSG_task_create(
"task"
, task_comp_size, task_comm_size, NULL);
+ task = MSG_task_create(
task_name
, task_comp_size, task_comm_size, NULL);
//setting the category of task to "compute"
//the category of a task must be defined before it is sent or executed
//setting the category of task to "compute"
//the category of a task must be defined before it is sent or executed
@@
-42,7
+44,9
@@
int master(int argc, char *argv[])
}
for (i = 0; i < slaves_count; i++) {
}
for (i = 0; i < slaves_count; i++) {
- m_task_t finalize = MSG_task_create("finalize", 0, 0, 0);
+ char task_name[100];
+ snprintf (task_name, 100, "task-%d", i);
+ m_task_t finalize = MSG_task_create(task_name, 0, 0, xbt_strdup("finalize"));
TRACE_msg_set_task_category(finalize, "finalize");
MSG_task_send(finalize, "master_mailbox");
}
TRACE_msg_set_task_category(finalize, "finalize");
MSG_task_send(finalize, "master_mailbox");
}
@@
-59,18
+63,19
@@
int slave(int argc, char *argv[])
while (1) {
res = MSG_task_receive(&(task), "master_mailbox");
if (res != MSG_OK) {
while (1) {
res = MSG_task_receive(&(task), "master_mailbox");
if (res != MSG_OK) {
-
INFO0
("error");
+
XBT_INFO
("error");
break;
}
break;
}
- if (!strcmp(MSG_task_get_name(task), "finalize")) {
+ char *data = MSG_task_get_data(task);
+ if (data && !strcmp(data, "finalize")) {
MSG_task_destroy(task);
break;
}
MSG_task_destroy(task);
break;
}
-
INFO1
("Executing task %f", MSG_task_get_compute_duration(task));
+
XBT_INFO
("Executing task %f", MSG_task_get_compute_duration(task));
MSG_task_execute(task);
MSG_task_execute(task);
-
INFO0
("End of execution");
+
XBT_INFO
("End of execution");
MSG_task_destroy(task);
task = NULL;
}
MSG_task_destroy(task);
task = NULL;
}
@@
-87,6
+92,11
@@
MSG_error_t test_all(const char *platform_file,
MSG_set_channel_number(0);
MSG_create_environment(platform_file);
}
MSG_set_channel_number(0);
MSG_create_environment(platform_file);
}
+ {
+ //declaring user categories
+ TRACE_category_with_color ("compute", "1 0 0"); //compute is red
+ TRACE_category_with_color ("finalize", "0 1 0"); //finalize is green
+ }
{ /* Application deployment */
MSG_function_register("master", master);
MSG_function_register("slave", slave);
{ /* Application deployment */
MSG_function_register("master", master);
MSG_function_register("slave", slave);
@@
-94,7
+104,7
@@
MSG_error_t test_all(const char *platform_file,
}
res = MSG_main();
}
res = MSG_main();
-
INFO1
("Simulation time %g", MSG_get_clock());
+
XBT_INFO
("Simulation time %g", MSG_get_clock());
return res;
}
return res;
}
@@
-110,19
+120,10
@@
int main(int argc, char *argv[])
printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
exit(1);
}
printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
exit(1);
}
- //starting the simulation tracing
- TRACE_start();
-
- //declaring user categories
- TRACE_category("compute");
- TRACE_category("finalize");
res = test_all(argv[1], argv[2]);
MSG_clean();
res = test_all(argv[1], argv[2]);
MSG_clean();
- //ending the simulation tracing
- TRACE_end();
-
if (res == MSG_OK)
return 0;
else
if (res == MSG_OK)
return 0;
else