diff options
author | nshankar <nshankar@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-03-06 23:32:49 +0000 |
---|---|---|
committer | nshankar <nshankar@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-03-06 23:32:49 +0000 |
commit | a3481a97e582c79f26c6ef5d6ba76def7db907f6 (patch) | |
tree | f2c6453992c46e28b90becbddc798ed132f9cf76 | |
parent | 4d6e1f9835f7cb67610c9b16bf2c8f069ab399b4 (diff) | |
download | ATCD-a3481a97e582c79f26c6ef5d6ba76def7db907f6.tar.gz |
Tue Mar 6 23:31:42 UTC 2007 Nishanth Shankaran <nshankar@nospam.com>
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | Controller/common/Domain.h | 50 | ||||
-rw-r--r-- | Controller/common/Subtask.h | 43 | ||||
-rw-r--r-- | Controller/common/Task.h | 45 |
4 files changed, 146 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index af5c42dac46..70bf16ccded 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Tue Mar 6 23:31:42 UTC 2007 Nishanth Shankaran <nshankar@nospam.com> + + * Controller/common: + * Controller/common/Domain.h: + * Controller/common/Subtask.h: + * Controller/common/Task.h: Adding structure of an end-to-end + task. + Fri Jan 19 18:52:36 UTC 2007 Nishanth Shankaran <nshankar@nospam.com> * Monitor/Central_Monitor/Monitor.idl: diff --git a/Controller/common/Domain.h b/Controller/common/Domain.h new file mode 100644 index 00000000000..019a190a852 --- /dev/null +++ b/Controller/common/Domain.h @@ -0,0 +1,50 @@ +#ifndef DOMAIN_H +#define DOMAIN_H + +#include <string> +#include <vector> + +namespace CIAO +{ + namespace RACE + { + /// Generic structure that holds information about a resource on a + /// node. Resources can be memory, CPU, n/w bandwidth, etc. + struct Resource + { + /// Unique identifier of the resource. + std::string UUID; + + /// Name of the resource - memory, CPU, n/w bandwidth. + std::string label; + + /// Desired utilization set-point (max 1). + double set_point; + + /// Current utilization (between 0 & 1). + double util; + }; + + /// Structure of a logical node. + struct Node + { + /// Unique identifier of the node. + std::string UUID; + + /// Logical node name. + std::string label; + + /// Various resources in this node. + std::vector <Resource> resources; + }; + + struct Domain + { + std::vector <Node> nodes; + }; + + + } +} + +#endif /* DOMAIN_H */ diff --git a/Controller/common/Subtask.h b/Controller/common/Subtask.h new file mode 100644 index 00000000000..7533dfa29a3 --- /dev/null +++ b/Controller/common/Subtask.h @@ -0,0 +1,43 @@ +#ifndef SUBTASK_H +#define SUBTASK_H + +#include <string> +#include <vector> + +#include "Domain.h" + +namespace CIAO +{ + namespace RACE + { + + /// Estimated execution times. + struct Execution_Time + { + /// Best case execution time. + double BCET_; + + /// Worst case execution time. + double WCET_; + }; + + /// Structure of a subtask. + struct Subtask + { + /// Unique identifier. + std::string UUID; + + /// Logical name. + std::string label; + + /// "Reference" to the node where the subtaks is deployed. This is + /// actually the index into the nodes vector in the domain structure. + size_t node; + + /// Estimated execution time of the subtask. + Execution_Time exec_time; + }; + } +} + +#endif /* SUBTASK_H */ diff --git a/Controller/common/Task.h b/Controller/common/Task.h new file mode 100644 index 00000000000..3f38114c937 --- /dev/null +++ b/Controller/common/Task.h @@ -0,0 +1,45 @@ +#ifndef TASK_H +#define TASK_H +#include <string> +#include <vector> + +#include "Subtask.h" + +namespace CIAO +{ + namespace RACE + { + /// Structure of an end-to-end task. + struct Task + { + /// Unique identifier. + std::string UUID; + + /// Logical name. + std::string label; + + /// Minimum execution rate (in Hz). + size_t min_rate_; + + /// Maximum execution rate (in Hz). + size_t max_rate_; + + /// Current execution rate (in Hz). + size_t curr_rate_; + + /// Current RT-CORBA priority. + size_t priority_; + + /// Relative importance. + size_t importance_; + + /// End-to-end deadline. + double deadline_; + + /// Subtaks of this task. + std::vector <Subtask> subtasks_; + }; + } +} + +#endif /* TASK_H */ |