Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add a indent rule to format the code in an uniform way, avoiding breaking the branche...
[simgrid.git] / teshsuite / simdag / network / mxn / test_intra_scatter.c
1
2 /*
3  * SimDag
4  * Latency tests
5  * Copyright (C) 2007 
6  * Sascha Hunold, Frederic Suter
7  */
8
9 #include <stdio.h>
10 #include <stdlib.h>
11
12 #include "simdag/simdag.h"
13
14 /*
15  * intra communication test 1
16  * scatter
17  * 
18  * start: 1 2 3 (each having 1/3 of the bandwidth)
19  * after 3 sec: 0 1 2 (having 1/2 of the bandwidth)
20  * after another 2 sec: 0 0 1 (having all the bandwidth)
21  * -> finished after 1 sec
22  * time to send: 6 + latency at the beginning: 0.5 + 1 + 0.5
23  */
24
25 int main(int argc, char **argv) {
26   double time;
27   SD_task_t task;
28   
29   double communication_amount[] = 
30         {     0.0, 1.0, 2.0, 3.0,
31                   0.0, 0.0, 0.0, 0.0,
32                   0.0, 0.0, 0.0, 0.0,
33                   0.0, 0.0, 0.0, 0.0,
34         };
35   
36   double no_cost[] = { 0.0, 0.0, 0.0, 0.0 };
37
38   
39   /***************************************/
40
41   SD_init(&argc, argv);
42   SD_create_environment(argv[1]);
43
44   task = SD_task_create("Scatter task", NULL, 1.0);
45
46   SD_task_schedule(task, 4, SD_workstation_get_list(), no_cost, communication_amount, -1.0);
47   
48   SD_simulate(-1.0);
49   
50   time = SD_get_clock();
51
52   printf("%g\n", time);
53   fflush(stdout);
54   
55   SD_task_destroy(task);
56   
57   SD_exit();
58   
59   return 0;
60 }
61