-
Notifications
You must be signed in to change notification settings - Fork 17
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
Add Terminology section #47
base: master
Are you sure you want to change the base?
Conversation
@@ -170,6 +170,32 @@ This feature could be easily scaled to heterogeneous and distributed systems, as | |||
|
|||
In this paper we propose an interface for querying and representing the execution resources within a system, queurying the relative affinity metric between those execution resources, and then using those execution resources to allocate memory and execute work with affinity to the underlying hardware. The interface described in this paper builds on the existing initerface for executors and execution contexts defined in the executors proposal [[22]][p0443r4]. | |||
|
|||
### Terminology | |||
|
|||
An **execution agent** executes work, typically implemented by a *callable*, |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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**. |
There was a problem hiding this comment.
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.
In #70 we discussed also introducing a term of art for the execution resource. |
No description provided.