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

Refactor Dataflow LCO to work with futures #504

Closed
sithhell opened this issue Aug 23, 2012 · 6 comments
Closed

Refactor Dataflow LCO to work with futures #504

sithhell opened this issue Aug 23, 2012 · 6 comments

Comments

@sithhell
Copy link
Member

The dataflow LCO currently doesn't integrate very well with the rest of hpx futures. In order to efficiently use the dataflow LCO it needs to be rewritten in terms hpx::future. That means:

  1. Arguments are futures, not dataflow_base
  2. dataflow_base needs to completely vanish

During this refactoring #319 should be covered.

@hkaiser
Copy link
Member

hkaiser commented Jul 19, 2013

The new local::dataflow goes a first step into this direction

@hkaiser hkaiser modified the milestones: 0.9.9, 0.9.8 Mar 15, 2014
@sithhell
Copy link
Member Author

I think we can close this, once hpx::lcos::dataflow is removed. I believe the general consensus is that is superfluous and gets superseded by hpx::lcos::local::dataflow. Having two dataflow APIs is confusing.

@hkaiser
Copy link
Member

hkaiser commented Jun 12, 2014

I agree mostly. The only thing the dataflow component has which the local dataflow has not is to be able to distribute the execution flow of the dataflow itself over several localities.

@sithhell
Copy link
Member Author

That is certainly true. However, I'd argue that distributing control flow from a single master (as more or less advertised by the dataflow component) is not going to scale, as shown by experiments in the past. A scalable distribution of the data flow is however perfectly possible with the local dataflow, as demonstrated by, for example the mini ghost example.

@hkaiser
Copy link
Member

hkaiser commented Jun 12, 2014

Ok, let's remove the dataflow component. However, I'd like to re-implement the existing dataflow performance counters. That could be another ticket, though.

@hkaiser hkaiser modified the milestones: 0.9.10, 0.9.9 Sep 13, 2014
@sithhell sithhell modified the milestones: 0.9.9, 0.9.10 Sep 18, 2014
sithhell added a commit that referenced this issue Oct 22, 2014
sithhell added a commit that referenced this issue Oct 25, 2014
(cherry picked from commit 9bc7bc5)
@hkaiser hkaiser modified the milestones: 0.9.9, 0.9.10 Oct 31, 2014
@hkaiser
Copy link
Member

hkaiser commented Feb 25, 2015

The only performance counter which seems to be useful in the context of the new dataflow() function would be to count how often it was invoked. If we create this performance counter we probably want to implement similar counters for other API functions as well. For this reason I'd say, let's go ahead with removing the dataflow component now and open a separate ticket for creating performance counters exposing the number of invocations for various API functions.

sithhell added a commit that referenced this issue Feb 26, 2015
Fixed #504: Refactor Dataflow LCO to work with futures, this removes the...
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

2 participants