From 3056efda01de9d89c34298ad6e7fac7c078d19cd Mon Sep 17 00:00:00 2001 From: starlord Date: Thu, 8 Aug 2019 10:37:01 +0800 Subject: [PATCH 1/2] MS-312 Set openmp thread number by config Former-commit-id: 511a0da7d85a341c0970f2e5823152b5ae2c71db --- cpp/src/server/DBWrapper.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cpp/src/server/DBWrapper.cpp b/cpp/src/server/DBWrapper.cpp index 4487a37e19..fbe630a803 100644 --- a/cpp/src/server/DBWrapper.cpp +++ b/cpp/src/server/DBWrapper.cpp @@ -66,6 +66,12 @@ DBWrapper::DBWrapper() { if(omp_thread > 0) { omp_set_num_threads(omp_thread); SERVER_LOG_DEBUG << "Specify openmp thread number: " << omp_thread; + } else { + uint32_t sys_thread_cnt = 8; + if(CommonUtil::GetSystemAvailableThreads(sys_thread_cnt)) { + omp_thread = (int32_t)ceil(sys_thread_cnt*0.5); + omp_set_num_threads(omp_thread); + } } //set archive config From 3f699e1757540314d8648e5e9a2dc5e6aa16c39c Mon Sep 17 00:00:00 2001 From: starlord Date: Thu, 8 Aug 2019 14:29:07 +0800 Subject: [PATCH 2/2] MS-328 Check metric type on server start Former-commit-id: 736c87b1731618461082b7171ffb366396a1dbd2 --- cpp/CHANGELOG.md | 1 + cpp/src/server/DBWrapper.cpp | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/cpp/CHANGELOG.md b/cpp/CHANGELOG.md index b2e11cd83c..cf73d770e2 100644 --- a/cpp/CHANGELOG.md +++ b/cpp/CHANGELOG.md @@ -44,6 +44,7 @@ Please mark all change in change log and use the ticket from JIRA. - MS-305 - Add CPU core percent metric - MS-310 - Add milvus CPU utilization ratio and CPU/GPU temperature metrics - MS-324 - Show error when there is not enough gpu memory to build index +- MS-328 - Check metric type on server start ## New Feature - MS-180 - Add new mem manager diff --git a/cpp/src/server/DBWrapper.cpp b/cpp/src/server/DBWrapper.cpp index fbe630a803..a84e9a2dd8 100644 --- a/cpp/src/server/DBWrapper.cpp +++ b/cpp/src/server/DBWrapper.cpp @@ -74,6 +74,12 @@ DBWrapper::DBWrapper() { } } + std::string metric_type = engine_config.GetValue(CONFIG_METRICTYPE, "L2"); + if(metric_type != "L2" && metric_type != "IP") { + std::cout << "ERROR! Illegal metric type: " << metric_type << ", available options: L2 or IP" << std::endl; + kill(0, SIGUSR1); + } + //set archive config engine::ArchiveConf::CriteriaT criterial; int64_t disk = db_config.GetInt64Value(CONFIG_DB_ARCHIVE_DISK, 0); @@ -101,6 +107,7 @@ DBWrapper::DBWrapper() { } } + //create db instance std::string msg = opt.meta.path; try { zilliz::milvus::engine::DB::Open(opt, &db_);