ACCL icon indicating copy to clipboard operation
ACCL copied to clipboard

Separate tag and stream ID in API calls

Open Mellich opened this issue 3 years ago • 0 comments

Currently, we only have a single parameter to specify the source/destination tag of a message and the source/destination stream_id. This means, that tag and stream_id have to match for every call.

However, the stream_id may also be used in applications to identify different user kernels. Forcing a mapping to a tag artificially reduces the number of valid tags for a message. Also, the tag range is larger than the stream_id range, which may lead to undefined behaviour in some cases.

Possible solutions could be:

  • Use the stream_id that is sent by the user kernel with the data and forward it to the remote.
  • Allow to specify a separate stream_id in recv and stream_put calls to allow the specification of the destination user kernel if the data is coming from a buffer.

Mellich avatar Oct 18 '22 09:10 Mellich