Skip to content

Operation Sessions Extension #189

@jdinan

Description

@jdinan

Problem

The OpenSHMEM library sees individual operations as they occur. If the application will perform a series of operations (e.g. a loop of puts), it can be beneficial to inform the runtime.

Proposed Solution

Allow users to provide a performance hint that they will issue a set of operations. This information can be used to optimize the behavior of the OpenSHMEM runtime. For example, sessions may allow the runtime to aggregate operations or completions.

Proposed API

Straw man API:

void shmem_ctx_start_session(shmem_ctx_t ctx);
void shmem_ctx_end_session(shmem_ctx_t ctx);

The start session operation informs the OpenSHMEM library that operations will be issued on the given context. The end session operation informs the OpenSHMEM library that the last operation in the session has been issued on the given context. Ending a session does not guarantee completion or ordering, quiet/fence on the context must still be used to achieve these guarantees.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions