private ctx is more expensive? #1164
-
Hi, I was in the middle of trying to measure the performance difference for the different ctx options. From my understanding of the specification, a private ctx is one that doesn't need to handle access from many threads and and is hence no more resource intensive than a regular ctx. But from my understanding of the SOS source code, a private CTX created with |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
I think the specification does not go into specifics regarding the resource intensity of contexts. This offers some freedom to the OpenSHMEM library implementations. However, in practice, I think the intent was for So yes, I'd say private contexts are more resource intensive in SOS, and in general. When it comes to performance measurement... not many libfabric providers have great support for the relevant feature ( So yes, the intent is performance and completion isolation. |
Beta Was this translation helpful? Give feedback.
I think the specification does not go into specifics regarding the resource intensity of contexts. This offers some freedom to the OpenSHMEM library implementations. However, in practice, I think the intent was for
SHMEM_CTX_PRIVATE
to indicate that a transmit context (which often corresponds to an underlying hardware resource in multi-queue NICs) will not be accessed simultaneously by other threads. For example, this might mean the transport layer would be able to remove some costly locking around the context (as in SOS).So yes, I'd say private contexts are more resource intensive in SOS, and in general. When it comes to performance measurement... not many libfabric providers have great…