-/* $Id$ */
-
-/* Copyright (c) 2002,2003,2004 Arnaud Legrand. All rights reserved. */
+/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team.
+ * All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
double task_comp_size = 0;
double task_comm_size = 0;
- TRACE_host_variable_set ("is_master", 1);
-
int i;
xbt_assert1(sscanf(argv[1], "%d", &number_of_tasks),
sprintf(sprintf_buffer, "Task_%d", i);
todo[i] =
MSG_task_create(sprintf_buffer, task_comp_size, task_comm_size, NULL);
- TRACE_host_variable_set ("task_creation", i);
- TRACE_msg_set_task_category (todo[i], "compute");
}
}
("All tasks have been dispatched. Let's tell everybody the computation is over.");
for (i = 0; i < slaves_count; i++){
m_task_t finalize=MSG_task_create("finalize", 0, 0, FINALIZE);
- TRACE_msg_set_task_category(finalize,"finalize");
MSG_task_put(finalize, slaves[i], PORT_22);
}
int slave(int argc, char *argv[])
{
m_task_t task = NULL;
- TRACE_host_variable_set ("is_slave", 1);
int res;
while (1) {
res = MSG_task_get(&(task), PORT_22);
}
INFO1("Processing \"%s\"", MSG_task_get_name(task));
- TRACE_host_variable_add ("task_computation", MSG_task_get_compute_duration(task));
MSG_task_execute(task);
INFO1("\"%s\" done", MSG_task_get_name(task));
MSG_task_destroy(task);
int main(int argc, char *argv[])
{
MSG_error_t res = MSG_OK;
- int is_tracing = 0;
- int i;
-
- for (i = 0; i < argc; i++){
- if (!strcmp (argv[i], "--trace")){
- is_tracing = 1;
- }
- }
-
- if (is_tracing) {
- //if TRACE_start is not called, all other tracing
- //functions will be disabled
- TRACE_start ("simulation.trace");
- }
- TRACE_host_variable_declare ("is_slave");
- TRACE_host_variable_declare ("is_master");
- TRACE_host_variable_declare ("task_creation");
- TRACE_host_variable_declare ("task_computation");
- TRACE_category ("compute");
- TRACE_category ("finalize");
MSG_global_init(&argc, argv);
if (argc < 3) {
res = test_all(argv[1], argv[2]);
MSG_clean();
- TRACE_end ();
-
if (res == MSG_OK)
return 0;
else