Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
ef4ec1c51bea989665f37fd9b131d8d514d835f1
[simgrid.git] / src / surf / host_clm03.hpp
1 /* Copyright (c) 2013-2015. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #include <xbt/base.h>
8
9 #include "storage_interface.hpp"
10 #include "cpu_interface.hpp"
11 #include "host_interface.hpp"
12 #include "network_interface.hpp"
13
14 #ifndef SURF_HOST_CLM03_HPP_
15 #define SURF_HOST_CLM03_HPP_
16
17 /***********
18  * Classes *
19  ***********/
20
21 namespace simgrid {
22 namespace surf {
23
24 class XBT_PRIVATE HostCLM03Model;
25
26 /*********
27  * Model *
28  *********/
29
30 class HostCLM03Model : public HostModel {
31 public:
32   HostCLM03Model(): HostModel(){}
33   ~HostCLM03Model() {}
34   Host *createHost(const char *name, RoutingEdge *netElm, Cpu *cpu, xbt_dict_t props) override;
35   double shareResources(double now) override;
36
37   void updateActionsState(double now, double delta) override;
38
39   Action *executeParallelTask(int host_nb,
40                               sg_host_t *host_list,
41                                                           double *flops_amount,
42                                                           double *bytes_amount,
43                                                           double rate) override;
44 };
45
46 }
47 }
48
49 #endif /* SURF_HOST_CLM03_HPP_ */