@@ -54,6 +54,29 @@ double ADOutlier::getStatisticValue(const ExecData_t &e) const{
5454 }
5555}
5656
57+ std::pair<size_t ,size_t > ADOutlier::sync_param (ParamInterface const * param)
58+ {
59+ if (!m_use_ps) {
60+ verboseStream << " m_use_ps not USED!" << std::endl;
61+ m_param->update (param->serialize ());
62+ return std::make_pair (0 , 0 );
63+ }
64+ else {
65+ Message msg;
66+ msg.set_info (m_net_client->get_client_rank (), m_net_client->get_server_rank (), MessageType::REQ_ADD, MessageKind::PARAMETERS);
67+ msg.set_msg (param->serialize (), false );
68+ size_t sent_sz = msg.size ();
69+
70+ m_net_client->send_and_receive (msg, msg);
71+ size_t recv_sz = msg.size ();
72+ m_param->assign (msg.buf ());
73+ return std::make_pair (sent_sz, recv_sz);
74+ }
75+ }
76+
77+
78+
79+
5780/* ---------------------------------------------------------------------------
5881 * Implementation of ADOutlierSSTD class
5982 * --------------------------------------------------------------------------- */
@@ -64,28 +87,6 @@ ADOutlierSSTD::ADOutlierSSTD(OutlierStatistic stat, double sigma) : ADOutlier(st
6487ADOutlierSSTD::~ADOutlierSSTD () {
6588}
6689
67- std::pair<size_t ,size_t > ADOutlierSSTD::sync_param (ParamInterface const * param)
68- {
69- SstdParam& g = *(SstdParam*)m_param; // global parameter set
70- const SstdParam & l = *(SstdParam const *)param; // local parameter set
71-
72- if (!m_use_ps) {
73- g.update (l);
74- return std::make_pair (0 , 0 );
75- }
76- else {
77- Message msg;
78- msg.set_info (m_net_client->get_client_rank (), m_net_client->get_server_rank (), MessageType::REQ_ADD, MessageKind::PARAMETERS);
79- msg.set_msg (l.serialize (), false );
80- size_t sent_sz = msg.size ();
81-
82- m_net_client->send_and_receive (msg, msg);
83- size_t recv_sz = msg.size ();
84- g.assign (msg.buf ());
85- return std::make_pair (sent_sz, recv_sz);
86- }
87- }
88-
8990Anomalies ADOutlierSSTD::run (int step) {
9091 Anomalies outliers;
9192 if (m_execDataMap == nullptr ) return outliers;
@@ -217,29 +218,6 @@ ADOutlierHBOS::~ADOutlierHBOS() {
217218 m_param->clear ();
218219}
219220
220- std::pair<size_t ,size_t > ADOutlierHBOS::sync_param (ParamInterface const * param)
221- {
222- HbosParam& g = *(HbosParam*)m_param; // global parameter set
223- const HbosParam & l = *(HbosParam const *)param; // local parameter set
224-
225- if (!m_use_ps) {
226- verboseStream << " m_use_ps not USED!" << std::endl;
227- g.update (l);
228- return std::make_pair (0 , 0 );
229- }
230- else {
231- Message msg;
232- msg.set_info (m_net_client->get_client_rank (), m_net_client->get_server_rank (), MessageType::REQ_ADD, MessageKind::PARAMETERS);
233- msg.set_msg (l.serialize (), false );
234- size_t sent_sz = msg.size ();
235-
236- m_net_client->send_and_receive (msg, msg);
237- size_t recv_sz = msg.size ();
238- g.assign (msg.buf ());
239- return std::make_pair (sent_sz, recv_sz);
240- }
241- }
242-
243221Anomalies ADOutlierHBOS::run (int step) {
244222 Anomalies outliers;
245223 if (m_execDataMap == nullptr ) return outliers;
0 commit comments