summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornshankar <nshankar@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-03-06 23:32:49 +0000
committernshankar <nshankar@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-03-06 23:32:49 +0000
commita3481a97e582c79f26c6ef5d6ba76def7db907f6 (patch)
treef2c6453992c46e28b90becbddc798ed132f9cf76
parent4d6e1f9835f7cb67610c9b16bf2c8f069ab399b4 (diff)
downloadATCD-a3481a97e582c79f26c6ef5d6ba76def7db907f6.tar.gz
Tue Mar 6 23:31:42 UTC 2007 Nishanth Shankaran <nshankar@nospam.com>
-rw-r--r--ChangeLog8
-rw-r--r--Controller/common/Domain.h50
-rw-r--r--Controller/common/Subtask.h43
-rw-r--r--Controller/common/Task.h45
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 */