Skip to content

Conversation

hcedwar
Copy link
Collaborator

@hcedwar hcedwar commented Apr 24, 2018

No description provided.

### Terminology
An **execution agent** executes work, typically implemented by a *callable*,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should expand on this to also include a definition for thread of execution and how they relate since we use both terms in the paper. We could say something to the effect of a thread of execution is a single flow of execution within the program and an execution agent represents the steps taken within a thread of execution during the lifetime of a (task | piece of work) executing a callable.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we not refer this to the existing definitions on the Executors proposal?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0443r7.html

"An execution context is a program object that represents a specific collection of execution resources and the execution agents that exist within those resources. Execution agents are units of execution, and a 1-to-1 mapping exists between an execution agent and an invocation of a callable function object submitted via the executor."

P0443 is in flux, given P1055 and ongoing movement towards a compromise (see e.g., https://gist.github.com/ericniebler/69a3a632e1d13f7d8f16e0fbd598e42f ). Thus, it might be best simply to define these terms here, and later revise if needed to point to definitions in whatever compromise or new Executors paper shows up.

### Terminology
An **execution agent** executes work, typically implemented by a *callable*,
on an **execution resource** of a given **execution architecture**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably expand on what an execution architecture is, maybe with some examples, I assume this is the device which encapsulates a topology of resources such as a CPU, GPU, etc.

@AerialMantis
Copy link
Contributor

In #70 we discussed also introducing a term of art for the execution resource.

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

Successfully merging this pull request may close these issues.

4 participants