Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
4 years agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Wed, 25 Sep 2019 18:14:13 +0000 (20:14 +0200)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

4 years agoregenerate smpi_extended_traces.h and friends after the addition of MPI_Bsend and...
Martin Quinson [Wed, 25 Sep 2019 16:11:23 +0000 (18:11 +0200)]
regenerate smpi_extended_traces.h and friends after the addition of MPI_Bsend and friends

4 years agoKill TRACE_smpi_finalize() and have the container unregistered as soon as the actor...
Martin Quinson [Wed, 25 Sep 2019 16:09:59 +0000 (18:09 +0200)]
Kill TRACE_smpi_finalize() and have the container unregistered as soon as the actor leaves

Of course this requires to revalidate some tesh files, as the ending
date is impacted by this change.

4 years agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Wed, 25 Sep 2019 15:36:39 +0000 (17:36 +0200)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

4 years agoremove trace finalize from process ending, cleanup is done by trace_end anyway.
Augustin Degomme [Wed, 25 Sep 2019 13:31:39 +0000 (15:31 +0200)]
remove trace finalize from process ending, cleanup is done by trace_end anyway.

4 years agofix a memleak coming from cyclic references in smart pointers
Martin Quinson [Wed, 25 Sep 2019 11:00:50 +0000 (13:00 +0200)]
fix a memleak coming from cyclic references in smart pointers

Before that change, the SMPI extension of actors got a smart reference
onto the S4U actor. That prevented S4U actors from being garbage
collected, since a SMPI extension is freed (and its smart references
released) only when the S4U actor is destroyed.

The change of this commit simply replace smart references with dumb
pointers to break the deadlock in the reference cycle, so that s4u
actors get collected after use.

4 years agodocument last change
Martin Quinson [Mon, 23 Sep 2019 19:30:57 +0000 (21:30 +0200)]
document last change

4 years agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Tue, 24 Sep 2019 15:56:56 +0000 (17:56 +0200)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

4 years agowarning --
Augustin Degomme [Tue, 24 Sep 2019 15:41:53 +0000 (17:41 +0200)]
warning --

4 years agomove newly implemented calls out of the 'not yet implemented' section
Augustin Degomme [Tue, 24 Sep 2019 14:27:09 +0000 (16:27 +0200)]
move newly implemented calls out of the 'not yet implemented' section

4 years agochangelog update
Augustin Degomme [Tue, 24 Sep 2019 14:26:45 +0000 (16:26 +0200)]
changelog update

4 years agoactivate bsend tests.
Augustin Degomme [Tue, 24 Sep 2019 14:18:25 +0000 (16:18 +0200)]
activate bsend tests.
Modify one to stop spending too much time sleeping as we test with bogus platforms.

4 years agoadd MPI_Bsend, MPI_Ibsend, MPI_Bsend_init, MPI_Buffer_attach, MPI_Buffer_detach.
Augustin Degomme [Tue, 24 Sep 2019 14:16:13 +0000 (16:16 +0200)]
add MPI_Bsend, MPI_Ibsend, MPI_Bsend_init, MPI_Buffer_attach, MPI_Buffer_detach.
fun fact: we are not actually using the provided buffer in SMPI, as we use our own buffers internally for all detached calls (bsend means detached).

4 years agoMerge branch 'master' into 'master'
Martin Quinson [Mon, 23 Sep 2019 19:29:04 +0000 (21:29 +0200)]
Merge branch 'master' into 'master'

Improving the performance of the NS-3 bindings by:

See merge request simgrid/simgrid!18

4 years agoImproving the performance of the NS-3 bindings by:
bcamus [Mon, 23 Sep 2019 16:38:27 +0000 (18:38 +0200)]
Improving the performance of the NS-3 bindings by:
  + Stop moving NS-3 forward when there is no flow, and synchronizing NS-3 with SimGrid only when a new flow starts instead.
  + Cancelling the Stop event we scheduled in NS-3 if the simulator stops before the event, to prevent untimely stops.

4 years agoStart preparing for a release
Martin Quinson [Mon, 23 Sep 2019 09:48:42 +0000 (11:48 +0200)]
Start preparing for a release

4 years agoDon't mandate C++14 as some build daemons still don't have it
Martin Quinson [Mon, 23 Sep 2019 09:36:28 +0000 (11:36 +0200)]
Don't mandate C++14 as some build daemons still don't have it

4 years agofix make dist (again and again)
Martin Quinson [Mon, 23 Sep 2019 09:04:31 +0000 (11:04 +0200)]
fix make dist (again and again)

4 years agoMC: switch to xxhash as a (fast) hashing function.
Martin Quinson [Mon, 23 Sep 2019 08:49:42 +0000 (10:49 +0200)]
MC: switch to xxhash as a (fast) hashing function.

Mandates C++14 but should be faster according to
https://aras-p.info/blog/2016/08/02/Hash-Functions-all-the-way-down/

4 years agoAdd a fast hash function (mandates C++14 for MC)
Martin Quinson [Mon, 23 Sep 2019 07:55:56 +0000 (09:55 +0200)]
Add a fast hash function (mandates C++14 for MC)

This comes from
https://github.com/RedSpah/xxhash_cpp/commit/a310676e1514b49d78f0c9ced0678efea4f82fd9

This requires C++14:
  xxhash.hpp:288:40: error: variable declaration in a constexpr function is a C++14 extension

So bump the dependencies of the Model Checker to C++14. That's an
intrusive move, but MC is experimental anyway, and C++14 isn't that
modern anymore.

4 years agofix make dist
Martin Quinson [Mon, 23 Sep 2019 00:36:33 +0000 (02:36 +0200)]
fix make dist

4 years agoMake this test more verbose to improve debuggability
Martin Quinson [Mon, 23 Sep 2019 00:34:34 +0000 (02:34 +0200)]
Make this test more verbose to improve debuggability

4 years agoMerge the two wifi tests together
Martin Quinson [Mon, 23 Sep 2019 00:06:47 +0000 (02:06 +0200)]
Merge the two wifi tests together

4 years agoMerge the two wifi platform files
Martin Quinson [Sun, 22 Sep 2019 23:19:48 +0000 (01:19 +0200)]
Merge the two wifi platform files

And rename the result to simply 'wifi.xml'

4 years agomodernize these platform files
Martin Quinson [Sun, 22 Sep 2019 23:09:02 +0000 (01:09 +0200)]
modernize these platform files

4 years agointegrate the wifi unit tests
Martin Quinson [Sun, 22 Sep 2019 22:55:54 +0000 (00:55 +0200)]
integrate the wifi unit tests

4 years agoreduce the verbosity of this test and increase its effectiveness
Martin Quinson [Sun, 22 Sep 2019 22:31:59 +0000 (00:31 +0200)]
reduce the verbosity of this test and increase its effectiveness

This is merely a crash test

4 years agoRemove the Codacy badge since we unplugged that project
Martin Quinson [Fri, 20 Sep 2019 19:37:58 +0000 (21:37 +0200)]
Remove the Codacy badge since we unplugged that project

4 years agoadd missing platform file in the dist
Augustin Degomme [Fri, 20 Sep 2019 14:37:53 +0000 (16:37 +0200)]
add missing platform file in the dist

4 years agoDocument recent changes
Martin Quinson [Fri, 20 Sep 2019 13:38:37 +0000 (15:38 +0200)]
Document recent changes

4 years agoadd NS3 files to the dist even when NS3 is not configured
Augustin Degomme [Fri, 20 Sep 2019 13:28:31 +0000 (15:28 +0200)]
add NS3 files to the dist even when NS3 is not configured

4 years agoMerge branch 'master' into 'master'
Martin Quinson [Fri, 20 Sep 2019 12:57:08 +0000 (14:57 +0200)]
Merge branch 'master' into 'master'

NS-3: unblock the number of communications + detect when several flows are simultaneously finishing

See merge request simgrid/simgrid!17

4 years agomention closing of GH#207
Frederic Suter [Fri, 20 Sep 2019 10:27:58 +0000 (12:27 +0200)]
mention closing of GH#207

4 years agorework a bit and typo fixes
Frederic Suter [Fri, 20 Sep 2019 07:44:25 +0000 (09:44 +0200)]
rework a bit and typo fixes

4 years agofix formatting
Frederic Suter [Thu, 19 Sep 2019 14:54:56 +0000 (16:54 +0200)]
fix formatting

4 years agoadding a test to check if the NS-3 bindings can handle flows that simultaneously end
bcamus [Thu, 19 Sep 2019 14:21:12 +0000 (16:21 +0200)]
adding a test to check if the NS-3 bindings can handle flows that simultaneously end

4 years agoUnblock the number of communications that can be done with NS-3 by
bcamus [Thu, 19 Sep 2019 09:51:22 +0000 (11:51 +0200)]
Unblock the number of communications that can be done with NS-3 by
  + looping on the ports used to communicate,
  + and closing the sockets on the receiver sides (nb. the senders sockets were already closed). This point also improves the NS-3 bindings performance.

4 years agowrote a small blurb to explain the TCP model in practice
Frederic Suter [Thu, 19 Sep 2019 09:30:02 +0000 (11:30 +0200)]
wrote a small blurb to explain the TCP model in practice

4 years agoI am so sorry.
Martin Quinson [Wed, 18 Sep 2019 18:37:57 +0000 (20:37 +0200)]
I am so sorry.

4 years agoTo detect all the flows that are finishing at the same time, allow NS-3 to have a...
bcamus [Tue, 17 Sep 2019 13:54:24 +0000 (15:54 +0200)]
To detect all the flows that are finishing at the same time, allow NS-3 to have a next_occuring_event of 0.
To avoid inconsistencies between SimGrid actions and NS3 flows, set the remainings of an action to 0 only when its flow is finished in NS3

4 years agoremove another pimpl in smpi initialization
Martin Quinson [Mon, 16 Sep 2019 22:14:16 +0000 (00:14 +0200)]
remove another pimpl in smpi initialization

4 years agosmpi: get ride of process_data and use a regular Extension
Martin Quinson [Mon, 16 Sep 2019 21:51:51 +0000 (23:51 +0200)]
smpi: get ride of process_data and use a regular Extension

4 years agoRevert "debug a problem making LSAN to segfault"
Martin Quinson [Mon, 16 Sep 2019 20:34:56 +0000 (22:34 +0200)]
Revert "debug a problem making LSAN to segfault"

The new information are not very informative, and break many tests
that were working.

This reverts commit 219b128344e14ff691c5f9615741d006ac79aeec.

4 years agodebug a problem making LSAN to segfault
Martin Quinson [Sun, 15 Sep 2019 20:24:32 +0000 (22:24 +0200)]
debug a problem making LSAN to segfault

4 years agodocument existing coding convention in C, and stick to it
Martin Quinson [Sun, 15 Sep 2019 08:31:18 +0000 (10:31 +0200)]
document existing coding convention in C, and stick to it

4 years agoAdd sg_actor_{get,set}_data()
Martin Quinson [Sun, 15 Sep 2019 08:18:55 +0000 (10:18 +0200)]
Add sg_actor_{get,set}_data()

This fixes https://framagit.org/simgrid/simgrid/issues/31

4 years agoAlign Link get/set_data() with the Extendable version of that feature
Martin Quinson [Sat, 14 Sep 2019 21:00:43 +0000 (23:00 +0200)]
Align Link get/set_data() with the Extendable version of that feature

4 years agoAlign Storage get/set_data() with the Extendable version of that feature
Martin Quinson [Sat, 14 Sep 2019 20:53:03 +0000 (22:53 +0200)]
Align Storage get/set_data() with the Extendable version of that feature

That was easy.

4 years agoAlign host get/set_data() with the Extendable version of that feature
Martin Quinson [Sat, 14 Sep 2019 20:42:53 +0000 (22:42 +0200)]
Align host get/set_data() with the Extendable version of that feature

4 years agogive a set_data() and get_data() to all xbt::Extendable structures
Martin Quinson [Sat, 14 Sep 2019 19:43:21 +0000 (21:43 +0200)]
give a set_data() and get_data() to all xbt::Extendable structures

This is for C users, and it will unify all versions of the same
feature all over the place.

4 years agomove some global signals to the Engine
Martin Quinson [Fri, 13 Sep 2019 14:20:06 +0000 (16:20 +0200)]
move some global signals to the Engine

4 years agotry to reduce the memory consistency requirements in the actor refcounting
Martin Quinson [Fri, 13 Sep 2019 09:20:47 +0000 (11:20 +0200)]
try to reduce the memory consistency requirements in the actor refcounting

some people actually seem to like those C++'s hardcore brain teasers

4 years agoMC: rename some methods to make their intent clear
Martin Quinson [Wed, 11 Sep 2019 23:31:35 +0000 (01:31 +0200)]
MC: rename some methods to make their intent clear

4 years agodocument intent of that test
Martin Quinson [Wed, 11 Sep 2019 23:31:01 +0000 (01:31 +0200)]
document intent of that test

4 years agoharden fortran builds to please debian
Martin Quinson [Mon, 9 Sep 2019 06:42:25 +0000 (08:42 +0200)]
harden fortran builds to please debian

4 years agoremove codacy.
Augustin Degomme [Wed, 11 Sep 2019 12:52:33 +0000 (14:52 +0200)]
remove codacy.
It was redundant and the project was deactivated on the website.

4 years agoMerge branch 'master' into 'master'
Martin Quinson [Tue, 10 Sep 2019 11:40:32 +0000 (13:40 +0200)]
Merge branch 'master' into 'master'

Fix the NS3 bindings to detect when several flows are simultaneously finishing

See merge request simgrid/simgrid!16

4 years agoTo stop NS3 in a consistant state at its next occuring event time, make sure it has...
bcamus [Tue, 10 Sep 2019 08:39:59 +0000 (10:39 +0200)]
To stop NS3 in a consistant state at its next occuring event time, make sure it has processed all the flows that are finishing at this time.

4 years agocosmetics in the wanna be MC's simcall observer
Martin Quinson [Mon, 9 Sep 2019 00:18:06 +0000 (02:18 +0200)]
cosmetics in the wanna be MC's simcall observer

4 years agoimprove the doc of the MC reduction technics
Martin Quinson [Sun, 8 Sep 2019 23:55:31 +0000 (01:55 +0200)]
improve the doc of the MC reduction technics

4 years agoWifi: Clean obsolete code
Loic Guegan [Fri, 6 Sep 2019 10:45:37 +0000 (12:45 +0200)]
Wifi: Clean obsolete code

4 years agoWifi: Add crosstraffic on WIFI cells
Loic Guegan [Fri, 6 Sep 2019 09:44:30 +0000 (11:44 +0200)]
Wifi: Add crosstraffic on WIFI cells

4 years agoWifi: Add wifi tesh sources
Loic Guegan [Fri, 6 Sep 2019 09:36:12 +0000 (11:36 +0200)]
Wifi: Add wifi tesh sources

4 years agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Thu, 5 Sep 2019 11:23:43 +0000 (13:23 +0200)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

4 years agono more need to pass issuer to suspend
Frederic Suter [Thu, 5 Sep 2019 11:23:13 +0000 (13:23 +0200)]
no more need to pass issuer to suspend

4 years agoWifi: Ajust model on internal AP communication
Loic Guegan [Thu, 5 Sep 2019 09:09:42 +0000 (11:09 +0200)]
Wifi: Ajust model on internal AP communication

4 years agoWifi: Allow crosstraffic simulations
Loic Guegan [Thu, 5 Sep 2019 08:51:34 +0000 (10:51 +0200)]
Wifi: Allow crosstraffic simulations

4 years agoclang-tidy the ns3 model
Martin Quinson [Tue, 3 Sep 2019 21:42:54 +0000 (23:42 +0200)]
clang-tidy the ns3 model

4 years agoExit with a special exit code on failure in the last stage.
Arnaud Giersch [Mon, 2 Sep 2019 10:08:58 +0000 (12:08 +0200)]
Exit with a special exit code on failure in the last stage.

This can be used in jenkins to mark the build "unstable" instead of "failed".

4 years agodoc: specify that you need to build the tests before ctest
Martin Quinson [Sun, 1 Sep 2019 00:54:50 +0000 (02:54 +0200)]
doc: specify that you need to build the tests before ctest

4 years agocmake: accept enable-model-checking as an alias to enable_model-checking
Martin Quinson [Sun, 1 Sep 2019 00:50:52 +0000 (02:50 +0200)]
cmake: accept enable-model-checking as an alias to enable_model-checking

This should be generalized to the many potential typos in the option
name, but I don't feel like scripting in cmake tonight.

4 years agoanother batch of small improvements advised by clang-tidy
Martin Quinson [Sun, 1 Sep 2019 00:33:24 +0000 (02:33 +0200)]
another batch of small improvements advised by clang-tidy

4 years agodoc: specify that ltl2ba is not part of SimGrid
Martin Quinson [Sun, 1 Sep 2019 00:12:09 +0000 (02:12 +0200)]
doc: specify that ltl2ba is not part of SimGrid

4 years agofurther very small steps to modernize our code. thanks clang-tidy
Martin Quinson [Thu, 29 Aug 2019 00:01:45 +0000 (02:01 +0200)]
further very small steps to modernize our code. thanks clang-tidy

4 years agomodernize our C++
Martin Quinson [Tue, 27 Aug 2019 07:28:06 +0000 (09:28 +0200)]
modernize our C++

- Use auto when using new to not repeat the type
- Pass parameter by value + std::move instead of pass by reference

This was advized by clang advanced warnings

4 years agoDon't name the unused parameter of this callback
Martin Quinson [Tue, 27 Aug 2019 07:22:19 +0000 (09:22 +0200)]
Don't name the unused parameter of this callback

4 years agofix a bug in a deprecated function
Martin Quinson [Tue, 27 Aug 2019 07:21:22 +0000 (09:21 +0200)]
fix a bug in a deprecated function

Found by a static analyzer because the function parameter was unused

4 years agoSpelling fixes & a few cases of polishing the English (#329)
Gene Cooperman [Sat, 31 Aug 2019 23:56:03 +0000 (19:56 -0400)]
Spelling fixes & a few cases of polishing the English (#329)

Some of the more specialized fixes were:
 - 'DEAD-LOCK' -> 'DEADLOCK'  (appears when MC fnids a deadlock.
 - 'allows to' -> 'allows one to' (and so on for allow/allows/permit/permits)
   'model-checker' -> 'model checker'
     ('the model-checker software', but 'the model checker')

4 years agoFactor common definition, and avoid empty component in LD_LIBRARY_PATH.
Arnaud Giersch [Wed, 28 Aug 2019 13:30:22 +0000 (15:30 +0200)]
Factor common definition, and avoid empty component in LD_LIBRARY_PATH.

4 years agoDrop spurious colon.
Arnaud Giersch [Wed, 28 Aug 2019 12:52:21 +0000 (14:52 +0200)]
Drop spurious colon.

4 years agodon't forget to set include path in this case.
Augustin Degomme [Wed, 28 Aug 2019 13:00:13 +0000 (15:00 +0200)]
don't forget to set include path in this case.

4 years agodon't throw away existing LD_LIBRARY_PATH in our tests.
Augustin Degomme [Wed, 28 Aug 2019 10:16:40 +0000 (12:16 +0200)]
don't throw away existing LD_LIBRARY_PATH in our tests.

4 years agoactually failsafe has to be applied in all cases.
Augustin Degomme [Wed, 28 Aug 2019 09:57:30 +0000 (11:57 +0200)]
actually failsafe has to be applied in all cases.
Windows on travis has a 1.58 boost, so it was failing the first attempt, but a recent cmake so it was avoiding the second.

4 years agofix mc build with gcc10
Augustin Degomme [Tue, 27 Aug 2019 23:09:24 +0000 (01:09 +0200)]
fix mc build with gcc10

4 years agolet's be gentle with old cmakes which can't handle missing optional boost libs
Augustin Degomme [Tue, 27 Aug 2019 23:09:12 +0000 (01:09 +0200)]
let's be gentle with old cmakes which can't handle missing optional boost libs

4 years agoAttempt to ease detection of boost libraries.
Augustin Degomme [Tue, 27 Aug 2019 21:27:45 +0000 (23:27 +0200)]
Attempt to ease detection of boost libraries.
Will probably break things everywhere.

4 years agoAdd some includes to please GCC 10
Augustin Degomme [Tue, 27 Aug 2019 10:29:49 +0000 (12:29 +0200)]
Add some includes to please GCC 10

4 years agoWorkaround build error seen with clang 10 on freebsd.
Arnaud Giersch [Tue, 27 Aug 2019 12:12:59 +0000 (14:12 +0200)]
Workaround build error seen with clang 10 on freebsd.

In file included from [...]/src/bindings/python/simgrid_python.cpp:11:
In file included from /usr/local/include/pybind11/functional.h:12:
/usr/local/include/pybind11/pybind11.h:1078:9: error: expression result unused [-Werror,-Wunused-value]
        PYBIND11_EXPAND_SIDE_EFFECTS(add_base<options>(record));
[...]

4 years agoUse C++-style cast.
Arnaud Giersch [Tue, 27 Aug 2019 09:57:16 +0000 (11:57 +0200)]
Use C++-style cast.

4 years agoFix build with MC.
Arnaud Giersch [Tue, 27 Aug 2019 09:38:03 +0000 (11:38 +0200)]
Fix build with MC.

4 years agoFiles were regenerated.
Arnaud Giersch [Tue, 27 Aug 2019 08:51:40 +0000 (10:51 +0200)]
Files were regenerated.

4 years agoFix: undefined reference to `typeinfo for simgrid::mc::SimcallInspector'
Arnaud Giersch [Tue, 27 Aug 2019 08:46:28 +0000 (10:46 +0200)]
Fix: undefined reference to `typeinfo for simgrid::mc::SimcallInspector'

4 years agoDisable test stack-overflow with tsan too (false positive).
Arnaud Giersch [Sun, 28 Jul 2019 14:30:38 +0000 (16:30 +0200)]
Disable test stack-overflow with tsan too (false positive).

4 years ago[cppcheck] Reduce scope for variable.
Arnaud Giersch [Wed, 24 Jul 2019 16:04:51 +0000 (18:04 +0200)]
[cppcheck] Reduce scope for variable.

4 years agoWIFI: Now implemented
Loic Guegan [Tue, 27 Aug 2019 08:08:47 +0000 (10:08 +0200)]
WIFI: Now implemented

4 years agofix pip packaging
Martin Quinson [Sun, 25 Aug 2019 20:44:39 +0000 (22:44 +0200)]
fix pip packaging

4 years agotesh kill timeouted processes with KILL also
Martin Quinson [Sun, 25 Aug 2019 19:41:40 +0000 (21:41 +0200)]
tesh kill timeouted processes with KILL also

It seems that the sanitizers processes are surviving their timeouts on
the server, so this may help fixing the build robots.

On the way, I switched to save the PID of the forked process instead
of its PGID. This helps when I try to see if the process is still
alive, later on: I can always do PID->PGID later (as I do now) while
it seems impossible to do PGID->PID to see whether the process is
still alive.

Fun fact: I think that PID=PGID on POSIX systems, but let's play safe :)

4 years agoDPOR: improve debug messages
Martin Quinson [Mon, 19 Aug 2019 14:50:52 +0000 (16:50 +0200)]
DPOR: improve debug messages

4 years agoadd test proposed in #39
Augustin Degomme [Thu, 22 Aug 2019 23:44:10 +0000 (01:44 +0200)]
add test proposed in #39
For now in teshsuite, might be moved to examples if someone asks

4 years agoshould work better with the hostfile in the dist.
Augustin Degomme [Thu, 22 Aug 2019 13:40:40 +0000 (15:40 +0200)]
should work better with the hostfile in the dist.