summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornshankar <nshankar@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-03-28 17:28:37 +0000
committernshankar <nshankar@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-03-28 17:28:37 +0000
commit3f2bf3bcfbdcbd249b6e130bdb513dc3c7329c3f (patch)
tree285e562c921b6817832dbd08e065f01c21214142
parent705e99e55899cb670389889140cc71fb9d5adb8b (diff)
downloadATCD-3f2bf3bcfbdcbd249b6e130bdb513dc3c7329c3f.tar.gz
-rw-r--r--Controller/EUCON/Controller.cpp41
-rw-r--r--Controller/EUCON/Controller.h8
-rw-r--r--Controller/EUCON/MPC_Controller.cpp13
3 files changed, 44 insertions, 18 deletions
diff --git a/Controller/EUCON/Controller.cpp b/Controller/EUCON/Controller.cpp
index 92a0e6eefcb..50b4ffd9f6c 100644
--- a/Controller/EUCON/Controller.cpp
+++ b/Controller/EUCON/Controller.cpp
@@ -395,28 +395,32 @@ namespace CIAO
// For each node in the system domain, populate RACE::Domain info.
msg << "Obtaining resource info for each node in the domain.\n";
+ this->logger_.log (msg.str ());
+ msg.str ("");
for (::CORBA::ULong i = 0; i < nodes.length(); ++i)
{
- this->populate_node (nodes[i], node);
+ ::CIAO::RACE::Node r_node = this->populate_node (nodes[i]);
// Now that the node structure has been fully populated, we add
// it to the doamin.
- temp_domain.nodes.push_back (node);
+ temp_domain.nodes.push_back (r_node);
msg << "Added node: " << nodes [i].name.in()
<< " to the doamin structure.\n";
+ this->logger_.log (msg.str ());
+ msg.str ("");
}
this->util_logger_.log (std::string ("\n"));
+ this->dump_domain (temp_domain);
this->domain_ = temp_domain;
return true;
}
- void
- Controller::populate_node
- (const ::Deployment::Node &d_node,
- ::CIAO::RACE::Node &r_node)
+ ::CIAO::RACE::Node
+ Controller::populate_node (const ::Deployment::Node &d_node)
{
std::stringstream msg;
std::stringstream util;
+ ::CIAO::RACE::Node r_node;
// Set formatting.
util.setf (ios::fixed, ios::floatfield);
@@ -461,8 +465,8 @@ namespace CIAO
value >>= resource.set_point;
msg << "Obtained set point! Value is: "
<< resource.set_point << "\n";
- ACE_DEBUG ((LM_DEBUG, "\n%f\t",
- resource.set_point));
+// ACE_DEBUG ((LM_DEBUG, "\n%f\t",
+// resource.set_point));
}
}
@@ -480,7 +484,7 @@ namespace CIAO
//resource.util *= 4;
msg << "Obtained curr util! Value is: "
<< resource.util << "\n";
- ACE_DEBUG ((LM_DEBUG, "%f\n", resource.util));
+// ACE_DEBUG ((LM_DEBUG, "%f\n", resource.util));
}
}
@@ -503,6 +507,7 @@ namespace CIAO
msg << "Leaving populate_node ()\n";
this->logger_.log (msg.str ());
this->util_logger_.log (util.str());
+ return r_node;
}
void
@@ -610,6 +615,24 @@ namespace CIAO
this->logger_.log (msg.str());
}
+
+ void Controller::dump_domain (const CIAO::RACE::Domain &domain)
+ {
+ std::stringstream msg;
+ msg << "Domain details...\n";
+ std::vector<CIAO::RACE::Node>::const_iterator it;
+ for (it = domain.nodes.begin(); it != domain.nodes.end(); ++it)
+ {
+ msg << "Node "
+ << (*it).resources[0].UUID.c_str ()
+ << "\tUtil = "
+ << (*it).resources[0].util
+ << "\tSet-point = "
+ << (*it).resources[0].set_point
+ << "\n";
+ }
+ this->logger_.log (msg.str());
+ }
}
}
}
diff --git a/Controller/EUCON/Controller.h b/Controller/EUCON/Controller.h
index 7da6b90deb4..6277f14107f 100644
--- a/Controller/EUCON/Controller.h
+++ b/Controller/EUCON/Controller.h
@@ -53,9 +53,8 @@ namespace CIAO
virtual bool populate_domain_info
(const ::Deployment::Domain& domain);
- virtual void populate_node
- (const ::Deployment::Node &d_node,
- ::CIAO::RACE::Node &r_node);
+ virtual ::CIAO::RACE::Node populate_node
+ (const ::Deployment::Node &d_node);
virtual void dump_task (::CIAO::RACE::Task task);
@@ -65,6 +64,9 @@ namespace CIAO
virtual int node_ref (const char *node);
+ virtual void dump_domain (const CIAO::RACE::Domain &domain);
+
+
private:
diff --git a/Controller/EUCON/MPC_Controller.cpp b/Controller/EUCON/MPC_Controller.cpp
index 4bd6e304d03..edd8667cbba 100644
--- a/Controller/EUCON/MPC_Controller.cpp
+++ b/Controller/EUCON/MPC_Controller.cpp
@@ -256,11 +256,10 @@ MPC_Controller::control_period(CIAO::RACE::Domain dom, std::vector<CIAO::RACE::T
// -----------vector U(k) assignment ----------------
memcpy(m_Uptr, m_rate_chgs, m_task_num*sizeof(double));
- /*
+
std::cout << "U "<<std::endl;
for (i=0; i<m_task_num; i++)
std::cout << m_Uptr[i] << std::endl;
- */
m_U.SetData(m_Uptr,m_task_num);
//--------------- reference trajectory vector computation----------------
@@ -274,13 +273,15 @@ MPC_Controller::control_period(CIAO::RACE::Domain dom, std::vector<CIAO::RACE::T
double cpu_util = m_Xptr[j];
double cpu_util_setpoint = set_points[j];
error = cpu_util_setpoint - cpu_util;
+ std::cout << "Error in node "
+ << j << " = " << error
+ << std::endl;
m_Rptr[num++] = cpu_util_setpoint - error*ratio;
}
}
- /*
- for (i=0; i<PREDICTION_HORIZON*m_proc_num; i++)
- std::cout << m_Rptr[i] << std::endl;
- */
+
+// for (i=0; i<PREDICTION_HORIZON*m_proc_num; i++)
+// std::cout << "Error " << "i = " << m_Rptr[i] << std::endl;
m_R.SetData(m_Rptr,PREDICTION_HORIZON*m_proc_num);
//------------ below code handles the Constraint A on the formulation -----------------