Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
10 months agomv the internal isend function to the class
Frederic Suter [Fri, 1 Mar 2019 19:45:23 +0000 (20:45 +0100)]
mv the internal isend function to the class

10 months agoremove useless simcall for IO too and use better casts
Frederic Suter [Fri, 1 Mar 2019 18:18:14 +0000 (19:18 +0100)]
remove useless simcall for IO too and use better casts

10 months agoone step further not using kernel execution activities in MSG.
Frederic Suter [Fri, 1 Mar 2019 17:58:38 +0000 (18:58 +0100)]
one step further not using kernel execution activities in MSG.

10 months agoThe creation of the pimpl needs no simcall
Frederic Suter [Fri, 1 Mar 2019 17:52:08 +0000 (18:52 +0100)]
The creation of the pimpl needs no simcall

Now that init and start are split, creating the ExecImpl in init (the
constructor) has no impact on the simulation kernel. The action is
created by start().

This slightly modifies the ordering of the output in one tesh file

10 months agoYell when there is an exception, not when there isn't
Frederic Suter [Fri, 1 Mar 2019 17:51:01 +0000 (18:51 +0100)]
Yell when there is an exception, not when there isn't

10 months agomess with MSG tasks
Frederic Suter [Fri, 1 Mar 2019 09:03:36 +0000 (10:03 +0100)]
mess with MSG tasks

10 months agoMake destructors useless.
Arnaud Giersch [Thu, 28 Feb 2019 22:22:03 +0000 (23:22 +0100)]
Make destructors useless.

10 months agoMake capture list explicit.
Arnaud Giersch [Thu, 28 Feb 2019 21:55:04 +0000 (22:55 +0100)]
Make capture list explicit.

10 months agoEmpty callback is optional.
Arnaud Giersch [Thu, 28 Feb 2019 21:51:44 +0000 (22:51 +0100)]
Empty callback is optional.

10 months agoHide std::free to Sonar.
Arnaud Giersch [Thu, 28 Feb 2019 21:43:39 +0000 (22:43 +0100)]
Hide std::free to Sonar.

10 months agoIgnore Sonar issue "Macros should not be used to define constants" in *.h.
Arnaud Giersch [Thu, 28 Feb 2019 21:39:34 +0000 (22:39 +0100)]
Ignore Sonar issue "Macros should not be used to define constants" in *.h.

10 months agoUse default initialization.
Arnaud Giersch [Thu, 28 Feb 2019 21:32:13 +0000 (22:32 +0100)]
Use default initialization.

10 months agoNo static analyzers, myCoords[] and targetCoords[] don't contain garbage.
Arnaud Giersch [Tue, 26 Feb 2019 20:54:53 +0000 (21:54 +0100)]
No static analyzers, myCoords[] and targetCoords[] don't contain garbage.

Save dimensions_.size() in a local variable to help Sonar and Clang, plus other
simplifications.

10 months agoDon't rely on random to generate temporary file names.
Arnaud Giersch [Thu, 28 Feb 2019 14:35:19 +0000 (15:35 +0100)]
Don't rely on random to generate temporary file names.

10 months agoUse C++11 <random> instead of rand().
Arnaud Giersch [Thu, 28 Feb 2019 14:00:06 +0000 (15:00 +0100)]
Use C++11 <random>  instead of rand().

10 months agoRemove never used FindRngStream.cmake.
Arnaud Giersch [Thu, 28 Feb 2019 13:45:22 +0000 (14:45 +0100)]
Remove never used FindRngStream.cmake.

10 months agobetter message for this exception
Frederic Suter [Thu, 28 Feb 2019 12:52:04 +0000 (13:52 +0100)]
better message for this exception

10 months agoadd test related to #220 + fix killsend
Frederic Suter [Thu, 28 Feb 2019 12:46:12 +0000 (13:46 +0100)]
add test related to #220 + fix killsend

If the test and the launched actors share a scheduling round, the
outer test comes first and execute the asserts before the actors are
able to end their execution. As we want to control the status of the
actors when they end, let the outer test wait a bit before asserting.

10 months agochange exception raised if a StopRequest is catched in Host.off()
Frederic Suter [Thu, 28 Feb 2019 09:12:07 +0000 (10:12 +0100)]
change exception raised if a StopRequest is catched in Host.off()

10 months agoactivity-lifecycle: test exec just as we test sleep
Martin Quinson [Thu, 28 Feb 2019 01:34:12 +0000 (02:34 +0100)]
activity-lifecycle: test exec just as we test sleep

We should also try to cancel all these nice actions. And at some
point, we should probably come up with a DSL or find another way to
factorize some code.

10 months agoDon't give actors a chance to survive their exec if their host is turned off
Martin Quinson [Thu, 28 Feb 2019 01:30:53 +0000 (02:30 +0100)]
Don't give actors a chance to survive their exec if their host is turned off

Before, they received an HostFailureException that they could catch to
survive. Now, they are simply killed (once their on_exit callbacks are
executed).

This is more consistent with what happens with sleep actions, and thus
fixes the github issue #325.

10 months agoplease sonar: don't declare an empty callback
Martin Quinson [Wed, 27 Feb 2019 23:09:44 +0000 (00:09 +0100)]
please sonar: don't declare an empty callback

10 months agoFix forwarding of the program arguments.
Arnaud Giersch [Wed, 27 Feb 2019 22:36:42 +0000 (23:36 +0100)]
Fix forwarding of the program arguments.

Use a static storage to avoid dangling pointers, and ensure that there is no
out of bound array access.

10 months agoFix Backtrace::operator=.
Arnaud Giersch [Wed, 27 Feb 2019 20:49:32 +0000 (21:49 +0100)]
Fix Backtrace::operator=.

10 months agoAnonymize unused parameters.
Arnaud Giersch [Wed, 27 Feb 2019 14:55:56 +0000 (15:55 +0100)]
Anonymize unused parameters.

10 months agoEnforce "Rule-of-Three/Five".
Arnaud Giersch [Wed, 27 Feb 2019 14:11:36 +0000 (15:11 +0100)]
Enforce "Rule-of-Three/Five".

10 months agoAvoid null pointer dereference.
Arnaud Giersch [Tue, 26 Feb 2019 21:54:45 +0000 (22:54 +0100)]
Avoid null pointer dereference.

10 months agosurf_parse_error() never returns, remove dead code after that.
Arnaud Giersch [Tue, 26 Feb 2019 20:34:27 +0000 (21:34 +0100)]
surf_parse_error() never returns, remove dead code after that.

10 months agoRemove dead code after exception throw.
Arnaud Giersch [Tue, 26 Feb 2019 20:32:47 +0000 (21:32 +0100)]
Remove dead code after exception throw.

10 months agoRemove dead code after returrn statement.
Arnaud Giersch [Tue, 26 Feb 2019 20:30:42 +0000 (21:30 +0100)]
Remove dead code after returrn statement.

10 months agoMethod is redundant with base class.
Arnaud Giersch [Tue, 26 Feb 2019 16:29:07 +0000 (17:29 +0100)]
Method is redundant with base class.

10 months agoMark methods as "override".
Arnaud Giersch [Tue, 26 Feb 2019 16:28:41 +0000 (17:28 +0100)]
Mark methods as "override".

10 months agoCapitalize constants.
Arnaud Giersch [Tue, 26 Feb 2019 16:47:53 +0000 (17:47 +0100)]
Capitalize constants.

10 months agoReplace #define with constexpr declarations.
Arnaud Giersch [Tue, 26 Feb 2019 16:23:29 +0000 (17:23 +0100)]
Replace #define with constexpr declarations.

10 months agoKill unused constants.
Arnaud Giersch [Tue, 26 Feb 2019 16:44:17 +0000 (17:44 +0100)]
Kill unused constants.

10 months agofix (#220) ?
Frederic Suter [Wed, 27 Feb 2019 13:49:06 +0000 (14:49 +0100)]
fix (#220) ?

If an actor ends right after a dsend, the Comm should not be canceled
to let the receiver a chance to catch it.

It was removed in Comm::cancel(), now it's not, and the destructor has
to be a bit more careful.

As the comm was canceled, if the receive is posted later, it nevers
find its matching send and may stall forever or timeout.

This changed the output of the chord example (using dsend), but I
suspect it was not so correct before with some dsend being canceled
and the corresponding receive ending on timeout.

This also highlighted an issue in Java. The cleanup function for dsend
is now called at the end of the simulation and get_current_thread_env
crashed (because the current thread is maestro).

Hopefully, this commit does not cause new leaks.

10 months agomake MSG_process_create die if host is off.
Frederic Suter [Wed, 27 Feb 2019 08:31:17 +0000 (09:31 +0100)]
make MSG_process_create die if host is off.
This was requested by adsein long time ago.

10 months agofix typos in warning
Frederic Suter [Wed, 27 Feb 2019 08:15:11 +0000 (09:15 +0100)]
fix typos in warning

10 months agoChange color of "barrier" in trace. It was too close to "computing"
degomme [Tue, 26 Feb 2019 12:07:45 +0000 (13:07 +0100)]
Change color of "barrier" in trace. It was too close to "computing"

10 months agoAdd simple gemm example for SMPI with sampling macros.
degomme [Tue, 26 Feb 2019 10:59:36 +0000 (11:59 +0100)]
Add simple gemm example for SMPI with sampling macros.
Adapted from the proxy app from Codevault.
This could be a good basis for the tuto

10 months agoYet again change the way SMPI_SAMPLE_MACRO works
degomme [Tue, 26 Feb 2019 10:58:12 +0000 (11:58 +0100)]
Yet again change the way SMPI_SAMPLE_MACRO works
There is no need anymore to have the body of the loop inside the macro. Kudos to Arnaud L for the ideas.

now usage is just turning
for(x;y;z) into SMPI_SAMPLE_GLOBAL(x,y,z,iters,thres)

Time injection will be done only once for all the section, speeding up the simulation.

TODO : iterator value will not be correct at the end of the loop for now.
Not important if iterator is local to the loop, but may be annoying if not.

10 months agofix (#324)
Frederic Suter [Tue, 26 Feb 2019 10:28:47 +0000 (11:28 +0100)]
fix (#324)
Throw a HostFailureException when one tries to create (or attach) an
actor an a host that is not on.
If this happens during the parsing of the deployment file, just let it
go.
for MSG, we could die if this happens (we don't for now)

10 months agoBuild still broken with ld 2.31.1. Check only version for gcc.
Arnaud Giersch [Mon, 25 Feb 2019 22:22:10 +0000 (23:22 +0100)]
Build still broken with ld 2.31.1.  Check only version for gcc.

10 months ago[sonar] Improve Cognitive Complexity.
Arnaud Giersch [Mon, 25 Feb 2019 13:58:10 +0000 (14:58 +0100)]
[sonar] Improve Cognitive Complexity.

10 months agoNO_MAX_DURATION is a special value, use (in)equality for testing.
Arnaud Giersch [Mon, 25 Feb 2019 13:39:22 +0000 (14:39 +0100)]
NO_MAX_DURATION is a special value, use (in)equality for testing.

10 months agoMove common test to Action::update_max_duration.
Arnaud Giersch [Mon, 25 Feb 2019 13:20:22 +0000 (14:20 +0100)]
Move common test to Action::update_max_duration.

10 months agoKill now unused functions SIMIX_mutex_{un}ref.
Arnaud Giersch [Sat, 23 Feb 2019 13:31:46 +0000 (14:31 +0100)]
Kill now unused functions SIMIX_mutex_{un}ref.

10 months agoConvert last call to SIMIX_mutex_unref.
Arnaud Giersch [Sat, 23 Feb 2019 13:31:16 +0000 (14:31 +0100)]
Convert last call to SIMIX_mutex_unref.

10 months agofix last issues
Frederic Suter [Mon, 25 Feb 2019 18:09:49 +0000 (19:09 +0100)]
fix last issues
+ counter_ is used by heaps, use id_ instead
+ fix dumb find/replace

10 months agoend objectification of MSG tasks
Frederic Suter [Mon, 25 Feb 2019 16:10:19 +0000 (17:10 +0100)]
end objectification of MSG tasks

10 months agomv counter from msg_task_t to simgrid::msg::Task
Frederic Suter [Mon, 25 Feb 2019 15:48:49 +0000 (16:48 +0100)]
mv counter from msg_task_t to simgrid::msg::Task
this was the last field, MSG tasks are now objects
have to remove the useless layer now!

10 months agomv data from msg_task_t to simgrid::msg::Task
Frederic Suter [Mon, 25 Feb 2019 15:30:39 +0000 (16:30 +0100)]
mv data from msg_task_t to simgrid::msg::Task

10 months agosimplify these tests
Frederic Suter [Mon, 25 Feb 2019 15:14:00 +0000 (16:14 +0100)]
simplify these tests

10 months agomv category from msg_task_t to simgrid::msg::Task
Frederic Suter [Mon, 25 Feb 2019 14:48:36 +0000 (15:48 +0100)]
mv category from msg_task_t to simgrid::msg::Task

10 months agomove name from msg_task_t to simgrid::msg::Task
Frederic Suter [Mon, 25 Feb 2019 14:19:50 +0000 (15:19 +0100)]
move name from msg_task_t to simgrid::msg::Task

10 months agodo not promote bad practices: use "accessor" to get task name
Frederic Suter [Mon, 25 Feb 2019 14:16:32 +0000 (15:16 +0100)]
do not promote bad practices: use "accessor" to get task name

10 months agoobjectify simdata_task_t
Frederic Suter [Mon, 25 Feb 2019 13:16:57 +0000 (14:16 +0100)]
objectify simdata_task_t

10 months agopriority and bound of MSG tasks can only be set BEFORE execution
Frederic Suter [Mon, 25 Feb 2019 10:44:47 +0000 (11:44 +0100)]
priority and bound of MSG tasks can only be set BEFORE execution

this is the rule for S4U, should be the same for MSG.
BTW, the behavior of the LMM is likely to be confused by such dynamic
changes during execution.

Side effect: we should remove the setters in ExecImpl, but there are
used by two simcalls that are tagged as deprected with v3.25

10 months agosource is sender's host. One field is enough
Frederic Suter [Mon, 25 Feb 2019 10:28:36 +0000 (11:28 +0100)]
source is sender's host. One field is enough

11 months agoplay with (parallel) execs. still not satisfying
Frederic Suter [Sat, 23 Feb 2019 12:46:01 +0000 (13:46 +0100)]
play with (parallel) execs. still not satisfying

11 months agoSIMIX_mutex_{un}ref become MutexImpl::{un}ref
Frederic Suter [Sat, 23 Feb 2019 11:27:27 +0000 (12:27 +0100)]
SIMIX_mutex_{un}ref become MutexImpl::{un}ref

11 months agodont call HANDLER
Frederic Suter [Sat, 23 Feb 2019 11:27:13 +0000 (12:27 +0100)]
dont call HANDLER

11 months agoplease sonar
Frederic Suter [Sat, 23 Feb 2019 11:13:13 +0000 (12:13 +0100)]
please sonar

11 months agoMerge branch 'master' of framagit.org:simgrid/simgrid
Arnaud Giersch [Fri, 22 Feb 2019 21:28:57 +0000 (22:28 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid

11 months agomake destructor public
Frederic Suter [Fri, 22 Feb 2019 21:15:05 +0000 (22:15 +0100)]
make destructor public

11 months agoFix build error with mingw.
Arnaud Giersch [Fri, 22 Feb 2019 21:07:01 +0000 (22:07 +0100)]
Fix build error with mingw.

11 months agodo not use xbt_mutex_t in SMPI
Frederic Suter [Fri, 22 Feb 2019 20:32:54 +0000 (21:32 +0100)]
do not use xbt_mutex_t in SMPI

11 months agoconvert maestro-set to S4U
Frederic Suter [Fri, 22 Feb 2019 18:13:15 +0000 (19:13 +0100)]
convert maestro-set to S4U

11 months agodumb me.
Frederic Suter [Fri, 22 Feb 2019 14:55:50 +0000 (15:55 +0100)]
dumb me.

11 months agodeprecate SIMIX_process_{a,de}tach
Frederic Suter [Fri, 22 Feb 2019 13:14:07 +0000 (14:14 +0100)]
deprecate SIMIX_process_{a,de}tach
* replaced by ActorImpl::{a,de}tach
* add sg_actor_{a,de}tach to the C API of actors
* MSG_process_{a,de}tach go to msg_legacy

11 months agoforgot that one
Frederic Suter [Fri, 22 Feb 2019 13:04:04 +0000 (14:04 +0100)]
forgot that one

11 months agostop using old simcalls in our own code
Frederic Suter [Fri, 22 Feb 2019 12:15:37 +0000 (13:15 +0100)]
stop using old simcalls in our own code

11 months agosnake casing
Frederic Suter [Fri, 22 Feb 2019 11:43:27 +0000 (12:43 +0100)]
snake casing

11 months agotrim instr_msg code
Frederic Suter [Fri, 22 Feb 2019 11:29:42 +0000 (12:29 +0100)]
trim instr_msg code

11 months agouse TASK_CANCELED rather than HOST_FAILURE for CancelExeption
Frederic Suter [Fri, 22 Feb 2019 11:28:01 +0000 (12:28 +0100)]
use TASK_CANCELED rather than HOST_FAILURE for CancelExeption

11 months agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Fri, 22 Feb 2019 11:08:29 +0000 (12:08 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

11 months agoThrow exception when comm was canceled.
Arnaud Giersch [Fri, 22 Feb 2019 10:03:56 +0000 (11:03 +0100)]
Throw exception when comm was canceled.

11 months agoHandle CancelException in MSG_{comm,test} too.
Arnaud Giersch [Fri, 22 Feb 2019 10:02:35 +0000 (11:02 +0100)]
Handle CancelException in MSG_{comm,test} too.

11 months agoMSG is a C API and should not throw.
Arnaud Giersch [Fri, 22 Feb 2019 10:01:45 +0000 (11:01 +0100)]
MSG is a C API and should not throw.

11 months agoremove doublons caused by extra pop
Frederic Suter [Thu, 21 Feb 2019 20:47:17 +0000 (21:47 +0100)]
remove doublons caused by extra pop

11 months agoremove useless code
Frederic Suter [Thu, 21 Feb 2019 20:36:20 +0000 (21:36 +0100)]
remove useless code
this is handled by callbacks in instr-platform now

11 months agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Thu, 21 Feb 2019 19:32:54 +0000 (20:32 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

11 months agouse more s4u calls in MSG
Frederic Suter [Thu, 21 Feb 2019 19:32:04 +0000 (20:32 +0100)]
use more s4u calls in MSG
One more step to transform MSG into a S4U wrapper \o/

11 months agorevalidate tesh file
Frederic Suter [Thu, 21 Feb 2019 19:31:46 +0000 (20:31 +0100)]
revalidate tesh file

11 months agofix some issues with Cancel
Frederic Suter [Thu, 21 Feb 2019 19:29:21 +0000 (20:29 +0100)]
fix some issues with Cancel
* Comm::cancel can be called when there is no pimpl
* if we wait for a canceled activity we can return not let the
impossible happen.

11 months agoParameter is a boolean.
Arnaud Giersch [Thu, 21 Feb 2019 13:54:43 +0000 (14:54 +0100)]
Parameter is a boolean.

11 months agoDon't strip last component of cwd.
Arnaud Giersch [Wed, 20 Feb 2019 22:02:48 +0000 (23:02 +0100)]
Don't strip last component of cwd.

11 months agodamned picky clang
Frederic Suter [Wed, 20 Feb 2019 17:40:21 +0000 (18:40 +0100)]
damned picky clang

11 months agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Wed, 20 Feb 2019 17:33:30 +0000 (18:33 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

11 months agoa few simplifications
Frederic Suter [Wed, 20 Feb 2019 17:31:27 +0000 (18:31 +0100)]
a few simplifications

11 months agoreplace another old simcall in MSG
Frederic Suter [Wed, 20 Feb 2019 17:19:22 +0000 (18:19 +0100)]
replace another old simcall in MSG

11 months agosave a cast
Frederic Suter [Wed, 20 Feb 2019 16:04:52 +0000 (17:04 +0100)]
save a cast

11 months agomodernize a simcall in MSG
Frederic Suter [Wed, 20 Feb 2019 15:48:31 +0000 (16:48 +0100)]
modernize a simcall in MSG

11 months ago(Hope to) fix number of cores for VMs.
Arnaud Giersch [Wed, 20 Feb 2019 15:12:02 +0000 (16:12 +0100)]
(Hope to) fix number of cores for VMs.

The bug was apparently introduced by commit 5a469c9dca9ce25cee1a52682d7eb7bbd736a49b.

11 months agocleanups and uniformization in Activity headers
Frederic Suter [Wed, 20 Feb 2019 14:02:02 +0000 (15:02 +0100)]
cleanups and uniformization in Activity headers

11 months agoThis is a CommImpl*.
Arnaud Giersch [Wed, 20 Feb 2019 14:03:16 +0000 (15:03 +0100)]
This is a CommImpl*.

11 months agomove a function to a righter place
Frederic Suter [Wed, 20 Feb 2019 13:08:55 +0000 (14:08 +0100)]
move a function to a righter place

11 months agoprevent segfault when DEBUG is activated
Frederic Suter [Wed, 20 Feb 2019 13:00:37 +0000 (14:00 +0100)]
prevent segfault when DEBUG is activated

11 months agoChange the syntax of SMPI_SAMPLE_* macros.
degomme [Wed, 20 Feb 2019 10:54:34 +0000 (11:54 +0100)]
Change the syntax of SMPI_SAMPLE_* macros.
To handle the end of the computing loop when sampling is still on, we need to wrap it.

This replaces this syntax
for(k = 1; k <= np; k++) { SMPI_SAMPLE_GLOBAL(0.25 * np, 0.03) {
where the macro had no idea of the loop conditions

by this
SMPI_SAMPLE_GLOBAL(k = 1, k <= np, k++, 0.25 * np, 0.03,
 {...}
)
syntax, where the body of loop is itself a parameter. This is not perfect, and may change soon. But now we can exit gracefully the sampling whenever the upper loop exits.

11 months agoDefine and use optimized variants for simcalls comm_testany and comm_waitany.
Arnaud Giersch [Tue, 19 Feb 2019 22:10:16 +0000 (23:10 +0100)]
Define and use optimized variants for simcalls comm_testany and comm_waitany.