Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
f2a22a09
M
milvus
项目概览
milvus
/
milvus
9 个月 前同步成功
通知
260
Star
22476
Fork
2472
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
f2a22a09
编写于
8月 01, 2020
作者:
G
groot
提交者:
GitHub
8月 01, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refine code (#3089)
Signed-off-by:
N
yhmo
<
yihua.mo@zilliz.com
>
上级
36a1dea3
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
43 addition
and
31 deletion
+43
-31
core/src/cache/CpuCacheMgr.cpp
core/src/cache/CpuCacheMgr.cpp
+8
-3
core/src/cache/CpuCacheMgr.h
core/src/cache/CpuCacheMgr.h
+5
-3
core/src/cache/GpuCacheMgr.cpp
core/src/cache/GpuCacheMgr.cpp
+18
-17
core/src/cache/GpuCacheMgr.h
core/src/cache/GpuCacheMgr.h
+5
-6
core/src/db/DBImpl.cpp
core/src/db/DBImpl.cpp
+2
-2
core/unittest/db/test_db.cpp
core/unittest/db/test_db.cpp
+5
-0
未找到文件。
core/src/cache/CpuCacheMgr.cpp
浏览文件 @
f2a22a09
...
...
@@ -32,18 +32,23 @@ CpuCacheMgr::~CpuCacheMgr() {
ConfigMgr
::
GetInstance
().
Detach
(
"cache.cache_size"
,
this
);
}
CpuCacheMgr
*
CpuCacheMgr
&
CpuCacheMgr
::
GetInstance
()
{
static
CpuCacheMgr
s_mgr
;
return
&
s_mgr
;
return
s_mgr
;
}
DataObjPtr
CpuCacheMgr
::
Get
Index
(
const
std
::
string
&
key
)
{
CpuCacheMgr
::
Get
DataObj
(
const
std
::
string
&
key
)
{
DataObjPtr
obj
=
GetItem
(
key
);
return
obj
;
}
void
CpuCacheMgr
::
SetDataObj
(
const
std
::
string
&
key
,
const
milvus
::
cache
::
DataObjPtr
&
data
)
{
CacheMgr
<
DataObjPtr
>::
InsertItem
(
key
,
data
);
}
void
CpuCacheMgr
::
ConfigUpdate
(
const
std
::
string
&
name
)
{
SetCapacity
(
config
.
cache
.
cache_size
());
...
...
core/src/cache/CpuCacheMgr.h
浏览文件 @
f2a22a09
...
...
@@ -28,12 +28,14 @@ class CpuCacheMgr : public CacheMgr<DataObjPtr>, public ConfigObserver {
~
CpuCacheMgr
();
public:
// TODO(myh): use smart pointer instead
static
CpuCacheMgr
*
static
CpuCacheMgr
&
GetInstance
();
DataObjPtr
GetIndex
(
const
std
::
string
&
key
);
GetDataObj
(
const
std
::
string
&
key
);
void
SetDataObj
(
const
std
::
string
&
key
,
const
DataObjPtr
&
data
);
public:
void
...
...
core/src/cache/GpuCacheMgr.cpp
浏览文件 @
f2a22a09
...
...
@@ -40,17 +40,26 @@ GpuCacheMgr::~GpuCacheMgr() {
ConfigMgr
::
GetInstance
().
Detach
(
"gpu.cache_threshold"
,
this
);
}
GpuCacheMgrPtr
GpuCacheMgr
::
GetInstance
(
int64_t
gpu_id
)
{
if
(
instance_
.
find
(
gpu_id
)
==
instance_
.
end
())
{
std
::
lock_guard
<
std
::
mutex
>
lock
(
global_mutex_
);
if
(
instance_
.
find
(
gpu_id
)
==
instance_
.
end
())
{
instance_
[
gpu_id
]
=
std
::
make_shared
<
GpuCacheMgr
>
(
gpu_id
);
}
}
return
instance_
[
gpu_id
];
}
DataObjPtr
GpuCacheMgr
::
Get
Index
(
const
std
::
string
&
key
)
{
GpuCacheMgr
::
Get
DataObj
(
const
std
::
string
&
key
)
{
DataObjPtr
obj
=
GetItem
(
key
);
return
obj
;
}
void
GpuCacheMgr
::
InsertItem
(
const
std
::
string
&
key
,
const
milvus
::
cache
::
DataObjPtr
&
data
)
{
if
(
gpu_enable_
)
{
CacheMgr
<
DataObjPtr
>::
InsertItem
(
key
,
data
);
}
GpuCacheMgr
::
SetDataObj
(
const
std
::
string
&
key
,
const
milvus
::
cache
::
DataObjPtr
&
data
)
{
CacheMgr
<
DataObjPtr
>::
InsertItem
(
key
,
data
);
}
bool
...
...
@@ -58,20 +67,12 @@ GpuCacheMgr::Reserve(const int64_t size) {
return
CacheMgr
<
DataObjPtr
>::
Reserve
(
size
);
}
GpuCacheMgrPtr
GpuCacheMgr
::
GetInstance
(
int64_t
gpu_id
)
{
if
(
instance_
.
find
(
gpu_id
)
==
instance_
.
end
())
{
std
::
lock_guard
<
std
::
mutex
>
lock
(
global_mutex_
);
if
(
instance_
.
find
(
gpu_id
)
==
instance_
.
end
())
{
instance_
[
gpu_id
]
=
std
::
make_shared
<
GpuCacheMgr
>
(
gpu_id
);
}
}
return
instance_
[
gpu_id
];
}
void
GpuCacheMgr
::
ConfigUpdate
(
const
std
::
string
&
name
)
{
for
(
auto
&
it
:
instance_
)
it
.
second
->
SetCapacity
(
config
.
gpu
.
cache_size
());
std
::
lock_guard
<
std
::
mutex
>
lock
(
global_mutex_
);
for
(
auto
&
it
:
instance_
)
{
it
.
second
->
SetCapacity
(
config
.
gpu
.
cache_size
());
}
}
#endif
...
...
core/src/cache/GpuCacheMgr.h
浏览文件 @
f2a22a09
...
...
@@ -33,24 +33,23 @@ class GpuCacheMgr : public CacheMgr<DataObjPtr>, public ConfigObserver {
~
GpuCacheMgr
();
static
GpuCacheMgrPtr
GetInstance
(
int64_t
gpu_id
);
DataObjPtr
Get
Index
(
const
std
::
string
&
key
);
Get
DataObj
(
const
std
::
string
&
key
);
void
InsertItem
(
const
std
::
string
&
key
,
const
DataObjPtr
&
data
);
SetDataObj
(
const
std
::
string
&
key
,
const
DataObjPtr
&
data
);
bool
Reserve
(
const
int64_t
size
);
static
GpuCacheMgrPtr
GetInstance
(
int64_t
gpu_id
);
public:
void
ConfigUpdate
(
const
std
::
string
&
name
)
override
;
private:
bool
gpu_enable_
=
true
;
int64_t
gpu_id_
;
static
std
::
mutex
global_mutex_
;
static
std
::
unordered_map
<
int64_t
,
GpuCacheMgrPtr
>
instance_
;
...
...
core/src/db/DBImpl.cpp
浏览文件 @
f2a22a09
...
...
@@ -857,8 +857,8 @@ DBImpl::TimingFlushThread() {
void
DBImpl
::
StartMetricTask
()
{
server
::
Metrics
::
GetInstance
().
KeepingAliveCounterIncrement
(
BACKGROUND_METRIC_INTERVAL
);
int64_t
cache_usage
=
cache
::
CpuCacheMgr
::
GetInstance
()
->
CacheUsage
();
int64_t
cache_total
=
cache
::
CpuCacheMgr
::
GetInstance
()
->
CacheCapacity
();
int64_t
cache_usage
=
cache
::
CpuCacheMgr
::
GetInstance
()
.
CacheUsage
();
int64_t
cache_total
=
cache
::
CpuCacheMgr
::
GetInstance
()
.
CacheCapacity
();
fiu_do_on
(
"DBImpl.StartMetricTask.InvalidTotalCache"
,
cache_total
=
0
);
if
(
cache_total
>
0
)
{
...
...
core/unittest/db/test_db.cpp
浏览文件 @
f2a22a09
...
...
@@ -392,6 +392,9 @@ TEST_F(DBTest, InsertTest) {
auto
status
=
CreateCollection2
(
db_
,
collection_name
,
0
);
ASSERT_TRUE
(
status
.
ok
());
status
=
db_
->
Flush
();
ASSERT_TRUE
(
status
.
ok
());
const
uint64_t
entity_count
=
100
;
milvus
::
engine
::
DataChunkPtr
data_chunk
;
BuildEntities
(
entity_count
,
0
,
data_chunk
);
...
...
@@ -535,6 +538,7 @@ TEST_F(DBTest, IndexTest) {
milvus
::
engine
::
CollectionIndex
index_get
;
status
=
db_
->
DescribeIndex
(
collection_name
,
VECTOR_FIELD_NAME
,
index_get
);
ASSERT_TRUE
(
status
.
ok
());
ASSERT_TRUE
(
index_get
.
index_name_
.
empty
());
}
...
...
@@ -544,6 +548,7 @@ TEST_F(DBTest, IndexTest) {
milvus
::
engine
::
CollectionIndex
index_get
;
status
=
db_
->
DescribeIndex
(
collection_name
,
"field_0"
,
index_get
);
ASSERT_TRUE
(
status
.
ok
());
ASSERT_TRUE
(
index_get
.
index_name_
.
empty
());
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录