Skip to content

Commit c280d58

Browse files
committed
Continued progress towards provenance post-pruning:
ProvDBclient now allows access to sonata::Database object Added provDB utility for batch-wise updating entries in a collection with specified indices with a functional applied to each entry for generality ProvDBpruneOutlierInterface now also updates the remaining entries with the new model/score Added a core abstract base class ProvDBpruneCore for pruning with functionality implemented in modules, plus its corresponding factory Removed ProvDBpruneOutliers function from the performance_analysis module, this functionality is now provided by ProvDBpruneCore Added a partial implementation of ProvDBpruneCore this module, which currently just acts on the anomalies as above Added a pserver client for accessing the main database with a specified shard index
1 parent 9f69d16 commit c280d58

16 files changed

Lines changed: 264 additions & 34 deletions

File tree

include/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
nobase_include_HEADERS = chimbuko/modules/performance_analysis/chimbuko.hpp chimbuko/modules/performance_analysis/ad/FuncAnomalyMetrics.hpp chimbuko/modules/performance_analysis/ad/ADLocalAnomalyMetrics.hpp chimbuko/modules/performance_analysis/ad/FuncStats.hpp chimbuko/modules/performance_analysis/ad/ADAnomalyProvenance.hpp chimbuko/modules/performance_analysis/ad/ADParser.hpp chimbuko/modules/performance_analysis/ad/ADMonitoring.hpp chimbuko/modules/performance_analysis/ad/ADNormalEventProvenance.hpp chimbuko/modules/performance_analysis/ad/ADLocalFuncStatistics.hpp chimbuko/modules/performance_analysis/ad/ADMetadataParser.hpp chimbuko/modules/performance_analysis/ad/AnomalyData.hpp chimbuko/modules/performance_analysis/ad/ADDefine.hpp chimbuko/modules/performance_analysis/ad/ADglobalFunctionIndexMap.hpp chimbuko/modules/performance_analysis/ad/ADExecDataInterface.hpp chimbuko/modules/performance_analysis/ad/ADcombinedPSdata.hpp chimbuko/modules/performance_analysis/ad/ADEvent.hpp chimbuko/modules/performance_analysis/ad/ADCounter.hpp chimbuko/modules/performance_analysis/ad/ADLocalCounterStatistics.hpp chimbuko/modules/performance_analysis/ad/ExecData.hpp chimbuko/modules/performance_analysis/provdb/ProvDBpruneOutlierInterface.hpp chimbuko/modules/performance_analysis/provdb/ProvDBmoduleSetup.hpp chimbuko/modules/performance_analysis/module.hpp chimbuko/modules/performance_analysis/pserver/PSmoduleDataManager.hpp chimbuko/modules/performance_analysis/pserver/GlobalAnomalyStats.hpp chimbuko/modules/performance_analysis/pserver/AggregateFuncAnomalyMetrics.hpp chimbuko/modules/performance_analysis/pserver/PSglobalFunctionIndexMap.hpp chimbuko/modules/performance_analysis/pserver/AggregateFuncStats.hpp chimbuko/modules/performance_analysis/pserver/AggregateAnomalyData.hpp chimbuko/modules/performance_analysis/pserver/NetPayloadRecvCombinedADdata.hpp chimbuko/modules/performance_analysis/pserver/PScommon.hpp chimbuko/modules/performance_analysis/pserver/FunctionProfile.hpp chimbuko/modules/performance_analysis/pserver/GlobalAnomalyMetrics.hpp chimbuko/modules/performance_analysis/pserver/AggregateFuncAnomalyMetricsAllRanks.hpp chimbuko/modules/performance_analysis/pserver/GlobalCounterStats.hpp chimbuko/modules/performance_analysis/AD.hpp chimbuko/modules/performance_analysis/pserver.hpp chimbuko/modules/factory.hpp chimbuko/core/chimbuko.hpp chimbuko/core/ad/ADOutlier.hpp chimbuko/core/ad/ADNetClient.hpp chimbuko/core/ad/ADDataInterface.hpp chimbuko/core/ad/ADProvenanceDBclient.hpp chimbuko/core/ad/ADcmdLineArgs.hpp chimbuko/core/ad/utils.hpp chimbuko/core/ad/ADio.hpp chimbuko/core/provdb/ProvDBclient.hpp chimbuko/core/provdb/ProvDBmoduleSetupCore.hpp chimbuko/core/provdb/ProvDBengine.hpp chimbuko/core/provdb/setup.hpp chimbuko/core/verbose.hpp chimbuko/core/pserver/PSglobalProvenanceDBclient.hpp chimbuko/core/pserver/PSmoduleDataManagerCore.hpp chimbuko/core/pserver/PSparamManager.hpp chimbuko/core/pserver/PSstatSender.hpp chimbuko/core/param/sstd_param.hpp chimbuko/core/param/copod_param.hpp chimbuko/core/param/hbos_param.hpp chimbuko/core/message.hpp chimbuko/core/net.hpp chimbuko/core/pserver.hpp chimbuko/core/provdb.hpp chimbuko/core/param.hpp chimbuko/core/net/zmqme_net.hpp chimbuko/core/net/mpi_net.hpp chimbuko/core/net/zmq_net.hpp chimbuko/core/net/local_net.hpp chimbuko/core/util/chunkAllocator.hpp chimbuko/core/util/RunStats.hpp chimbuko/core/util/ADIOS2parseUtils.hpp chimbuko/core/util/json.hpp chimbuko/core/util/environment.hpp chimbuko/core/util/pointerRegistry.hpp chimbuko/core/util/time.hpp chimbuko/core/util/map.hpp chimbuko/core/util/error.hpp chimbuko/core/util/string.hpp chimbuko/core/util/DispatchQueue.hpp chimbuko/core/util/PerfStats.hpp chimbuko/core/util/curlJsonSender.hpp chimbuko/core/util/RunMetric.hpp chimbuko/core/util/memutils.hpp chimbuko/core/util/Histogram.hpp chimbuko/core/util/barrier.hpp chimbuko/core/util/threadPool.hpp chimbuko/core/util/hash.hpp chimbuko/core/util/mtQueue.hpp chimbuko/core/util/serialize.hpp chimbuko/core/util/commandLineParser.hpp
1+
nobase_include_HEADERS = chimbuko/modules/performance_analysis/chimbuko.hpp chimbuko/modules/performance_analysis/ad/FuncAnomalyMetrics.hpp chimbuko/modules/performance_analysis/ad/ADLocalAnomalyMetrics.hpp chimbuko/modules/performance_analysis/ad/FuncStats.hpp chimbuko/modules/performance_analysis/ad/ADAnomalyProvenance.hpp chimbuko/modules/performance_analysis/ad/ADParser.hpp chimbuko/modules/performance_analysis/ad/ADMonitoring.hpp chimbuko/modules/performance_analysis/ad/ADNormalEventProvenance.hpp chimbuko/modules/performance_analysis/ad/ADLocalFuncStatistics.hpp chimbuko/modules/performance_analysis/ad/ADMetadataParser.hpp chimbuko/modules/performance_analysis/ad/AnomalyData.hpp chimbuko/modules/performance_analysis/ad/ADDefine.hpp chimbuko/modules/performance_analysis/ad/ADglobalFunctionIndexMap.hpp chimbuko/modules/performance_analysis/ad/ADExecDataInterface.hpp chimbuko/modules/performance_analysis/ad/ADcombinedPSdata.hpp chimbuko/modules/performance_analysis/ad/ADEvent.hpp chimbuko/modules/performance_analysis/ad/ADCounter.hpp chimbuko/modules/performance_analysis/ad/ADLocalCounterStatistics.hpp chimbuko/modules/performance_analysis/ad/ExecData.hpp chimbuko/modules/performance_analysis/provdb/ProvDBpruneOutlierInterface.hpp chimbuko/modules/performance_analysis/provdb/ProvDBmoduleSetup.hpp chimbuko/modules/performance_analysis/provdb/ProvDBprune.hpp chimbuko/modules/performance_analysis/module.hpp chimbuko/modules/performance_analysis/pserver/PSmoduleDataManager.hpp chimbuko/modules/performance_analysis/pserver/GlobalAnomalyStats.hpp chimbuko/modules/performance_analysis/pserver/AggregateFuncAnomalyMetrics.hpp chimbuko/modules/performance_analysis/pserver/PSglobalFunctionIndexMap.hpp chimbuko/modules/performance_analysis/pserver/AggregateFuncStats.hpp chimbuko/modules/performance_analysis/pserver/AggregateAnomalyData.hpp chimbuko/modules/performance_analysis/pserver/NetPayloadRecvCombinedADdata.hpp chimbuko/modules/performance_analysis/pserver/PScommon.hpp chimbuko/modules/performance_analysis/pserver/FunctionProfile.hpp chimbuko/modules/performance_analysis/pserver/GlobalAnomalyMetrics.hpp chimbuko/modules/performance_analysis/pserver/AggregateFuncAnomalyMetricsAllRanks.hpp chimbuko/modules/performance_analysis/pserver/GlobalCounterStats.hpp chimbuko/modules/performance_analysis/AD.hpp chimbuko/modules/performance_analysis/pserver.hpp chimbuko/modules/factory.hpp chimbuko/core/chimbuko.hpp chimbuko/core/ad/ADOutlier.hpp chimbuko/core/ad/ADNetClient.hpp chimbuko/core/ad/ADDataInterface.hpp chimbuko/core/ad/ADProvenanceDBclient.hpp chimbuko/core/ad/ADcmdLineArgs.hpp chimbuko/core/ad/utils.hpp chimbuko/core/ad/ADio.hpp chimbuko/core/provdb/ProvDBclient.hpp chimbuko/core/provdb/ProvDBpruneCore.hpp chimbuko/core/provdb/ProvDBmoduleSetupCore.hpp chimbuko/core/provdb/ProvDButils.hpp chimbuko/core/provdb/ProvDBengine.hpp chimbuko/core/provdb/setup.hpp chimbuko/core/verbose.hpp chimbuko/core/pserver/PSglobalProvenanceDBclient.hpp chimbuko/core/pserver/PSshardProvenanceDBclient.hpp chimbuko/core/pserver/PSmoduleDataManagerCore.hpp chimbuko/core/pserver/PSparamManager.hpp chimbuko/core/pserver/PSstatSender.hpp chimbuko/core/param/sstd_param.hpp chimbuko/core/param/copod_param.hpp chimbuko/core/param/hbos_param.hpp chimbuko/core/message.hpp chimbuko/core/net.hpp chimbuko/core/pserver.hpp chimbuko/core/provdb.hpp chimbuko/core/param.hpp chimbuko/core/net/zmqme_net.hpp chimbuko/core/net/mpi_net.hpp chimbuko/core/net/zmq_net.hpp chimbuko/core/net/local_net.hpp chimbuko/core/util/chunkAllocator.hpp chimbuko/core/util/RunStats.hpp chimbuko/core/util/ADIOS2parseUtils.hpp chimbuko/core/util/json.hpp chimbuko/core/util/environment.hpp chimbuko/core/util/pointerRegistry.hpp chimbuko/core/util/time.hpp chimbuko/core/util/map.hpp chimbuko/core/util/error.hpp chimbuko/core/util/string.hpp chimbuko/core/util/DispatchQueue.hpp chimbuko/core/util/PerfStats.hpp chimbuko/core/util/curlJsonSender.hpp chimbuko/core/util/RunMetric.hpp chimbuko/core/util/memutils.hpp chimbuko/core/util/Histogram.hpp chimbuko/core/util/barrier.hpp chimbuko/core/util/threadPool.hpp chimbuko/core/util/hash.hpp chimbuko/core/util/mtQueue.hpp chimbuko/core/util/serialize.hpp chimbuko/core/util/commandLineParser.hpp

include/chimbuko/core/provdb/ProvDBclient.hpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,12 @@ namespace chimbuko{
149149
*/
150150
sonata::Collection & getCollection(const std::string &name);
151151
const sonata::Collection & getCollection(const std::string &name) const;
152+
153+
/**
154+
* @brief Get the Sonata database object
155+
*/
156+
sonata::Database & getDatabase(){ return m_database; }
157+
const sonata::Database & getDatabase() const{ return m_database; }
152158

153159
/**
154160
* @brief Send data JSON objects synchronously to the database (blocking)
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#pragma once
2+
3+
#include <chimbuko_config.h>
4+
#include <chimbuko/core/ad/ADOutlier.hpp>
5+
6+
#include <string>
7+
#include <sonata/Database.hpp>
8+
9+
namespace chimbuko {
10+
11+
class ProvDBpruneCore{
12+
public:
13+
void prune(const std::string &algorithm, const ADOutlier::AlgoParams &algo_params, const std::string &params_ser, sonata::Database &db);
14+
15+
/**
16+
* @brief Module implementation of pruning given the database shard. This same instance of ProvDBpruneCore will be called in turn for all shards
17+
* hence internally stored information can be aggregated
18+
*/
19+
virtual void pruneImplementation(ADOutlier &ad, sonata::Database &db) = 0;
20+
21+
/**
22+
* @brief Optionally perform a finalization which may include updating the information in the global database
23+
*/
24+
virtual void finalize(sonata::Database &global_db){}
25+
26+
};
27+
28+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#pragma once
2+
#include <chimbuko_config.h>
3+
#include<string>
4+
#include<functional>
5+
#include <sonata/Database.hpp>
6+
#include <sonata/Collection.hpp>
7+
8+
namespace chimbuko{
9+
10+
11+
/**
12+
* @brief Batch-wise update the records in the collection of the given record indices by applying the operation 'op' to each in turn. 'op' is a functional
13+
* that takes a reference to the record and the record index in range 0 .. ids.size()-1 (not the record id!)
14+
*/
15+
void batchAmendRecords(sonata::Collection &collection, const std::vector<uint64_t> &ids, std::function<void (nlohmann::json&, size_t)> op, size_t batch_size = 500);
16+
17+
18+
};
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#pragma once
2+
#include<chimbuko_config.h>
3+
4+
#ifdef ENABLE_PROVDB
5+
6+
#include <chimbuko/core/provdb/ProvDBclient.hpp>
7+
#include <chimbuko/core/provdb/setup.hpp>
8+
9+
namespace chimbuko{
10+
11+
/**
12+
* @brief A class for connecting the pserver to the sharded main database. No handshake is used because it is assumed these clients are used prior to the pserver global database client being disconnected
13+
*/
14+
class PSshardProvenanceDBclient: public ProvDBclient{
15+
public:
16+
PSshardProvenanceDBclient(const std::vector<std::string> &collections): ProvDBclient(collections,"pserver_shard"){}
17+
18+
~PSshardProvenanceDBclient();
19+
20+
/**
21+
* @brief Connect the client the appropriate provenance database server instance / shard using the default setup
22+
* @param addr_file_dir The directory containing the address files created by the provDB
23+
*/
24+
void connectShard(const std::string &addr_file_dir, int shard, int nshards, int ninstances);
25+
};
26+
27+
}
28+
29+
#endif
30+

include/chimbuko/modules/factory.hpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include<chimbuko_config.h>
33
#include<chimbuko/core/chimbuko.hpp>
44
#include<chimbuko/core/provdb/ProvDBmoduleSetupCore.hpp>
5+
#include<chimbuko/core/provdb/ProvDBpruneCore.hpp>
56
#include<chimbuko/core/pserver/PSmoduleDataManagerCore.hpp>
67

78
namespace chimbuko{
@@ -16,6 +17,11 @@ namespace chimbuko{
1617
*/
1718
std::unique_ptr<ProvDBmoduleSetupCore> factoryInstantiateProvDBmoduleSetup(const std::string &module);
1819

20+
/**
21+
*@brief A factory function for ProvDBpruneCore instances
22+
*/
23+
std::unique_ptr<ProvDBpruneCore> factoryInstantiateProvDBprune(const std::string &module);
24+
1925
/**
2026
*@brief A factory function for PSmoduleDataManager instances
2127
*@param net_nworker The number of worker threads used by the NetInterface
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#pragma once
2+
3+
#include <chimbuko_config.h>
4+
#include <chimbuko/core/provdb/ProvDBpruneCore.hpp>
5+
6+
namespace chimbuko {
7+
namespace modules{
8+
namespace performance_analysis{
9+
10+
class ProvDBprune: public ProvDBpruneCore{
11+
public:
12+
/**
13+
* @brief Prune the database shard. Both the anomalies and normalexecs will be updated
14+
*/
15+
void pruneImplementation(ADOutlier &ad, sonata::Database &db) override;
16+
17+
/**
18+
* @brief Update the global database with the new statistics information, overriding the old
19+
*/
20+
void finalize(sonata::Database &global_db) override;
21+
22+
};
23+
24+
}
25+
}
26+
}

include/chimbuko/modules/performance_analysis/provdb/ProvDBpruneOutlierInterface.hpp

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace chimbuko {
1515
*/
1616
class ProvDBpruneOutlierInterface: public ADDataInterface{
1717
public:
18-
ProvDBpruneOutlierInterface(sonata::Database &db);
18+
ProvDBpruneOutlierInterface(const ADOutlier &ad, sonata::Database &db);
1919

2020
/**
2121
* @brief Get the values associated with each recorded anomaly
@@ -38,14 +38,8 @@ namespace chimbuko {
3838
sonata::Database &m_database;
3939
std::unique_ptr<sonata::Collection> m_collection;
4040
std::unordered_map<unsigned long, std::vector<std::pair<uint64_t, double> > > m_data; //[fid] -> [ (record_id, value), ... ]
41-
};
42-
43-
44-
/**
45-
* @brief Instantiate the AD algorithm with the provided parameters and use it to prune entries from the database that are no longer outliers
46-
*/
47-
void ProvDBpruneOutliers(const std::string &algorithm, const ADOutlier::AlgoParams &algo_params, const std::string &params_ser, sonata::Database &db);
48-
41+
const ADOutlier &m_ad; //the outlier algorithm to allow access to the model data when updating records
42+
};
4943

5044
}
5145
}

src/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/3rdparty @PS_FLAGS@
22
lib_LTLIBRARIES = libchimbuko.la
3-
libchimbuko_la_SOURCES = modules/performance_analysis/ad/ADMetadataParser.cpp modules/performance_analysis/ad/ADLocalCounterStatistics.cpp modules/performance_analysis/ad/ADMonitoring.cpp modules/performance_analysis/ad/ADEvent.cpp modules/performance_analysis/ad/ADglobalFunctionIndexMap.cpp modules/performance_analysis/ad/ADExecDataInterface.cpp modules/performance_analysis/ad/AnomalyData.cpp modules/performance_analysis/ad/ADParser.cpp modules/performance_analysis/ad/ADNormalEventProvenance.cpp modules/performance_analysis/ad/ExecData.cpp modules/performance_analysis/ad/ADCounter.cpp modules/performance_analysis/ad/ADLocalFuncStatistics.cpp modules/performance_analysis/ad/ADLocalAnomalyMetrics.cpp modules/performance_analysis/ad/ADAnomalyProvenance.cpp modules/performance_analysis/ad/ADcombinedPSdata.cpp modules/performance_analysis/ad/FuncStats.cpp modules/performance_analysis/ad/FuncAnomalyMetrics.cpp modules/performance_analysis/provdb/ProvDBmoduleSetup.cpp modules/performance_analysis/provdb/ProvDBpruneOutlierInterface.cpp modules/performance_analysis/pserver/FunctionProfile.cpp modules/performance_analysis/pserver/GlobalCounterStats.cpp modules/performance_analysis/pserver/GlobalAnomalyStats.cpp modules/performance_analysis/pserver/GlobalAnomalyMetrics.cpp modules/performance_analysis/pserver/AggregateFuncAnomalyMetricsAllRanks.cpp modules/performance_analysis/pserver/PScommon.cpp modules/performance_analysis/pserver/NetPayloadRecvCombinedADdata.cpp modules/performance_analysis/pserver/PSglobalFunctionIndexMap.cpp modules/performance_analysis/pserver/PSmoduleDataManager.cpp modules/performance_analysis/pserver/AggregateFuncAnomalyMetrics.cpp modules/performance_analysis/pserver/AggregateAnomalyData.cpp modules/performance_analysis/pserver/AggregateFuncStats.cpp modules/performance_analysis/chimbuko.cpp modules/factory.cpp core/net.cpp core/ad/ADProvenanceDBclient.cpp core/ad/utils.cpp core/ad/ADNetClient.cpp core/ad/ADOutlier.cpp core/ad/ADDataInterface.cpp core/ad/ADcmdLineArgs.cpp core/ad/ADio.cpp core/provdb/ProvDBclient.cpp core/provdb/ProvDBengine.cpp core/pserver/PSglobalProvenanceDBclient.cpp core/pserver/PSstatSender.cpp core/pserver/PSparamManager.cpp core/param/sstd_param.cpp core/param/hbos_param.cpp core/param/copod_param.cpp core/message.cpp core/chimbuko.cpp core/param.cpp core/net/zmq_net.cpp core/net/local_net.cpp core/net/zmqme_net.cpp core/net/mpi_net.cpp core/util/time.cpp core/util/string.cpp core/util/memutils.cpp core/util/RunStats.cpp core/util/environment.cpp core/util/DispatchQueue.cpp core/util/ADIOS2parseUtils.cpp core/util/json.cpp core/util/curlJsonSender.cpp core/util/PerfStats.cpp core/util/map.cpp core/util/error.cpp core/util/Histogram.cpp
3+
libchimbuko_la_SOURCES = modules/performance_analysis/ad/ADMetadataParser.cpp modules/performance_analysis/ad/ADLocalCounterStatistics.cpp modules/performance_analysis/ad/ADMonitoring.cpp modules/performance_analysis/ad/ADEvent.cpp modules/performance_analysis/ad/ADglobalFunctionIndexMap.cpp modules/performance_analysis/ad/ADExecDataInterface.cpp modules/performance_analysis/ad/AnomalyData.cpp modules/performance_analysis/ad/ADParser.cpp modules/performance_analysis/ad/ADNormalEventProvenance.cpp modules/performance_analysis/ad/ExecData.cpp modules/performance_analysis/ad/ADCounter.cpp modules/performance_analysis/ad/ADLocalFuncStatistics.cpp modules/performance_analysis/ad/ADLocalAnomalyMetrics.cpp modules/performance_analysis/ad/ADAnomalyProvenance.cpp modules/performance_analysis/ad/ADcombinedPSdata.cpp modules/performance_analysis/ad/FuncStats.cpp modules/performance_analysis/ad/FuncAnomalyMetrics.cpp modules/performance_analysis/provdb/ProvDBprune.cpp modules/performance_analysis/provdb/ProvDBmoduleSetup.cpp modules/performance_analysis/provdb/ProvDBpruneOutlierInterface.cpp modules/performance_analysis/pserver/FunctionProfile.cpp modules/performance_analysis/pserver/GlobalCounterStats.cpp modules/performance_analysis/pserver/GlobalAnomalyStats.cpp modules/performance_analysis/pserver/GlobalAnomalyMetrics.cpp modules/performance_analysis/pserver/AggregateFuncAnomalyMetricsAllRanks.cpp modules/performance_analysis/pserver/PScommon.cpp modules/performance_analysis/pserver/NetPayloadRecvCombinedADdata.cpp modules/performance_analysis/pserver/PSglobalFunctionIndexMap.cpp modules/performance_analysis/pserver/PSmoduleDataManager.cpp modules/performance_analysis/pserver/AggregateFuncAnomalyMetrics.cpp modules/performance_analysis/pserver/AggregateAnomalyData.cpp modules/performance_analysis/pserver/AggregateFuncStats.cpp modules/performance_analysis/chimbuko.cpp modules/factory.cpp core/net.cpp core/ad/ADProvenanceDBclient.cpp core/ad/utils.cpp core/ad/ADNetClient.cpp core/ad/ADOutlier.cpp core/ad/ADDataInterface.cpp core/ad/ADcmdLineArgs.cpp core/ad/ADio.cpp core/provdb/ProvDBclient.cpp core/provdb/ProvDButils.cpp core/provdb/ProvDBengine.cpp core/provdb/ProvDBpruneCore.cpp core/pserver/PSglobalProvenanceDBclient.cpp core/pserver/PSstatSender.cpp core/pserver/PSparamManager.cpp core/pserver/PSshardProvenanceDBclient.cpp core/param/sstd_param.cpp core/param/hbos_param.cpp core/param/copod_param.cpp core/message.cpp core/chimbuko.cpp core/param.cpp core/net/zmq_net.cpp core/net/local_net.cpp core/net/zmqme_net.cpp core/net/mpi_net.cpp core/util/time.cpp core/util/string.cpp core/util/memutils.cpp core/util/RunStats.cpp core/util/environment.cpp core/util/DispatchQueue.cpp core/util/ADIOS2parseUtils.cpp core/util/json.cpp core/util/curlJsonSender.cpp core/util/PerfStats.cpp core/util/map.cpp core/util/error.cpp core/util/Histogram.cpp
44
libchimbuko_la_LDFLAGS = -version-info 3:0:0
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#include<chimbuko/core/provdb/ProvDBpruneCore.hpp>
2+
#include<chimbuko/core/verbose.hpp>
3+
#include<chimbuko/core/util/error.hpp>
4+
5+
using namespace chimbuko;
6+
7+
void ProvDBpruneCore::prune(const std::string &algorithm, const ADOutlier::AlgoParams &algo_params, const std::string &params_ser, sonata::Database &db){
8+
std::unique_ptr<ADOutlier> ad(ADOutlier::set_algorithm(0,algorithm,algo_params));
9+
ad->setGlobalParameters(params_ser); //input model
10+
ad->setGlobalModelSyncFrequency(0); //fix model
11+
12+
this->pruneImplementation(*ad, db);
13+
}

0 commit comments

Comments
 (0)