git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6093
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
} channel_t;
//keep a pointer to all surf running tasks.
} channel_t;
//keep a pointer to all surf running tasks.
int bool_printed=0;
double start_time, end_time, elapsed_time;
double gl_data_size[NTASKS];
m_task_t gl_task_array[NTASKS];
int bool_printed=0;
double start_time, end_time, elapsed_time;
double gl_data_size[NTASKS];
m_task_t gl_task_array[NTASKS];
+const char * slavenames[NTASKS];
+const char * masternames[NTASKS];
int gl_task_array_id=0;
#define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */
int gl_task_array_id=0;
#define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */
double task_comm_size = 0;
m_task_t todo;
m_host_t slave;
double task_comm_size = 0;
m_task_t todo;
m_host_t slave;
//unique id to control statistics
//unique id to control statistics
- int id=gl_task_array_id++;
+ int id = -1;
+
+ if(argc != 4){
+ INFO1("Strange number of arguments expected 3 got %d", argc-1 );
+ }
/* data size */
xbt_assert1(sscanf(argv[1],"%lg", &task_comm_size),
/* data size */
xbt_assert1(sscanf(argv[1],"%lg", &task_comm_size),
/* slave name */
slavename = argv[2];
/* slave name */
slavename = argv[2];
+ id = atoi(argv[3]);
+ sprintf(id_alias, "%d",id);
+ slavenames[id] = slavename;
+
+ masternames[id] = MSG_host_get_name(MSG_host_self());
{ /* Task creation. */
char sprintf_buffer[64] = "Task_0";
{ /* Task creation. */
char sprintf_buffer[64] = "Task_0";
/* time measurement */
start_time = MSG_get_clock();
/* time measurement */
start_time = MSG_get_clock();
- MSG_task_put(todo, slave, PORT_22);
+ //MSG_task_put(todo, slave, PORT_22);
+ MSG_task_send(todo, id_alias);
+
end_time = MSG_get_clock();
INFO3("Send completed (to %s). Transfer time: %f\t Agregate bandwidth: %f",
slave->name, (end_time - start_time), task_comm_size/(end_time-start_time));
end_time = MSG_get_clock();
INFO3("Send completed (to %s). Transfer time: %f\t Agregate bandwidth: %f",
slave->name, (end_time - start_time), task_comm_size/(end_time-start_time));
/** Receiver function */
int slave(int argc, char *argv[])
{
/** Receiver function */
int slave(int argc, char *argv[])
{
m_task_t task = NULL;
int a;
int id=0;
double remaining=0;
m_task_t task = NULL;
int a;
int id=0;
double remaining=0;
- a = MSG_task_get(&(task), PORT_22);
+ char id_alias[10];
+
+ if(argc != 2){
+ INFO1("Strange number of arguments expected 1 got %d", argc-1 );
+ }
+
+ id = atoi(argv[1]);
+ sprintf(id_alias, "%d",id);
+
+
+ //a = MSG_task_get(&(task), PORT_22);
+ a = MSG_task_receive(&(task), id_alias );
+
+
if (a != MSG_OK) {
INFO0("Hey?! What's up?");
xbt_assert0(0,"Unexpected behavior.");
if (a != MSG_OK) {
INFO0("Hey?! What's up?");
xbt_assert0(0,"Unexpected behavior.");
bool_printed=1;
for(id=0; id<NTASKS; id++){
if(gl_task_array[id] == NULL){
bool_printed=1;
for(id=0; id<NTASKS; id++){
if(gl_task_array[id] == NULL){
- INFO0("===> Task already done, skipping print statistics");
}else if(gl_task_array[id] == task){
}else if(gl_task_array[id] == task){
- INFO2("===> Estimated Bw of FLOW%c : %f", flow+id, gl_data_size[id]/elapsed_time);
+ INFO5("===> Estimated Bw of FLOW[%d] : %f ; message from %s to %s with remaining : %f", id, gl_data_size[id]/elapsed_time, masternames[id], slavenames[id], 0.0);
}else{
remaining = MSG_task_get_remaining_communication(gl_task_array[id]);
}else{
remaining = MSG_task_get_remaining_communication(gl_task_array[id]);
- INFO3("===> Estimated Bw of FLOW%c : %f , with remaining %f", flow+id, (gl_data_size[id]-remaining)/elapsed_time, remaining);
+ INFO5("===> Estimated Bw of FLOW[%d] : %f ; message from %s to %s with remaining : %f", id, (gl_data_size[id]-remaining)/elapsed_time, masternames[id], slavenames[id], remaining);
}
MSG_task_destroy(task);
}
MSG_task_destroy(task);
return 0;
} /* end_of_slave */
return 0;
} /* end_of_slave */