Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix copyright headers
[simgrid.git] / teshsuite / simdag / network / mxn / test_intra_scatter.c
1 /* Latency tests                                                            */
2
3 /* Copyright (c) 2007, 2009, 2010. The SimGrid Team.
4  * All rights reserved.                                                     */
5
6 /* This program is free software; you can redistribute it and/or modify it
7  * under the terms of the license (GNU LGPL) which comes with this package. */
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 {
27   double time;
28   SD_task_t task;
29
30   double communication_amount[] = { 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,
47                    communication_amount, -1.0);
48
49   SD_simulate(-1.0);
50
51   time = SD_get_clock();
52
53   printf("%g\n", time);
54   fflush(stdout);
55
56   SD_task_destroy(task);
57
58   SD_exit();
59
60   return 0;
61 }