Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Workaround for multicore ptasks.
authorBruno Donassolo <bruno.donassolo@inria.fr>
Thu, 7 Jul 2022 15:53:30 +0000 (17:53 +0200)
committerBruno Donassolo <bruno.donassolo@inria.fr>
Thu, 7 Jul 2022 15:53:30 +0000 (17:53 +0200)
commite95fe51a7a87a360f8e6c1b27e14fbf60b0078b8
tree77f1916e9e18d2b1d42c83a328cd9a618c8f65b0
parent9c75f07789910285d43f4e26f697565a31589e60
Workaround for multicore ptasks.

Fixes https://framagit.org/simgrid/simgrid/-/issues/111.

Workaround for multicore ptasks (when user sets the same s4u::Host*
multiple times in the ptask).

The Element class in System.cpp links a variable and a constraint.
Ideally, we could have only 1 element for each pair variable/constraint.
However, the fair_bottleneck solver needs different elements to cope with multicore ptasks.
At FairBottleneck::solver, it considers each elem as a "variable" which must receive a full
share of the resource.

Multiple elements per contraint/variable isn't necessary for others solvers (maxmin, bmf).
However, it's probably not possible to use BMF at this moment
considering its instability and the current implementation in ptask_L07.cpp (especially the configuration of
task bound which is specific for FairBottleneck solver).

Partially revert change to set 1 element per constraint/variable pair (done at ecb0903f).
src/kernel/lmm/System.cpp
src/kernel/lmm/System.hpp
src/surf/ptask_L07.cpp