Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
2 years agoStart moving classes into the mc/api directory
Martin Quinson [Fri, 11 Feb 2022 18:27:29 +0000 (19:27 +0100)]
Start moving classes into the mc/api directory

2 years agoInline a function of mc::api
Martin Quinson [Fri, 11 Feb 2022 18:04:48 +0000 (19:04 +0100)]
Inline a function of mc::api

2 years agofix MC despite clang-format sorting the headers alphabetically while I would prefer...
Martin Quinson [Fri, 11 Feb 2022 17:01:25 +0000 (18:01 +0100)]
fix MC despite clang-format sorting the headers alphabetically while I would prefer not to

2 years agoFix builds with/without MC and with/without clang (hopefully)
Martin Quinson [Fri, 11 Feb 2022 15:54:52 +0000 (16:54 +0100)]
Fix builds with/without MC and with/without clang (hopefully)

2 years agoPrepare to debug the depends
Martin Quinson [Fri, 11 Feb 2022 10:28:26 +0000 (11:28 +0100)]
Prepare to debug the depends

2 years agoMC does not need the exact value of the timeout, only where a timeout was specified
Martin Quinson [Fri, 11 Feb 2022 10:21:20 +0000 (11:21 +0100)]
MC does not need the exact value of the timeout, only where a timeout was specified

2 years agodon't use char* for pointers that shall be serialized with >>
Martin Quinson [Fri, 11 Feb 2022 10:16:29 +0000 (11:16 +0100)]
don't use char* for pointers that shall be serialized with >>

2 years agoPass the depends() from the observer to the mc::Transition for CommWait, Send and...
Martin Quinson [Fri, 11 Feb 2022 09:24:40 +0000 (10:24 +0100)]
Pass the depends() from the observer to the mc::Transition for CommWait, Send and Recv

2 years agoBig bang in MC: app's observers are serialized, to become transitions in checker
Martin Quinson [Fri, 11 Feb 2022 00:48:24 +0000 (01:48 +0100)]
Big bang in MC: app's observers are serialized, to become transitions in checker

Instead of interacting with the observers over the network, we now
transfer over the wire (a simplified copy of) the observer to the
checker.

This was necessary because the lifetime of the Observer (or of its
components) was sometimes too short: it happened that the Actor
refered to by the Observer was not existing anymore at the end of the
simulation when the depend relation was evaluated. Or something like
that, I'm not sure.

Another argument for this change was that UDPOR reduction sometimes
need to evaluate the dependency between transitions that are not in
the same history (in the same run of the application), so we really
need to carry the transition over to let them live in the checker.

Note that we are not copying every information of the observer over,
only the ones that are relevant to the model-checker.

Finally, this change is still ongoing:
 - not all observers are serialized over the wire yet
 - the depends() are not implemented in the Transition yet
 - the network protocol is utterly inefficient, and we probably need
   to move to FlatBuffer or something like that.
 - a lot of dead code remains

Sorry for the mess, it's progressing rather slowly...

2 years ago[pvs] Try to fix exclusions for parserPromela.tab.cacc.
Arnaud Giersch [Thu, 10 Feb 2022 10:54:05 +0000 (11:54 +0100)]
[pvs] Try to fix exclusions for parserPromela.tab.cacc.

2 years ago[pvs] Don't let members uninitialized.
Arnaud Giersch [Thu, 10 Feb 2022 09:38:32 +0000 (10:38 +0100)]
[pvs] Don't let members uninitialized.

2 years agoAnother pointer-to-const.
Arnaud Giersch [Thu, 10 Feb 2022 08:29:03 +0000 (09:29 +0100)]
Another pointer-to-const.

2 years agopointer2const4sonar
Arnaud Giersch [Wed, 9 Feb 2022 12:55:02 +0000 (13:55 +0100)]
pointer2const4sonar

2 years agoForward all the parameters to the observer.
Arnaud Giersch [Wed, 9 Feb 2022 12:12:52 +0000 (13:12 +0100)]
Forward all the parameters to the observer.

2 years agoFix memory leak with ns3 routing tables.
Arnaud Giersch [Tue, 8 Feb 2022 21:46:37 +0000 (22:46 +0100)]
Fix memory leak with ns3 routing tables.

2 years agoLeak--.
Arnaud Giersch [Tue, 8 Feb 2022 15:50:32 +0000 (16:50 +0100)]
Leak--.

2 years agoAvoid shadowed declarations.
Arnaud Giersch [Tue, 8 Feb 2022 14:52:52 +0000 (15:52 +0100)]
Avoid shadowed declarations.

2 years agoKill useless call to get_init().
Arnaud Giersch [Tue, 8 Feb 2022 14:48:04 +0000 (15:48 +0100)]
Kill useless call to get_init().

2 years agoUpdate .mailmap [ci-skip].
Arnaud Giersch [Mon, 7 Feb 2022 16:00:18 +0000 (17:00 +0100)]
Update .mailmap [ci-skip].

2 years agoReduce scope for variables.
Arnaud Giersch [Wed, 2 Feb 2022 11:21:13 +0000 (12:21 +0100)]
Reduce scope for variables.

2 years agosimplify calls to CommImpl::isend and CommImpl::irecv
SUTER Frederic [Tue, 8 Feb 2022 10:57:07 +0000 (11:57 +0100)]
simplify calls to CommImpl::isend and CommImpl::irecv

2 years ago[sonar] constify
SUTER Frederic [Tue, 8 Feb 2022 10:12:05 +0000 (11:12 +0100)]
[sonar] constify

2 years agoFast path: don't check the dependency between null observers: it's dependent
Martin Quinson [Mon, 7 Feb 2022 14:15:24 +0000 (15:15 +0100)]
Fast path: don't check the dependency between null observers: it's dependent

2 years agoUnify the way we count expended states between checkers
Martin Quinson [Mon, 7 Feb 2022 11:10:06 +0000 (12:10 +0100)]
Unify the way we count expended states between checkers

2 years agoDefine and use a Transition::to_cstring()
Martin Quinson [Mon, 7 Feb 2022 09:43:07 +0000 (10:43 +0100)]
Define and use a Transition::to_cstring()

2 years agoMove Transition::execute() to State::execute_next()
Martin Quinson [Mon, 7 Feb 2022 09:38:40 +0000 (10:38 +0100)]
Move Transition::execute() to State::execute_next()

2 years agoMake State::transition_ private
Martin Quinson [Mon, 7 Feb 2022 09:18:34 +0000 (10:18 +0100)]
Make State::transition_ private

2 years agoMove the selection of the next transition to execute to mc::State
Martin Quinson [Mon, 7 Feb 2022 08:55:04 +0000 (09:55 +0100)]
Move the selection of the next transition to execute to mc::State

2 years agoMake Liveness and CommDet more similar to Safety
Martin Quinson [Mon, 7 Feb 2022 01:34:34 +0000 (02:34 +0100)]
Make Liveness and CommDet more similar to Safety

2 years agoMC: inline a function
Martin Quinson [Mon, 7 Feb 2022 01:24:00 +0000 (02:24 +0100)]
MC: inline a function

2 years agoAutomatize the computation of executed_transitions_
Martin Quinson [Mon, 7 Feb 2022 00:30:45 +0000 (01:30 +0100)]
Automatize the computation of executed_transitions_

2 years agoMove request_execute and request_to_string from api::get() to Transition
Martin Quinson [Mon, 7 Feb 2022 00:18:19 +0000 (01:18 +0100)]
Move request_execute and request_to_string from api::get() to Transition

2 years agoKill a now unused parameter
Martin Quinson [Sun, 6 Feb 2022 23:56:06 +0000 (00:56 +0100)]
Kill a now unused parameter

2 years agoMC: Trade less use of executed_req for more network messages
Martin Quinson [Sun, 6 Feb 2022 23:51:27 +0000 (00:51 +0100)]
MC: Trade less use of executed_req for more network messages

We go through the network to find the string and dot representations
of transitions even when there is no observer

2 years agoMC: simplification: this function shall return a boolean
Martin Quinson [Sun, 6 Feb 2022 22:45:45 +0000 (23:45 +0100)]
MC: simplification: this function shall return a boolean

Its return value was already set to state as a side effect anyway

2 years agoLet's use bool for booleans
Martin Quinson [Sun, 6 Feb 2022 22:23:55 +0000 (23:23 +0100)]
Let's use bool for booleans

2 years agoMC: Inline and simplify a function
Martin Quinson [Sun, 6 Feb 2022 22:17:54 +0000 (23:17 +0100)]
MC: Inline and simplify a function

2 years agoMC: kill an unused function
Martin Quinson [Sun, 6 Feb 2022 21:50:36 +0000 (22:50 +0100)]
MC: kill an unused function

2 years agoFix error 404 for grey.png with recent jenkins [ci-skip].
Arnaud Giersch [Mon, 7 Feb 2022 11:19:36 +0000 (12:19 +0100)]
Fix error 404 for grey.png with recent jenkins [ci-skip].

2 years agoenforce simcall order as before to check dependencies (Isend, Irecv, Wait)
SUTER Frederic [Sun, 6 Feb 2022 11:56:37 +0000 (12:56 +0100)]
enforce simcall order as before to check dependencies (Isend, Irecv, Wait)

2 years agofix isend/irecv to string
SUTER Frederic [Sun, 6 Feb 2022 11:43:41 +0000 (12:43 +0100)]
fix isend/irecv to string

2 years agotest and testany are non blocking simcalls
SUTER Frederic [Sun, 6 Feb 2022 10:59:09 +0000 (11:59 +0100)]
test and testany are non blocking simcalls

2 years agokill unused function
SUTER Frederic [Sat, 5 Feb 2022 18:32:44 +0000 (19:32 +0100)]
kill unused function

2 years agonardin clang (fix clang MC builds)
Martin Quinson [Sun, 6 Feb 2022 08:35:54 +0000 (09:35 +0100)]
nardin clang (fix clang MC builds)

2 years agoMC: rely less on executed_req_ and more on observers
Martin Quinson [Sun, 6 Feb 2022 00:01:46 +0000 (01:01 +0100)]
MC: rely less on executed_req_ and more on observers

2 years agoWhat about not testing the dependencies of transitions with themselves? bummer
Martin Quinson [Sat, 5 Feb 2022 23:50:45 +0000 (00:50 +0100)]
What about not testing the dependencies of transitions with themselves? bummer

2 years agoMC: Kill now unused fields
Martin Quinson [Sat, 5 Feb 2022 23:19:02 +0000 (00:19 +0100)]
MC: Kill now unused fields

2 years agoDon't compute the dependencies locally in the checker, but through the observers...
Martin Quinson [Sat, 5 Feb 2022 22:57:33 +0000 (23:57 +0100)]
Don't compute the dependencies locally in the checker, but through the observers over the network

2 years agoback to normal ... keep progressing towards modern simcalls for all
SUTER Frederic [Sat, 5 Feb 2022 17:56:24 +0000 (18:56 +0100)]
back to normal ... keep progressing towards modern simcalls for all

2 years agoMC: isend/irecv are not blocking
Martin Quinson [Sat, 5 Feb 2022 14:53:26 +0000 (15:53 +0100)]
MC: isend/irecv are not blocking

Also, add some debug info to the MC exploration

2 years agoMC: do not segfault when the logs are activated
Martin Quinson [Sat, 5 Feb 2022 12:18:30 +0000 (13:18 +0100)]
MC: do not segfault when the logs are activated

2 years agoconvert more isend/irecv locations to the new simcalls, for compatibility
Martin Quinson [Fri, 4 Feb 2022 23:52:43 +0000 (00:52 +0100)]
convert more isend/irecv locations to the new simcalls, for compatibility

2 years agooopsie
SUTER Frederic [Fri, 4 Feb 2022 15:54:32 +0000 (16:54 +0100)]
oopsie

2 years agocontinue to mess with MC
SUTER Frederic [Fri, 4 Feb 2022 15:45:11 +0000 (16:45 +0100)]
continue to mess with MC

2 years agostay with double for payload size (fix 32bit issues?
SUTER Frederic [Fri, 4 Feb 2022 09:25:03 +0000 (10:25 +0100)]
stay with double for payload size (fix 32bit issues?

2 years agospecify in the COPYING file that we are LGPL-v2.1-only
Martin Quinson [Thu, 3 Feb 2022 21:40:43 +0000 (22:40 +0100)]
specify in the COPYING file that we are LGPL-v2.1-only

Closes: https://framagit.org/simgrid/simgrid/-/issues/101

2 years agopreshot sonar (dead code; equality test between double)
Martin Quinson [Thu, 3 Feb 2022 21:27:18 +0000 (22:27 +0100)]
preshot sonar (dead code; equality test between double)

2 years agoremove old simcall_comm_test and simcall_comm_testany
SUTER Frederic [Thu, 3 Feb 2022 21:40:29 +0000 (22:40 +0100)]
remove old simcall_comm_test and simcall_comm_testany

2 years agosimcall translation is now useless
SUTER Frederic [Thu, 3 Feb 2022 21:12:16 +0000 (22:12 +0100)]
simcall translation is now useless

2 years agoMerge branch 'wifi_rate_zero' into 'master'
Martin Quinson [Thu, 3 Feb 2022 21:25:26 +0000 (21:25 +0000)]
Merge branch 'wifi_rate_zero' into 'master'

zero wifi rate

See merge request simgrid/simgrid!76

2 years agolet SMPI use old simcalls for now
SUTER Frederic [Thu, 3 Feb 2022 19:01:09 +0000 (20:01 +0100)]
let SMPI use old simcalls for now

2 years agomake isend and irecv observable (except for irecv in smpi_request.cpp)
SUTER Frederic [Thu, 3 Feb 2022 16:23:46 +0000 (17:23 +0100)]
make isend and irecv observable (except for irecv in smpi_request.cpp)

2 years agodraft CommI{send,recv}Observer
SUTER Frederic [Thu, 3 Feb 2022 12:22:47 +0000 (13:22 +0100)]
draft CommI{send,recv}Observer

2 years agomove the code of isend and irecv out of the handler and into CommImpl
SUTER Frederic [Wed, 2 Feb 2022 18:32:29 +0000 (19:32 +0100)]
move the code of isend and irecv out of the handler and into CommImpl

2 years agoUpdate references to the mailing list.
Arnaud Giersch [Thu, 3 Feb 2022 14:33:29 +0000 (15:33 +0100)]
Update references to the mailing list.

2 years agoMerge branch 'stable'
Arnaud Giersch [Thu, 3 Feb 2022 14:32:45 +0000 (15:32 +0100)]
Merge branch 'stable'

2 years agoadd a word in the doc about deploying multiple processes per node in a single line...
Augustin Degomme [Thu, 3 Feb 2022 10:02:55 +0000 (11:02 +0100)]
add a word in the doc about deploying multiple processes per node in a single line of the hostfile

2 years agoupdate changelog
Augustin Degomme [Thu, 3 Feb 2022 10:00:48 +0000 (11:00 +0100)]
update changelog

2 years agoExclude an oversized python notebook file from the distributed archives
Martin Quinson [Wed, 2 Feb 2022 22:51:54 +0000 (23:51 +0100)]
Exclude an oversized python notebook file from the distributed archives

2 years agoadd missing override keywords
SUTER Frederic [Wed, 2 Feb 2022 18:10:47 +0000 (19:10 +0100)]
add missing override keywords

2 years agomore progress in simcalls modernization and MC cleanup
SUTER Frederic [Wed, 2 Feb 2022 17:59:17 +0000 (18:59 +0100)]
more progress in simcalls modernization and MC cleanup

2 years agomark some old simcalls as deprecated (test, test_any, and wait_any)
SUTER Frederic [Wed, 2 Feb 2022 13:33:26 +0000 (14:33 +0100)]
mark some old simcalls as deprecated (test, test_any, and wait_any)

2 years agotake two on prepare() for Waitany and Testany observers
SUTER Frederic [Wed, 2 Feb 2022 11:16:04 +0000 (12:16 +0100)]
take two on prepare() for Waitany and Testany observers

2 years agozero wifi rate
Clément Courageux-Sudan [Wed, 2 Feb 2022 11:11:58 +0000 (12:11 +0100)]
zero wifi rate

2 years agobetter handling of ActivityImpl::wait_for with dying actors
SUTER Frederic [Wed, 2 Feb 2022 10:03:13 +0000 (11:03 +0100)]
better handling of ActivityImpl::wait_for with dying actors

2 years agoadd prepare() to some observers
SUTER Frederic [Wed, 2 Feb 2022 09:28:14 +0000 (10:28 +0100)]
add prepare() to some observers

2 years agoactivity-lifecycle: Factorize some code
Martin Quinson [Wed, 2 Feb 2022 08:33:26 +0000 (09:33 +0100)]
activity-lifecycle: Factorize some code

2 years agoMake it clear in output that the direct comms are sendto [no-ci]
Martin Quinson [Wed, 2 Feb 2022 07:59:38 +0000 (08:59 +0100)]
Make it clear in output that the direct comms are sendto [no-ci]

2 years agothis file is too deep to allow XBT_INFO, so keep with printfs
Martin Quinson [Tue, 1 Feb 2022 21:07:35 +0000 (22:07 +0100)]
this file is too deep to allow XBT_INFO, so keep with printfs

2 years agoMore verbose on an error experienced on aarch64-darwin [no-ci]
Martin Quinson [Tue, 1 Feb 2022 20:40:46 +0000 (21:40 +0100)]
More verbose on an error experienced on aarch64-darwin [no-ci]

2 years agodoc: explain how to install stuff in a docker that runs as a user
Martin Quinson [Mon, 31 Jan 2022 22:14:39 +0000 (23:14 +0100)]
doc: explain how to install stuff in a docker that runs as a user

2 years agoThere is no timestamp in TI events, so they were never dumped during execution, only...
Augustin Degomme [Tue, 1 Feb 2022 15:23:24 +0000 (16:23 +0100)]
There is no timestamp in TI events, so they were never dumped during execution, only at the end.
This should save a lot of memory, at the expanse of more file accesses.

2 years agoUpdate ChangeLog.
Arnaud Giersch [Tue, 1 Feb 2022 13:55:50 +0000 (14:55 +0100)]
Update ChangeLog.

2 years agoReduce depth of nested 'if' statements (sonar).
Arnaud Giersch [Tue, 1 Feb 2022 13:55:31 +0000 (14:55 +0100)]
Reduce depth of nested 'if' statements (sonar).

2 years agoAvoid const cast (sonar).
Arnaud Giersch [Tue, 1 Feb 2022 12:22:05 +0000 (13:22 +0100)]
Avoid const cast (sonar).

There is apparently no need for a fake argv[0].

2 years agoConst reference for large parameter.
Arnaud Giersch [Tue, 1 Feb 2022 12:21:39 +0000 (13:21 +0100)]
Const reference for large parameter.

2 years agoCosmetics: whitespaces and empty statement.
Arnaud Giersch [Tue, 1 Feb 2022 12:19:20 +0000 (13:19 +0100)]
Cosmetics: whitespaces and empty statement.

2 years agoUse declared namespace alias py = pybind11.
Arnaud Giersch [Tue, 1 Feb 2022 11:07:52 +0000 (12:07 +0100)]
Use declared namespace alias py = pybind11.

Also, use plain py::object which is a sort of smart pointer.

2 years agoplease clang
SUTER Frederic [Tue, 1 Feb 2022 11:14:12 +0000 (12:14 +0100)]
please clang

2 years agoStart to modernize the remaining old simcalls related to comms
SUTER Frederic [Tue, 1 Feb 2022 10:32:05 +0000 (11:32 +0100)]
Start to modernize the remaining old simcalls related to comms
+ refactor wait, test, waitany, and testany at the activity level
+ use observers for all the simcalls related to these operations
+ add 2 new examples that allows to test or wait for the completion of
any kind of activities stored in a single vector
+ simplify another example thanks to that
+ implement the to_string and dot_label functions in the observers
instead of in mc::Api

This (big) commit breaks the MC has the dependency check still mixes
old and modern simcalls and is thus borken. This is a work in progress
for the greater good, and towards SG4.

2 years agofix deprecation of Engine.get_clock()
SUTER Frederic [Tue, 1 Feb 2022 08:43:47 +0000 (09:43 +0100)]
fix deprecation of Engine.get_clock()

2 years agofix waitall handling in SMPI replay.
Augustin Degomme [Tue, 1 Feb 2022 08:41:21 +0000 (09:41 +0100)]
fix waitall handling in SMPI replay.
Pending requests were not stored properly since last code overhaul.
Some were not waited on, leading to potentially massive leaks and performance issue.

2 years agoCMake does not want versions < 2.8.12 of itself
Martin Quinson [Mon, 31 Jan 2022 20:43:28 +0000 (21:43 +0100)]
CMake does not want versions < 2.8.12 of itself

2 years agoKill now unused xbt_dynar_shrink().
Arnaud Giersch [Mon, 31 Jan 2022 16:15:57 +0000 (17:15 +0100)]
Kill now unused xbt_dynar_shrink().

2 years agoDefine macro XBT_ATTRIB_DEPRECATED_v335.
Arnaud Giersch [Mon, 31 Jan 2022 07:47:18 +0000 (08:47 +0100)]
Define macro XBT_ATTRIB_DEPRECATED_v335.

2 years agoRemove deprecated features for next release (3.31).
Arnaud Giersch [Mon, 31 Jan 2022 07:47:18 +0000 (08:47 +0100)]
Remove deprecated features for next release (3.31).

2 years agoMerge branch 'stable'
Arnaud Giersch [Mon, 31 Jan 2022 07:50:57 +0000 (08:50 +0100)]
Merge branch 'stable'

2 years agodocker: push all tags
Martin Quinson [Mon, 31 Jan 2022 00:06:56 +0000 (01:06 +0100)]
docker: push all tags

2 years agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Mon, 31 Jan 2022 00:04:24 +0000 (01:04 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid

2 years agoStart a new dev cycle for v3.31
Martin Quinson [Sun, 30 Jan 2022 23:24:52 +0000 (00:24 +0100)]
Start a new dev cycle for v3.31