Skip to content
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

More executor changes #1544

Closed
15 of 16 tasks
hkaiser opened this issue May 23, 2015 · 12 comments
Closed
15 of 16 tasks

More executor changes #1544

hkaiser opened this issue May 23, 2015 · 12 comments

Comments

@hkaiser
Copy link
Member

hkaiser commented May 23, 2015

After merging the first batch of changes related to executors (see #1510), there is a list of things to implement to finalize their design and integration with the rest of the code base:

@sithhell
Copy link
Member

create a NUMA aware executor (run tasks on this NUMA domain)

This will be a tough one, not only do we want to confine tasks to run on
this NUMA domain only, we also want to be able to partition a set of
tasks over different NUMA domains. This needs to be closely coordinated
with the GSoC project. I think proper resource sharing of the available
hardware resources is a mandatory pre condition to that.

integrate executors with hpx::vector and hpx::unordered_map to enable seamless SPMD style of execution integrate executors with distribution policies (e.g. run tasks on this locality, etc.)

Another important aspect is to associate actions with executors.

@hkaiser
Copy link
Member Author

hkaiser commented May 23, 2015

Another important aspect is to associate actions with executors.

That's what I meant when I wrote 'integrate executors with distribution policies'

@sithhell
Copy link
Member

Another important aspect is to associate actions with executors.

That's what I meant when I wrote ' integrate executors with distribution policies'

Distribution policies would take care of this at the caller site indeed. A challenge will be heterogeneous systems.
What I had in mind was choosing a executor at the callee site (for example a component could decide where the action is run, aligned with the policy engine for example).

@hkaiser
Copy link
Member Author

hkaiser commented May 23, 2015

What I had in mind was choosing a executor at the callee site (for example a component could decide where the action is run, aligned with the policy engine for example).

Sure, but this is not what the executor_traits are meant to be used for. They are used for selecting the proper agent at the call site.

@sithhell
Copy link
Member

What I had in mind was choosing a executor at the callee site (for example a component could decide where the action is run, aligned with the policy engine for example).

Sure, but this is not what the executor_traits are meant to be used for. They are used for selecting the proper agent at the call site.

One could think of a component as an executor. They already have a
schedule_thread function after all. Using executor_traits for that as
well makes sense to me.

@hkaiser
Copy link
Member Author

hkaiser commented May 25, 2015

One could think of a component as an executor. They already have a schedule_thread function after all. Using executor_traits for that as well makes sense to me.

You will have to elaborate (help). Even after thinking about it some more I was not able to make the concepts fit.

@hkaiser
Copy link
Member Author

hkaiser commented Apr 17, 2016

@heller I realized that we have an example demonstrating how to bind the execution of all actions of a particular component to a specified executor: https://github.com/STEllAR-GROUP/hpx/blob/master/examples/quickstart/component_with_executor.cpp

Would this be what you were looking for?

@hkaiser
Copy link
Member Author

hkaiser commented May 1, 2016

@sithhell see above, pls

@sithhell
Copy link
Member

sithhell commented May 2, 2016 via email

@sithhell sithhell modified the milestones: 1.0.0, 0.9.12 Jun 23, 2016
@sithhell
Copy link
Member

Moving this to 1.0.0.

@hkaiser hkaiser modified the milestones: 1.0.0, 1.1.0 Apr 23, 2017
@msimberg msimberg removed this from the 1.1.0 milestone Mar 22, 2018
@stale
Copy link

stale bot commented Jul 4, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the tag: wontfix label Jul 4, 2019
@stale
Copy link

stale bot commented Aug 3, 2019

This issue has been automatically closed. Please re-open if necessary.

@stale stale bot closed this as completed Aug 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants