Welcome, Guest
Username: Password: Remember me

TOPIC: How to apply constraints when performing mapping

How to apply constraints when performing mapping 7 years 1 week ago #225

  • toto
  • toto's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 1
  • Karma: 0
Hi, all

I have some questions about applying constraints when performing mapping for load balancing.
I want to allocate some specific tasks to specific cores.
For example, I want to allocate task 1 to core 1 and then perform mapping for load balancing.
I tried to apply constraints, but it doesn't work.
Please let me know how to solve my situation.

Thanks a lot.
The administrator has disabled public write access.

How to apply constraints when performing mapping 7 years 1 week ago #227

  • krawczyk
  • krawczyk's Avatar
  • OFFLINE
  • AMALTHEA Developer
  • Posts: 2
  • Karma: 0
Hi toto,

support for constraints is still a WIP feature and has been initially added in build #133 as "GA based Load Balancing with Constraints Optimization" strategy.

In order to use this feature, I'd suggest you download the latest Nightly Build (#137) which contains some major bugfixes from the Hudson Build Server.

The "GA based Load Balancing with Constraints Optimization" strategy utilizes Tags in order to describe which cores are or are not a valid target for a task. Here, Tasks have Custom Properties describing which Tags must (not) be present on a Core, whereas Cores refer to a list of Tags which describe a cores features or characteristics.

For a better understanding, I've attached a small example for Tag based allocation constraints:
  • File SW contains all the information regarding the Software. Tags are stored in the CommonElements model, and Tasks are stored in the SW Model.

    Tasks ESPP0 -- ESPP2 have been annotated with custom properties that refer to Tags. Based on the name of a custom property, it is decided if cores containing the referred Tag are valid targets (include) or invalid targets (exclude).

  • File HW contains information about the Hardware. It has also its own CommonElements Model containing a set of Tags, which are referred to by cores using their resp. Tags-Attribute.

    In this example, Core e200z0 is annotated with Tag "FPU" (contains a Floating Point Unit), while e200z6 is annotated with SlaveCore (is not the Master Core)

You will notice that executing the mapping algorithm on this example will enforce a placement of Tasks ESPP0 -- ESPP2 to Core e200z0, since ESPP0 requires a FPU, whereas ESPP1 and ESPP2 may not be executed on a SlaveCore.

Regards,

Lukas
Attachments:
The administrator has disabled public write access.
Time to create page: 0.082 seconds