Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
9 months agoCapitalize constants.
Arnaud Giersch [Tue, 26 Feb 2019 16:47:53 +0000 (17:47 +0100)]
Capitalize constants.

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

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

9 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.

9 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.

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

9 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"

9 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

9 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.

9 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)

9 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.

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

9 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.

9 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.

9 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.

9 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.

9 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

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

9 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!

9 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

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

9 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

9 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

9 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

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

9 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

9 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

9 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

9 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

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

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

9 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

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

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

9 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

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

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

9 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

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

9 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

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

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

9 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

9 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

9 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.

9 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.

9 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.

9 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

9 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

9 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

9 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/

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

9 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.

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

9 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.

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

9 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

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

9 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

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

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

9 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.

9 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

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

9 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

9 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

9 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.

9 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.

9 months agoSpecialize parameter for simcall comm_waitany.
Arnaud Giersch [Tue, 19 Feb 2019 21:19:42 +0000 (22:19 +0100)]
Specialize parameter for simcall comm_waitany.

9 months agoSpecialize parameter for simcall comm_testany.
Arnaud Giersch [Tue, 19 Feb 2019 21:03:42 +0000 (22:03 +0100)]
Specialize parameter for simcall comm_testany.

9 months agoSpecialize parameter for simcall comm_wait.
Arnaud Giersch [Tue, 19 Feb 2019 20:40:41 +0000 (21:40 +0100)]
Specialize parameter for simcall comm_wait.

9 months agoSpecialize parameter for simcall comm_test.
Arnaud Giersch [Tue, 19 Feb 2019 20:28:25 +0000 (21:28 +0100)]
Specialize parameter for simcall comm_test.

9 months agoSpecialize parameter for simcall execution_wait.
Arnaud Giersch [Tue, 19 Feb 2019 20:18:02 +0000 (21:18 +0100)]
Specialize parameter for simcall execution_wait.

9 months agoSpecialize parameter for simcall execution_test.
Arnaud Giersch [Tue, 19 Feb 2019 20:15:41 +0000 (21:15 +0100)]
Specialize parameter for simcall execution_test.

9 months agoSpecialize parameter for simcall io_wait.
Arnaud Giersch [Tue, 19 Feb 2019 17:16:12 +0000 (18:16 +0100)]
Specialize parameter for simcall io_wait.

9 months agoKill now unused mc_xbt.
Arnaud Giersch [Tue, 19 Feb 2019 15:36:31 +0000 (16:36 +0100)]
Kill now unused mc_xbt.

9 months agoFix MC build after changes for waitany.
Arnaud Giersch [Tue, 19 Feb 2019 15:35:06 +0000 (16:35 +0100)]
Fix MC build after changes for waitany.

9 months agoChange dynar parameter for waitany to a raw array (mimic testany).
Arnaud Giersch [Tue, 19 Feb 2019 15:11:43 +0000 (16:11 +0100)]
Change dynar parameter for waitany to a raw array (mimic testany).

9 months agoRemove superfluous refcounting.
Arnaud Giersch [Tue, 19 Feb 2019 14:19:18 +0000 (15:19 +0100)]
Remove superfluous refcounting.

9 months agoSimcall waitany really takes a dynar of ActivityImpl*.
Arnaud Giersch [Tue, 19 Feb 2019 11:09:19 +0000 (12:09 +0100)]
Simcall waitany really takes a dynar of ActivityImpl*.

9 months agoUse CommImpl* for comm_copy callbacks.
Arnaud Giersch [Tue, 19 Feb 2019 13:07:49 +0000 (14:07 +0100)]
Use CommImpl* for comm_copy callbacks.

It's in fact already used for match_fun.

9 months agoCosmetics: adjust method names in debug messages.
Arnaud Giersch [Tue, 19 Feb 2019 20:00:28 +0000 (21:00 +0100)]
Cosmetics: adjust method names in debug messages.

9 months agoMake cleanupSurf() private.
Arnaud Giersch [Mon, 18 Feb 2019 17:24:59 +0000 (18:24 +0100)]
Make cleanupSurf() private.

9 months agotiny doc improvement
Martin Quinson [Tue, 19 Feb 2019 23:17:13 +0000 (00:17 +0100)]
tiny doc improvement

9 months agosonar: point to framagit instead of github
Martin Quinson [Mon, 11 Feb 2019 00:34:01 +0000 (01:34 +0100)]
sonar: point to framagit instead of github

9 months ago[SMPI] Change sampling behavior.
degomme [Tue, 19 Feb 2019 15:54:41 +0000 (16:54 +0100)]
[SMPI] Change sampling behavior.
Before, in sampling mode, each sampled loop was executed once, and the process would inject the time it took immediately.
This lead to a simcall being executed, which would then yield execution and possibly give the hand to another process.
This was destroying the caches, and resulted in over-estimated times.

This modification holds the injected time until the end of the sampling phase, trying to do the most of it on one process, without swapping contextes in between.

TODO :
- check what happens if num sampling iters < num iters/process (mandatory swapping)
Issues might be triggered if process leaves sampling before reaching the given bounds first.

9 months agoremove doxygen css and py tools scripts from codacy
Augustin Degomme [Thu, 7 Feb 2019 09:52:57 +0000 (10:52 +0100)]
remove doxygen css and py tools scripts from codacy

9 months agoreduce size of message sent ..
Augustin Degomme [Wed, 6 Feb 2019 09:40:04 +0000 (10:40 +0100)]
reduce size of message sent ..
For collectives we have to allocate fake buffers, and these ones may be a bit too large for some small systems (arm)

9 months agoAll activities have their own finish method \o/
Frederic Suter [Tue, 19 Feb 2019 09:02:03 +0000 (10:02 +0100)]
All activities have their own finish method \o/
The only sparks were of joy ...

9 months agoSIMIX_io_finish becomes IoImp::finish
Frederic Suter [Mon, 18 Feb 2019 22:24:58 +0000 (23:24 +0100)]
SIMIX_io_finish becomes IoImp::finish

get rid of smx_io*
the simcall_handlers will go at the beginning of the
kernel/activity/*Impl.cpp

9 months agoadd a StorageFailureException
Frederic Suter [Mon, 18 Feb 2019 22:01:04 +0000 (23:01 +0100)]
add a StorageFailureException

9 months ago_SIMIX_cond_wait becomes ConditionVariable::wait
Frederic Suter [Mon, 18 Feb 2019 20:23:46 +0000 (21:23 +0100)]
_SIMIX_cond_wait becomes ConditionVariable::wait

9 months agoSIMIX_synchro_wait becomes RawImpl::start
Frederic Suter [Mon, 18 Feb 2019 19:49:42 +0000 (20:49 +0100)]
SIMIX_synchro_wait becomes RawImpl::start

9 months agoobjectify simix timers.
Frederic Suter [Mon, 18 Feb 2019 18:32:54 +0000 (19:32 +0100)]
objectify simix timers.
public C API remains for now. Might be deprecated or removed (?)

9 months agoAvoid some casts and copies of CommImplPtr.
Arnaud Giersch [Mon, 18 Feb 2019 12:35:40 +0000 (13:35 +0100)]
Avoid some casts and copies of CommImplPtr.

9 months agolate modification wasn't tested, former was better
Frederic Suter [Sun, 17 Feb 2019 22:57:07 +0000 (23:57 +0100)]
late modification wasn't tested, former was better

9 months agoSIMIX_process_cleanup becomes ActorImpl::Cleanup
Frederic Suter [Sun, 17 Feb 2019 22:12:36 +0000 (23:12 +0100)]
SIMIX_process_cleanup becomes ActorImpl::Cleanup
There is no more need to pass the callback on an external function
when creating context.

9 months agoweek-end cleanups in ActorImpl
Frederic Suter [Sat, 16 Feb 2019 22:29:07 +0000 (23:29 +0100)]
week-end cleanups in ActorImpl
That excalated quickly ...

9 months agodead header
Frederic Suter [Sat, 16 Feb 2019 21:54:44 +0000 (22:54 +0100)]
dead header

9 months agoSIMIX_process_yield becomes ActorImpl::yield
Frederic Suter [Sat, 16 Feb 2019 21:42:16 +0000 (22:42 +0100)]
SIMIX_process_yield becomes ActorImpl::yield