Skip to content
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 back the condition_variable based LockedQueue for low-thread setups #491

Merged
merged 3 commits into from
Nov 15, 2024

Conversation

sfiligoi
Copy link
Contributor

On small thread count, the polling LockedQueue add substantial overhead to bowtie2,
so we revert back to using the lightweight condition_variable based solution there.
See #465 for details.

We keep the polling, lock-free version for higher thread counts, to avoid excessive contention on the lock.
See #437 for details.

@sfiligoi
Copy link
Contributor Author

@ch4rr0 I put a hardcoded cut at 16 threads, since I see CV scaling great at least to that concurrency for my purposes.

i am open to suggestions on improving the logic on when to use CV vs MC.

@sfiligoi
Copy link
Contributor Author

sfiligoi commented Oct 3, 2024

Any feedback yet?

@ch4rr0
Copy link
Collaborator

ch4rr0 commented Oct 14, 2024

I'll check it out today, Igor. I apologize for the delay.

@ch4rr0 ch4rr0 merged commit b7e97e9 into BenLangmead:master Nov 15, 2024
8 checks passed
@ch4rr0
Copy link
Collaborator

ch4rr0 commented Nov 15, 2024

Thanks for the PR Igor, and sorry for the delay.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants