Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] Questions about StarPU worker recongnization

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] Questions about StarPU worker recongnization


Chronologique Discussions 
  • From: Samuel Thibault <samuel.thibault@inria.fr>
  • To: Fangli Pi <hpcfapix@hlrs.de>
  • Cc: starpu-devel@lists.gforge.inria.fr
  • Subject: Re: [Starpu-devel] Questions about StarPU worker recongnization
  • Date: Tue, 5 Jan 2016 18:38:19 +0100
  • List-archive: <http://lists.gforge.inria.fr/pipermail/starpu-devel/>
  • List-id: "Developers list. For discussion of new features, code changes, etc." <starpu-devel.lists.gforge.inria.fr>

Hello,

Fangli Pi, on Fri 18 Dec 2015 16:19:48 +0100, wrote:
> 1. The platform, where we want to use starpu is composed of 3 computation
> nodes (different CPU type and with multiple cores inside), so I want to
> know can StarPU do tasks allocation on different nodes? If yes, are there
> extra inputs need to be given to starpu?

For now, StarPU doesn't balance tasks between nodes, it just follows the
data distribution provided by the application, or a task distribution
provided by the application.

We plan to support balancing tasks between node in the close future.

> 2. From the source code of StarPU, it seems that only task size (eg. data
> length) is considered for performance model (history_based and regression
> based), to predict the expectation time.

By default, yes.

> And do you have some flexibility to add other parameters?

Yes, it is a matter of providing a size_base method in the performance
model.

> For example, performance parameters and power parameters?

You can include any parameter you want to the size_base method.

> I have heard that StarPU would also be extended to energy and power
> prediction. If this is true, it would be very interesting for our project
> now and we would be willing to contribute to this field if needed.

It already has some support: the codelet structure has both a "model"
field (for performance), and a "power_model" field (for consumption).
See the Power-based Scheduling section of the documentation.

> 3. About scheduling, there is another thing not clear from the description.
> For example, if "dm" scheduling policy is used, the tasks are pushed to one
> central queue or a queue per worker?

A queue per worker. Which queue is decided by a greedy algorithm, which
just balances the expected completion time.

> It is written in your documentation that "it schedules tasks where their
> termination time will be minimal", does this mean that all the tasks in the
> queue are compared by their predicted execution time and the one with
> minimal execution time will be popped to the worker and be executed?

No. The decision is taken before pushing to the queue. The workers just
pop from the queue in the same order as the push order.

> But is it possible to know which worker it is scheduled to, and can we, as
> a user have the possibility to determined which worker to use?

You can force the worker to be scheduled on by using the specific_worker
field of the task structure.

Samuel




Archives gérées par MHonArc 2.6.19+.

Haut de le page