-
Notifications
You must be signed in to change notification settings - Fork 161
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
Increasing --threads increases execution time #437
Comments
Rolling back to bowtie2-2.4.4-linux-x86_64 solved the issue for me. More recent versions failed to use the number of specified threads. On a machine with 224 CPUs, only 2 were being used using the latest version. |
Thank you @snayfach, rolling back to 2.4.4 also worked for me. Great news. |
Hello all, Thank you for your patience. My initial hunch is that this issue was introduced in 2.5.0 with the changes async changes that we made to input reading an writing. @bede, since you are able to reproduce this issue would you be willing to test v2.4.5 and v2.5.0? |
Thanks @ch4rr0, I tested v2.4.5 and v2.5.0 as you suggested on a 32 core machine specifying 32 threads. 2.4.5 consistently used ~3200% CPU (reported by top) as expected. However 2.5.0 was erratic, jumping between 400% and 3200%. I haven't compared 2.5.0 and 2.5.1, but it is clear to me that this issue began with 2.5.0. |
@bede, I pushed a change-set to the |
@snayfach -- would you be willing to test since I have not heard back from bede yet? |
Sorry for delay @ch4rr0, I just got time to test I'm afraid the same behaviour remains with the
|
I have been able to recreate this issue and indeed my latest push does not resolve it. I have found the cause and I am currently working on a solution. In the meantime increasing the Thank you all for your patience. |
I committed a few changes to bug_fixes that, in my testing, seem to resolve the issue. Would you be willing to test these changes? |
I'm reasonably satisfied that this issue has been fixed in 2.5.2, thanks! 🙏 |
Just a note on "CPUs busy" vs "faster time to completion". That said, it is obvious from the original submission that "time to completion" was going in the wrong direction at large thread count, too, so not saying it was not problematic. |
@bede Could you post a comparison "time to completion" of the original use case above for 2.5.2, too? Also, would you be able to also post the results when you pin bowtie2 to only use a fixed number of cores (e.g., using |
Hi @sfiligoi, I do not have these results, but am curious also. I'll need to repeat using both versions. |
Firstly, thank you for developing and maintaining Bowtie2! I noticed that 2.5.1 performs strangely when varying the
--threads
parameter. Beyond a certain number of threads, execution time increases considerably and CPU utilisation decreases. I've observed this with multiple read datasets using both an x86_64 Ubuntu VM and my arm64 MacOS machine, both using the appropriate GitHub release binaries. The behaviour is reproducible on any one machine, although a given read dataset will not necessarily trigger the problem on both my laptop and the VM.Here I used ~20m paired mixed bacterial and human reads with an index built from the human T2T reference + HLA sequences.
VM info
Ubuntu 22.04 LTS
The text was updated successfully, but these errors were encountered: