You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current AnnIterator function utilizes the search pool for concurrency control only when initializing the Iterator. Once the returned iterator is handed over to the upper layer, the ->next() calls are not subjected to any thread restrictions, which may lead to issues such as OMP conflicts.
To address this, we propose the following considerations:
All iterators will accept a use_knowhere_search_pool parameter during construction.
When set to True (the default), the iterator->next() will be scheduled by the knowhere_search_thread_pool.
When set to False, iterator->next() will not involve thread scheduling internally, so please take caution.
The initialization of iterator in the AnnIterator function will no longer be concurrent, which helps to avoid potential deadlocks.
Furthermore, to enhance performance for large_nq, we will try to streamline the initialization process for all iterators by deferring heavier pre-computation tasks to the first call of ->next().
The text was updated successfully, but these errors were encountered:
The current
AnnIterator
function utilizes the search pool for concurrency control only when initializing theIterator
. Once the returned iterator is handed over to the upper layer, the->next()
calls are not subjected to any thread restrictions, which may lead to issues such as OMP conflicts.To address this, we propose the following considerations:
use_knowhere_search_pool
parameter during construction.True
(the default), theiterator->next()
will be scheduled by theknowhere_search_thread_pool
.False
,iterator->next()
will not involve thread scheduling internally, so please take caution.iterator
in theAnnIterator
function will no longer be concurrent, which helps to avoid potential deadlocks.->next()
.The text was updated successfully, but these errors were encountered: