diff options
author | nshankar <nshankar@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2008-03-28 17:28:37 +0000 |
---|---|---|
committer | nshankar <nshankar@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2008-03-28 17:28:37 +0000 |
commit | 3f2bf3bcfbdcbd249b6e130bdb513dc3c7329c3f (patch) | |
tree | 285e562c921b6817832dbd08e065f01c21214142 | |
parent | 705e99e55899cb670389889140cc71fb9d5adb8b (diff) | |
download | ATCD-3f2bf3bcfbdcbd249b6e130bdb513dc3c7329c3f.tar.gz |
-rw-r--r-- | Controller/EUCON/Controller.cpp | 41 | ||||
-rw-r--r-- | Controller/EUCON/Controller.h | 8 | ||||
-rw-r--r-- | Controller/EUCON/MPC_Controller.cpp | 13 |
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 ----------------- |