lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Atri Sharma (JIRA)" <>
Subject [jira] [Commented] (LUCENE-8757) Better Segment To Thread Mapping Algorithm
Date Wed, 08 May 2019 10:58:00 GMT


Atri Sharma commented on LUCENE-8757:

bq. Are the work units tackled in order for each query?  I.e. is the queue a FIFO queue? 
If so, the sorting can be useful since IndexSearcher would work first on the hardest/slowest
work units, the "long poles" for the concurrent search?

Yes, the leafslices are tackled in order in IndexSearcher i.e. threads are created for work
units in the same order in which slices() created the work units. So with a sort, what you
said will be applicable i.e. the larger work units get scheduled first.

> Better Segment To Thread Mapping Algorithm
> ------------------------------------------
>                 Key: LUCENE-8757
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Atri Sharma
>            Priority: Major
>         Attachments: LUCENE-8757.patch, LUCENE-8757.patch, LUCENE-8757.patch
> The current segments to threads allocation algorithm always allocates one thread per
segment. This is detrimental to performance in case of skew in segment sizes since small segments
also get their dedicated thread. This can lead to performance degradation due to context switching
> A better algorithm which is cognizant of size skew would have better performance for
realistic scenarios

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message