Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
kill MM
[simgrid.git] / teshsuite / simdag / network / mxn / test_intra_scatter.c
1 /* Latency tests                                                            */
2
3 /* Copyright (c) 2007, 2009-2011, 2013-2015. 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 "simgrid/simdag.h"
11
12 /*
13  * intra communication test 1
14  * scatter
15  * 
16  * start: 1 2 3 (each having 1/3 of the bandwidth)
17  * after 3 sec: 0 1 2 (having 1/2 of the bandwidth)
18  * after another 2 sec: 0 0 1 (having all the bandwidth)
19  * -> finished after 1 sec
20  * time to send: 6 + latency at the beginning: 0.5 + 1 + 0.5
21  */
22
23 int main(int argc, char **argv)
24 {
25
26   double communication_amount[] = { 0.0, 1.0, 2.0, 3.0,
27                                     0.0, 0.0, 0.0, 0.0,
28                                     0.0, 0.0, 0.0, 0.0,
29                                     0.0, 0.0, 0.0, 0.0 };
30   double no_cost[] = { 0.0, 0.0, 0.0, 0.0 };
31
32   SD_init(&argc, argv);
33   SD_create_environment(argv[1]);
34
35   SD_task_t task = SD_task_create("Scatter task", NULL, 1.0);
36
37   SD_task_schedule(task, 4, sg_host_list(), no_cost, communication_amount, -1.0);
38
39   SD_simulate(-1.0);
40
41   printf("%g\n", SD_get_clock());
42   fflush(stdout);
43
44   SD_task_destroy(task);
45
46   SD_exit();
47   return 0;
48 }