Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
remove the useless prototype of sg_instr_new_host
[simgrid.git] / teshsuite / simdag / comm-p2p-latency-bound / comm-p2p-latency-bound.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 #define TASK_NUM 3
13
14 /**
15  * 3 tasks send 1 byte in parallel 
16  * 3 flows exceed bandwidth
17  * should be 10001.5
18  * because the max tcp win size is 20000
19  */
20
21 int main(int argc, char **argv)
22 {
23   double communication_amount[] = { 0.0, 1.0, 0.0, 0.0 };
24   double no_cost[] = { 0.0, 0.0 };
25
26   SD_task_t task[TASK_NUM];
27
28   SD_init(&argc, argv);
29   SD_create_environment(argv[1]);
30
31   SD_task_t root = SD_task_create("Root", NULL, 1.0);
32
33   sg_host_t *hosts = sg_host_list();
34   SD_task_schedule(root, 1, hosts, no_cost, no_cost, -1.0);
35
36   for (int i = 0; i < TASK_NUM; i++) {
37     task[i] = SD_task_create("Comm", NULL, 1.0);
38     SD_task_schedule(task[i], 2, hosts, no_cost, communication_amount, -1.0);
39     SD_task_dependency_add(NULL, NULL, root, task[i]);
40   }
41   xbt_free(hosts);
42
43   SD_simulate(-1.0);
44
45   printf("%g\n", SD_get_clock());
46   fflush(stdout);
47
48   for (int i = 0; i < TASK_NUM; i++) {
49     SD_task_destroy(task[i]);
50   }
51   SD_task_destroy(root);
52
53   SD_exit();
54   return 0;
55 }