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

BTL TCP async progress #1491

Merged
merged 3 commits into from
Mar 29, 2016
Merged

BTL TCP async progress #1491

merged 3 commits into from
Mar 29, 2016

Conversation

bosilca
Copy link
Member

@bosilca bosilca commented Mar 23, 2016

This patch fixed known issues with multi-threading support in the TCP BTL and add support for async progress to the same BTL (even when the multi-threading is not enabled). By default the async progress is compiled in (assuming thread support has been discovered during configure) but is disabled. Use the MCA parameter btl_tcp_progress_thread to activate this extra thread and gain async progress.

@bosilca
Copy link
Member Author

bosilca commented Mar 28, 2016

To answer the @jsquyres questions from #1406. The answer is: this patch doesn't modify the default behavior of the TCP BTL, except that it make it thread safe. However, in addition to this, the code add a second execution path that provides support for async progress for the TCP BTL. However, this support has to be enabled via an MCA parameter in order to be activated.

bosilca and others added 3 commits March 28, 2016 14:40
All BTL-only operations (basically all data movements
with the exception of the matching operation) can now
be handled for the TCP BTL by a progress thread.
Added mca parameter to turn progress thread on/off
Add a flag to check if we have btl progress thread.
Added macro for ob1 matching lock.
Update the AUTHORS file.
Per @jsquyres suggestion remove all trailing spaces.
Credit to `sed -i.bak 's/ *$//' */[ch]`.
@jsquyres jsquyres added this to the v2.0.0 milestone Mar 28, 2016
@jsquyres jsquyres merged commit 91c54d7 into open-mpi:master Mar 29, 2016
@gpaulsen
Copy link
Member

Do we need btl_tcp_progress_thread asyc progress for correctness or just for progress / throughput?

@bosilca
Copy link
Member Author

bosilca commented Mar 29, 2016

This is only needed for async progress. This construct is protected behind am MCA parameter, so in order to get async progress one must explicitly ask for it.

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

Successfully merging this pull request may close these issues.

3 participants