-
Notifications
You must be signed in to change notification settings - Fork 83
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
Add SparseInvertedIndexNodeCC #933
Conversation
Add SparseInvertedIndexNodeCC to allow being thread safe growing index Signed-off-by: Buqian Zheng <[email protected]>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: zhengbuqian The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #933 +/- ##
=========================================
+ Coverage 0 74.26% +74.26%
=========================================
Files 0 82 +82
Lines 0 6571 +6571
=========================================
+ Hits 0 4880 +4880
- Misses 0 1691 +1691 |
|
||
Status | ||
Add(const DataSetPtr dataset, std::shared_ptr<Config> cfg) override { | ||
std::unique_lock<std::mutex> lock(mutex_); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can std::shared_mutex<>
from C++17 (https://en.cppreference.com/w/cpp/thread/shared_mutex) solve the problem of concurrent access for readers and writers in this particular use case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we want to avoid the starvation of writers. this impl guarantees that new read requests have to wait for already waiting write requests to finish.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm's, I'm assuming that you've checked that it won't deadlock
/lgtm |
Add SparseInvertedIndexNodeCC to allow being thread safe growing index Signed-off-by: Buqian Zheng <[email protected]>
Add SparseInvertedIndexNodeCC to allow being thread safe growing index Signed-off-by: Buqian Zheng <[email protected]> Signed-off-by: xianliang.li <[email protected]>
* update raft to 24.10 (#914) Signed-off-by: yusheng.ma <[email protected]> Signed-off-by: xianliang.li <[email protected]> * fix Index parameters handling and anniterator (#913) Signed-off-by: Alexandr Guzhva <[email protected]> Signed-off-by: xianliang.li <[email protected]> * add range check (#915) Signed-off-by: xianliang.li <[email protected]> * fix knowhere ut (#918) Signed-off-by: xianliang.li <[email protected]> * raft index supports cosine similarity by normalizing the input data. (#924) Signed-off-by: yusheng.ma <[email protected]> Signed-off-by: xianliang.li <[email protected]> * compensate for the missing acceleration functions in ARM NEON. (#922) Signed-off-by: yusheng.ma <[email protected]> Signed-off-by: xianliang.li <[email protected]> * improve sparse vector index mmap: to mmap almost everything (#928) Signed-off-by: Buqian Zheng <[email protected]> Signed-off-by: xianliang.li <[email protected]> * move sparse index Add to build pool (#933) Add SparseInvertedIndexNodeCC to allow being thread safe growing index Signed-off-by: Buqian Zheng <[email protected]> Signed-off-by: xianliang.li <[email protected]> * sparse mmap on disk (#935) Signed-off-by: Buqian Zheng <[email protected]> Signed-off-by: xianliang.li <[email protected]> * use MAP_PRIVATE for mmapped file (#938) Signed-off-by: Buqian Zheng <[email protected]> Signed-off-by: xianliang.li <[email protected]> * sparse RangeSearch/AnnIterator to return raw distance (#944) * sparse: make the distance returned by RangeSearch and AnnIterator to be the raw instead of the quantized distance Signed-off-by: Buqian Zheng <[email protected]> * sparse: remove mutex in the index: we now use CC index if concurrent read/write is needed Signed-off-by: Buqian Zheng <[email protected]> --------- Signed-off-by: Buqian Zheng <[email protected]> Signed-off-by: xianliang.li <[email protected]> * Add optimized distance functions for PowerPC (#894) Added the PowerPC vector functions in src/simd/distances_powerpc.cc, src/simd/distances_powerpc.h. The hooks to the PowerPC functions are added in src/simd/hook.cc. Signed-off-by: Carl Love <[email protected]> Co-authored-by: Carl Love <[email protected]> Signed-off-by: xianliang.li <[email protected]> * enhance: optimize get norms function (#950) Signed-off-by: cqy123456 <[email protected]> Signed-off-by: xianliang.li <[email protected]> --------- Signed-off-by: yusheng.ma <[email protected]> Signed-off-by: xianliang.li <[email protected]> Signed-off-by: Alexandr Guzhva <[email protected]> Signed-off-by: Buqian Zheng <[email protected]> Signed-off-by: Carl Love <[email protected]> Signed-off-by: cqy123456 <[email protected]> Co-authored-by: presburger <[email protected]> Co-authored-by: Alexander Guzhva <[email protected]> Co-authored-by: Buqian Zheng <[email protected]> Co-authored-by: carll99 <[email protected]> Co-authored-by: Carl Love <[email protected]> Co-authored-by: cqy123456 <[email protected]>
Add SparseInvertedIndexNodeCC to allow being thread safe growing index
move sparse index Add to build pool
/kind improvement