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

Report number of registrations required/supported by domain #3084

Closed
shefty opened this issue Jun 20, 2017 · 6 comments
Closed

Report number of registrations required/supported by domain #3084

shefty opened this issue Jun 20, 2017 · 6 comments

Comments

@shefty
Copy link
Member

shefty commented Jun 20, 2017

Add mr_cnt field to domain_attr, to indicate how many MRs are supported by this domain. This is a small change to the domain attribute, but would need to be fit in prior to the 1.5 release, since it updates the API.

@shefty shefty added this to the release 1.5.0 milestone Jun 20, 2017
@shefty shefty self-assigned this Jun 20, 2017
@jswaro
Copy link
Contributor

jswaro commented Jun 21, 2017

I like this idea. Is this something reported back to the application during the fi_getinfo inquiry by the application?

@shefty
Copy link
Member Author

shefty commented Jun 21, 2017 via email

@jswaro
Copy link
Contributor

jswaro commented Jun 21, 2017

Is it going to be something that is only returned from providers, or will it be a 'in' parameter as part of hints?

If it is part of the hints, I imagine providers would need to return -ENODATA if they cannot support the number of registrations requested in the hints.

@shefty
Copy link
Member Author

shefty commented Jun 21, 2017 via email

@jswaro
Copy link
Contributor

jswaro commented Jun 21, 2017

I believe it should work as an in parameter as well. Maybe the provider can optimize if it knew how many regions the app needed?

I think in some cases that might be true. I know that the GNI provider has limitations on the number of registrations depending on the memory registration mode, which could be affected by this change (really only affects what number gets reported). I think if providers use a user-space level cache, it can help to reduce memory consumption if much of the space used would be wasted without the knowledge of how many registrations an application needed.

It does pose an interesting question. I don't know that this applies to other providers, but the number of available keys is dependent on the memory model being used, and for the GNI provider, that is associated with the domain (but really tied to the [hardware]protection key/[libfabric]authorization key). Does it make sense to report the number of memory registrations that can be associated with a particular authorization key? I realize that the GNI provider may one of a few (or the only) provider(s) that tie memory registration to the hardware level protection constructs through the libfabric authorization key.

shefty added a commit to shefty/libfabric that referenced this issue Jun 26, 2017
Fixes ofiwg#3084

Allow the provider to indicate the number of memory registrations
that it can support on a domain.  This also allows the app a way
to indicate how many memory regions it may need.  Providers can
use this value to optimize caching of registrations.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
@shefty
Copy link
Member Author

shefty commented Jun 26, 2017

See PR #3105 -- all providers will need to be updated. That will be a separate set of PRs.

shefty added a commit to shefty/libfabric that referenced this issue Jun 27, 2017
Fixes ofiwg#3084

Allow the provider to indicate the number of memory registrations
that it can support on a domain.  This also allows the app a way
to indicate how many memory regions it may need.  Providers can
use this value to optimize caching of registrations.

Add missing output to fi_tostr as part of adding mr_cnt

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
dmitrygx pushed a commit to dmitrygx/libfabric that referenced this issue Jun 27, 2017
Fixes ofiwg#3084

Allow the provider to indicate the number of memory registrations
that it can support on a domain.  This also allows the app a way
to indicate how many memory regions it may need.  Providers can
use this value to optimize caching of registrations.

Add missing output to fi_tostr as part of adding mr_cnt

Change-Id: Id1f6f17ad67c89741137a72cead380101ee56dc8
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Dmitry Gladkov <dmitry.gladkov@intel.com>
shefty added a commit to shefty/libfabric that referenced this issue Jun 27, 2017
Fixes ofiwg#3084

Allow the provider to indicate the number of memory registrations
that it can support on a domain.  This also allows the app a way
to indicate how many memory regions it may need.  Providers can
use this value to optimize caching of registrations.

Add missing output to fi_tostr as part of adding mr_cnt

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Dmitry Gladkov <dmitry.gladkov@intel.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 18, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 19, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 20, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 20, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 20, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 20, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 20, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 21, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 24, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 24, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
thananon pushed a commit to thananon/libfabric that referenced this issue Jul 25, 2017
per ofiwg#3084.

Signed-off-by: Thananon Patinyasakdikul <apatinya@cisco.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants