-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
labelpsi 序列化处理解决cache内存大问题 #86
Comments
常俊老师回答:meta_info_store存储一些配置信息,bundle_store存储序列化的bundle,用的时候读入,用完就可以释放了。 |
再次询问:bundle_store就类似APSI源码里的flatbuffers吗?源码是通过flatbuffers存储为二进制文件。意思是查询时整个bundle_store都要重写加载进来,还是会通过index加载对应的bundle? |
常俊老师回答:flatbuffer用作序列化,bundle_store替代apsi的vector存储 |
https://github.com/microsoft/APSI/blob/main/common/apsi/psi_params.cpp
具体参数可以参考APSI的psi_params
https://github.com/microsoft/APSI/blob/main/sender/apsi/sender_db.cpp#L79 |
如果是这样的话,8c16g 批量查询256 数据方集合100w是跑不下来的? |
具体信息可以跑一下测试,我这边观察到的内存占用是2G(label大小为32B)左右 |
binbundle的cache实现还是依赖微软的,label越大内存占用也会越大,可以结合实际项目确定label大小,选择相应的机器配置 |
收到,非常感谢。我再看看这方面能不能优化(难受,哈哈) |
您好请问labelpsi这里通过serializable进行序列化存储BinBundle,以降低整个bundle-cache占用内存大问题。然后在查询阶段是否还是要将整个serializable在反序列化为senderdb。另外,请问这三个变量(
std::shared_ptryacl::io::KVStore meta_info_store_;
std::vector<std::shared_ptryacl::io::IndexStore> bundles_store_;
std::vector<size_t> bundles_store_idx_;)
分别是存储什么信息?代码看的有点蒙[捂脸哭]
``
The text was updated successfully, but these errors were encountered: