[EXAMPLES] Make the HostLoad example more difficult
This test now contains more intricate scenarios:
- Change the speed of a host while a computation is running
- Verify that the average load is correctly computed
[TOOLS] Call-Location Tracing: Add more macros for Fortran
While LU uses MPI calls in all upper case, EP uses
them in all lower case. This means that the current definitions
were not enough to trace both EP and LU. This patch changes that.
The ucfirst call is necessary since otherwise, a recursion might
break compilation.
The update() will be called AFTER a pstate has already
been changed; this implies that we need to keep track
of what pstate was active before the change in order to
update the flops already computed correctly.
Frederic Suter [Tue, 20 Feb 2018 21:20:33 +0000 (22:20 +0100)]
extra check on actions
if another model than ptaskL07 is used, it appears that some actions
are seen that are not attached to tasks. skipped them, simdag does
nothing with it.
Millian Poquet [Mon, 19 Feb 2018 10:52:25 +0000 (11:52 +0100)]
[tesh] kill process -> kill whole process group
If the command launched by tesh executes some subprocesses
(which are not cleaned by the root process on SIGKILL)
the previous code let such subprocesses in a running state.
Now the root process is launched into a new session (man setsid)
and the whole session is killed by tesh. All subprocess should be killed
as long as the session is not changed in the process tree.
Traversing the process tree could also be done, but it may require
additional dependencies (i.e., psutil).
Martin Quinson [Fri, 16 Feb 2018 20:50:47 +0000 (21:50 +0100)]
use SPLITDUPLEX internally instead of FULLDUPLEX
We will s/FULLDUPLEX/SPLITDUPLEX/ everywhere in SimGrid. Rational:
That sharing mode is modeled by spliting every link between two links:
one uplink used when traversing the link in a direction, and the
downlink when we traverse the same link in the other direction.
With SHARED links, the bandwidth is shared between all flows without
taking the flow direction into account.
So, SPLITDUPLEX is the way we model fullduplex links, but at the end,
each of the SimGrid link in a SPLITDUPLEX (either the up or down link)
can be used in one direction only. That's the right model, but using
FULLDUPLEX for the situation where you have 2 links was rather
disturbing.
And yes, users will soon notice, when they will try to use network
energy models.
degomme [Fri, 16 Feb 2018 09:01:47 +0000 (10:01 +0100)]
switch default smpi privatization to mmap, as tsan is now allergic to RTLD_DEEPBIND
This should not work for the -dlopen tests, but it should be better
[DVFS] Make governors individually configurable for each host
Add this to your host tag:
- <prop id=plugin/dvfs/governor value=performance />
Valid values as of now are: performance, powersave, ondemand, conservative
It doesn't matter if you use uppercase or lowercase.
For the sampling rate, use this:
- <prop id=plugin/dvfs/sampling_rate value=2 />
This will run the update() method of the specified governor every 2 seconds
on that host.
These properties can also be used within the <config> tag to configure
these values globally. Using them within the <host> will overwrite this
global configuration
The HostLoad plugin computes the load as <cores used>/<cores total>.
This means that governors sometimes decide to slow down even though
one or several cores were used because too many cores were unused.
[ENERGY] The energy now depends on the HostLoad plugin.
When a pstate is changed, the energy plugin will update a timestamp for that
host even if that host is never used; this means that we cannot rely on this
to determine if a host has been idle or not. The HostLoad plugin allows
us to do that.
This commit also updates several tesh files as some hosts were reported
as active in the past although they have not computed anything. These
hosts were hence idle and should be reported as such; a machine that
only boots or shuts down is in this case also regarded as unused.