Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
4 months ago[project-description] Fix extraction of the ns-3 version.
Arnaud Giersch [Mon, 4 Jul 2022 09:41:06 +0000 (11:41 +0200)]
[project-description] Fix extraction of the ns-3 version.

[ci-skip]

4 months agoReintroduce "3-dev" in list of ns3 known versions.
Arnaud Giersch [Sun, 3 Jul 2022 21:45:03 +0000 (23:45 +0200)]
Reintroduce "3-dev" in list of ns3 known versions.

4 months agoRecompute set of ns-3 lirairies.
Arnaud Giersch [Sun, 3 Jul 2022 20:57:26 +0000 (22:57 +0200)]
Recompute set of ns-3 lirairies.

Hack taken from CMakeLists.txt before commit
2104ee14b4207b9830a0ab424538ba900d4106bc Adapt to the upcoming ns-3 v3.36.1

4 months agoTry to fix number of '\' escapes in cmake regexps.
Arnaud Giersch [Sun, 3 Jul 2022 13:40:25 +0000 (15:40 +0200)]
Try to fix number of '\' escapes in cmake regexps.

4 months agosthread: don't intercept the main when run from smpirun
Martin Quinson [Sat, 2 Jul 2022 20:40:42 +0000 (22:40 +0200)]
sthread: don't intercept the main when run from smpirun

4 months agoAdapt to the upcoming ns-3 v3.36.1
Martin Quinson [Sat, 2 Jul 2022 11:39:11 +0000 (13:39 +0200)]
Adapt to the upcoming ns-3 v3.36.1

4 months agoMake libsthtread valgrind-aware.
Arnaud Giersch [Fri, 1 Jul 2022 15:04:19 +0000 (17:04 +0200)]
Make libsthtread valgrind-aware.

Without this change, libsthread is initialized twice when using valgrind:
one for the valgrind launcher, and one for the target program.

Use the environment variable VALGRIND_LIB to detect the usage of valgrind,
and don't divert main() when RUNNING_ON_VALGRIND returns 0.

Just hope that noboby has VALGRIND_LIB in its environment without using valgrind.
In this case, the check can be reinforced by looking for the substring "valgrind" in argv[0].

For example, run:
valgrind --trace-children=yes env LD_PRELOAD=./lib/libsthread.so ./examples/sthread/pthread-mutex-simple

5 months agoSonar issues.
Arnaud Giersch [Fri, 1 Jul 2022 08:37:11 +0000 (10:37 +0200)]
Sonar issues.

5 months agoFix test with ASan.
Arnaud Giersch [Thu, 30 Jun 2022 13:11:13 +0000 (15:11 +0200)]
Fix test with ASan.

It failed with: ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.

Use ASAN_OPTIONS=verify_asan_link_order=0 instead.

5 months agoPlease valgrind.
Arnaud Giersch [Thu, 30 Jun 2022 08:32:31 +0000 (10:32 +0200)]
Please valgrind.

5 months agoCosmetics (indentation, codefactor.io).
Arnaud Giersch [Thu, 30 Jun 2022 08:17:10 +0000 (10:17 +0200)]
Cosmetics (indentation, codefactor.io).

[ci-skip]

5 months agoMerge branch 'dev-get-hostname-faster' into 'master'
Arnaud Giersch [Thu, 30 Jun 2022 08:15:45 +0000 (08:15 +0000)]
Merge branch 'dev-get-hostname-faster' into 'master'

Make host_by_name faster

See merge request simgrid/simgrid!112

5 months agoMerge branch 'python_ptask' into 'master'
Arnaud Giersch [Thu, 30 Jun 2022 08:02:59 +0000 (08:02 +0000)]
Merge branch 'python_ptask' into 'master'

Add ptasks in the Python bindings

See merge request simgrid/simgrid!113

5 months agoFix the test
Tom Cornebize [Wed, 29 Jun 2022 15:48:58 +0000 (17:48 +0200)]
Fix the test

5 months agoAdd the new test in the cmake file
Tom Cornebize [Wed, 29 Jun 2022 15:40:32 +0000 (17:40 +0200)]
Add the new test in the cmake file

5 months agoAdd the new test in file MANIFEST.in
Tom Cornebize [Wed, 29 Jun 2022 14:51:42 +0000 (16:51 +0200)]
Add the new test in file MANIFEST.in

5 months agoAdd ptasks in the Python bindings
Tom Cornebize [Wed, 29 Jun 2022 13:24:48 +0000 (15:24 +0200)]
Add ptasks in the Python bindings

- This adds several functions in the Python bindings used for manipulating
  ptasks, such as parallel_execute or exec_init.
- This also adds the Engine.set_config function, needed for changing the
  configuration to 'host/model:ptask_L07' in the script.
- Finally, an exec-ptask.py example is added, exact translation of the
  C++ example s4u-exec-ptask.cpp.

5 months agoDisable sthread at the end of the sthread_main
Martin Quinson [Wed, 29 Jun 2022 06:16:16 +0000 (08:16 +0200)]
Disable sthread at the end of the sthread_main

5 months agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Tue, 28 Jun 2022 20:13:36 +0000 (22:13 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid

5 months agoAdd a TESH for the new sthread feature
Martin Quinson [Tue, 28 Jun 2022 20:07:02 +0000 (22:07 +0200)]
Add a TESH for the new sthread feature

5 months agoSMPI_is_inited() and smpi_enabled() have the same purpose. Keep only the former.
Arnaud Giersch [Tue, 28 Jun 2022 13:08:05 +0000 (15:08 +0200)]
SMPI_is_inited() and smpi_enabled() have the same purpose. Keep only the former.

5 months agoNo need to duplicate functions.
Arnaud Giersch [Tue, 28 Jun 2022 09:40:37 +0000 (11:40 +0200)]
No need to duplicate functions.

5 months agoUncomment code.
Arnaud Giersch [Tue, 28 Jun 2022 12:38:07 +0000 (14:38 +0200)]
Uncomment code.

5 months agoEasy Sonar smells.
Arnaud Giersch [Tue, 28 Jun 2022 12:37:59 +0000 (14:37 +0200)]
Easy Sonar smells.

5 months agoUse std::string.
Arnaud Giersch [Tue, 28 Jun 2022 12:30:45 +0000 (14:30 +0200)]
Use std::string.

5 months agoMissing return in the raw path.
Arnaud Giersch [Tue, 28 Jun 2022 12:07:33 +0000 (14:07 +0200)]
Missing return in the raw path.

5 months agoAvoid memory leak when exception is thrown.
Arnaud Giersch [Tue, 28 Jun 2022 11:46:33 +0000 (13:46 +0200)]
Avoid memory leak when exception is thrown.

5 months agoMake sthread_inside_simgrid static into libsthread in the (vain) hope that it'll...
Martin Quinson [Mon, 27 Jun 2022 20:01:03 +0000 (22:01 +0200)]
Make sthread_inside_simgrid static into libsthread in the (vain) hope that it'll help the init/fini phases

but unfortunately the symptoms are exactly the same:
- default builds work well with sthread LD_PRELOAD'ed
- MC builds segfault once the second thread starts in this case
- ns-3 builds deadlock in dl_init with sthread

I'm still commiting this because I believe that breaking the hard
dependency of sthread -> simgrid goes in the right direction: If
sthread is alone in memory without simgrid (as it may happen at
init/fini phases), it's a rather bad idea for sthread to use a
variable that lives in simgrid symbols.

Maybe I should load simgrid dynamically with libdl instead of
depending on it to further untighten the dependency, but I'd prefer to
understand. Plus, it'd only help at init phase and ns-3 builds are not
the ones I'd prefer to fix here.

5 months agoDistcheck!
Arnaud Giersch [Mon, 27 Jun 2022 09:36:19 +0000 (11:36 +0200)]
Distcheck!

5 months agoMerge branch 's4u_enforce' into 'master'
Arnaud Giersch [Mon, 27 Jun 2022 09:30:00 +0000 (09:30 +0000)]
Merge branch 's4u_enforce' into 'master'

Implement s4u_enforce

See merge request simgrid/simgrid!111

5 months agoAnswer to Mt comments
Fabien Chaix [Mon, 27 Jun 2022 06:35:01 +0000 (09:35 +0300)]
Answer to Mt comments

5 months agomake sthread work out of MC build trees
Martin Quinson [Sun, 26 Jun 2022 10:48:35 +0000 (12:48 +0200)]
make sthread work out of MC build trees

5 months agoMake vm_by_name() public and modify c-cloud-migration to use new functions
Fabien Chaix [Sat, 25 Jun 2022 22:08:45 +0000 (01:08 +0300)]
Make vm_by_name() public and modify c-cloud-migration to use new functions

5 months agotentative of implementing pthread_join, and to ensure that we are inside simgrid...
Martin Quinson [Sat, 25 Jun 2022 10:02:58 +0000 (12:02 +0200)]
tentative of implementing pthread_join, and to ensure that we are inside simgrid once the context stops

5 months agoMake sure that sthread_inside_simgrid is initially 1 to protect all lib constructors
Martin Quinson [Fri, 24 Jun 2022 23:11:09 +0000 (01:11 +0200)]
Make sure that sthread_inside_simgrid is initially 1 to protect all lib constructors

Even the ones that we don't control, such as gdb's...

In addition, there is no need to define sthread_inside_simgrid in
libsimgrid. We can keep it to libsthread where it belongs.

Also do some other cleanups around.

5 months agosthread is not a binary [anymore] but a library
Martin Quinson [Fri, 24 Jun 2022 21:29:03 +0000 (23:29 +0200)]
sthread is not a binary [anymore] but a library

5 months agosthread does not exist on FreeBSD so don't break MC builds there
Martin Quinson [Fri, 24 Jun 2022 21:23:38 +0000 (23:23 +0200)]
sthread does not exist on FreeBSD so don't break MC builds there

5 months agoDocument one recent change
Martin Quinson [Fri, 24 Jun 2022 21:12:27 +0000 (23:12 +0200)]
Document one recent change

5 months agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Fri, 24 Jun 2022 21:03:35 +0000 (23:03 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid

5 months agoOngoing attempt for sthread, an automatic intercepter of pthread operations
Martin Quinson [Fri, 24 Jun 2022 20:23:28 +0000 (22:23 +0200)]
Ongoing attempt for sthread, an automatic intercepter of pthread operations

There is no test yet, because it's *almost* working.

5 months agoAdd a function to determine whether SMPI is currently used
Martin Quinson [Sun, 12 Jun 2022 23:00:11 +0000 (01:00 +0200)]
Add a function to determine whether SMPI is currently used

5 months agoQuick and dirty fix to speed up get_host_by_name
Fabien Chaix [Thu, 16 Jun 2022 17:14:33 +0000 (20:14 +0300)]
Quick and dirty fix to speed up get_host_by_name

5 months agoChangeLog [ci-skip]
Arnaud Giersch [Thu, 23 Jun 2022 09:20:04 +0000 (11:20 +0200)]
ChangeLog [ci-skip]

5 months agoMissing include (for uintptr_t).
Arnaud Giersch [Thu, 23 Jun 2022 08:20:28 +0000 (10:20 +0200)]
Missing include (for uintptr_t).

5 months agoRemove the -Wformat-security warning
Tom Cornebize [Thu, 23 Jun 2022 07:54:20 +0000 (09:54 +0200)]
Remove the -Wformat-security warning

Applying the patch from @agiersch

5 months agoRemove useless statements
Tom Cornebize [Tue, 21 Jun 2022 13:35:27 +0000 (15:35 +0200)]
Remove useless statements

5 months agoRenaming: s4u_enforce -> xbt_enforce
Tom Cornebize [Tue, 21 Jun 2022 13:26:28 +0000 (15:26 +0200)]
Renaming: s4u_enforce -> xbt_enforce

5 months agoMissing 'override' specifier.
Arnaud Giersch [Tue, 21 Jun 2022 12:10:42 +0000 (14:10 +0200)]
Missing 'override' specifier.

5 months agoMerge branch 'dev-cpuimpl-used' into 'master'
Arnaud Giersch [Tue, 21 Jun 2022 12:02:16 +0000 (12:02 +0000)]
Merge branch 'dev-cpuimpl-used' into 'master'

Trigger new engine solve upon host events such as host on/off

See merge request simgrid/simgrid!109

5 months agoFix one tesh test
Tom Cornebize [Tue, 21 Jun 2022 10:51:39 +0000 (12:51 +0200)]
Fix one tesh test

5 months agoUpdate the changelog for s4u_enforce
Tom Cornebize [Tue, 21 Jun 2022 09:49:12 +0000 (11:49 +0200)]
Update the changelog for s4u_enforce

5 months agoImplement s4u_enforce
Tom Cornebize [Tue, 21 Jun 2022 08:57:36 +0000 (10:57 +0200)]
Implement s4u_enforce

This adds a new macro, s4u_enforce, with the same syntax as xbt_assert.
The difference with xbt_assert is that this macro will throw an
exception if the statement is false, instead of calling abort().

5 months agoMerge branch 'fix_python' into 'master'
Arnaud Giersch [Fri, 17 Jun 2022 07:28:31 +0000 (07:28 +0000)]
Merge branch 'fix_python' into 'master'

Fix the put/get(_async) mailbox methods in the Python bindings

See merge request simgrid/simgrid!110

5 months agoFix the put/get(_async) mailbox methods in the Python bindings
Tom Cornebize [Thu, 16 Jun 2022 19:10:47 +0000 (21:10 +0200)]
Fix the put/get(_async) mailbox methods in the Python bindings

The message sizes had to fit in an int, which is too small for
some reasonable cases (e.g. sending 10 GB).

5 months agoHint about how to configure with ninja instead of make
Martin Quinson [Sun, 12 Jun 2022 22:58:13 +0000 (00:58 +0200)]
Hint about how to configure with ninja instead of make

5 months agoFix regression tests
Fabien Chaix [Fri, 10 Jun 2022 08:03:09 +0000 (11:03 +0300)]
Fix regression tests

5 months agoMC: better encapsulation design
Martin Quinson [Mon, 23 May 2022 22:36:32 +0000 (00:36 +0200)]
MC: better encapsulation design

5 months agoAlways advertise CpuImpl as used to trigger Engine refresh upon trace event
Fabien Chaix [Fri, 10 Jun 2022 07:21:26 +0000 (10:21 +0300)]
Always advertise CpuImpl as used to trigger Engine refresh upon trace event

5 months agos/NULL/nullptr/ [ci-skip]
Arnaud Giersch [Thu, 9 Jun 2022 06:59:50 +0000 (08:59 +0200)]
s/NULL/nullptr/ [ci-skip]

5 months agoFix build with graphviz >= 3.
Arnaud Giersch [Wed, 8 Jun 2022 11:02:14 +0000 (13:02 +0200)]
Fix build with graphviz >= 3.

5 months agoMatch xbt_malloc with xbt_free.
Arnaud Giersch [Wed, 8 Jun 2022 09:31:08 +0000 (11:31 +0200)]
Match xbt_malloc with xbt_free.

5 months agoUseless use of xargs.
Arnaud Giersch [Sun, 5 Jun 2022 10:34:02 +0000 (12:34 +0200)]
Useless use of xargs.

5 months agoPropagate const attribute (sonar).
Arnaud Giersch [Sat, 4 Jun 2022 08:43:47 +0000 (10:43 +0200)]
Propagate const attribute (sonar).

5 months agoUse xbt_malloc that never return null.
Arnaud Giersch [Sat, 4 Jun 2022 08:38:17 +0000 (10:38 +0200)]
Use xbt_malloc that never return null.

5 months agoAddress a few "null dereference" warnings from fbinfer.
Arnaud Giersch [Fri, 3 Jun 2022 14:29:57 +0000 (16:29 +0200)]
Address a few "null dereference" warnings from fbinfer.

5 months agoCoding style: snake_case.
Arnaud Giersch [Fri, 3 Jun 2022 14:14:44 +0000 (16:14 +0200)]
Coding style: snake_case.

5 months agoAnother batch of pointer-to-const (sonar).
Arnaud Giersch [Thu, 2 Jun 2022 07:58:05 +0000 (09:58 +0200)]
Another batch of pointer-to-const (sonar).

5 months agoCall smpi_mpi_init before smpi_bench_begin.
Arnaud Giersch [Wed, 1 Jun 2022 09:44:12 +0000 (11:44 +0200)]
Call smpi_mpi_init before smpi_bench_begin.

Fix simgrid/simgrid#109

5 months agoVarious small fixes.
Arnaud Giersch [Wed, 1 Jun 2022 08:10:10 +0000 (10:10 +0200)]
Various small fixes.

* parameter smpi/runnning-power has been renamed
* fix error message

[ci-skip]

6 months agoAdd default value for every member variable (useful with default constructor).
Arnaud Giersch [Mon, 30 May 2022 15:17:24 +0000 (17:17 +0200)]
Add default value for every member variable (useful with default constructor).

6 months agoDelete unusable default constructor.
Arnaud Giersch [Mon, 30 May 2022 15:08:26 +0000 (17:08 +0200)]
Delete unusable default constructor.

6 months agoarm systems have unsigned chars by default, enforce signedness for consistancy
Augustin Degomme [Mon, 30 May 2022 15:28:44 +0000 (17:28 +0200)]
arm systems have unsigned chars by default, enforce signedness for consistancy

6 months agoChangeLog: move closed issue to the right section.
Arnaud Giersch [Mon, 30 May 2022 13:12:21 +0000 (15:12 +0200)]
ChangeLog: move closed issue to the right section.

6 months agoChangelog update
Tom Cornebize [Mon, 30 May 2022 13:07:53 +0000 (15:07 +0200)]
Changelog update

6 months agoMerge selected changes from branch 'simgrid-Jesse-McDonald-master-patch-09242'
Arnaud Giersch [Mon, 30 May 2022 09:55:13 +0000 (11:55 +0200)]
Merge selected changes from branch 'simgrid-Jesse-McDonald-master-patch-09242'

(ignore the first change which is not valid)

6 months agoPlease static checkers.
Arnaud Giersch [Mon, 30 May 2022 09:05:15 +0000 (11:05 +0200)]
Please static checkers.

6 months agoMerge branch 'graphicator_seal' into 'master'
Arnaud Giersch [Wed, 25 May 2022 12:44:24 +0000 (12:44 +0000)]
Merge branch 'graphicator_seal' into 'master'

Seal the platform in graphicator before dumping

See merge request simgrid/simgrid!107

6 months agoSeal the platform in graphicator before dumping
Tom Cornebize [Wed, 25 May 2022 12:02:40 +0000 (14:02 +0200)]
Seal the platform in graphicator before dumping

6 months agoUpdate .mailmap [ci-skip].
Arnaud Giersch [Wed, 25 May 2022 10:15:57 +0000 (12:15 +0200)]
Update .mailmap [ci-skip].

6 months agoAvoid null dereference in assert (when !dst).
Arnaud Giersch [Wed, 25 May 2022 10:07:10 +0000 (12:07 +0200)]
Avoid null dereference in assert (when !dst).

6 months agoMerge branch 'simgrid-platform_robustness'
Arnaud Giersch [Wed, 25 May 2022 10:01:19 +0000 (12:01 +0200)]
Merge branch 'simgrid-platform_robustness'

6 months agoMerge branch 'simgrid-topo_simplification'
Arnaud Giersch [Wed, 25 May 2022 09:42:32 +0000 (11:42 +0200)]
Merge branch 'simgrid-topo_simplification'

6 months agoTwo more sonar issues.
Arnaud Giersch [Wed, 25 May 2022 07:12:06 +0000 (09:12 +0200)]
Two more sonar issues.

6 months agoDeeper check on src and dst in add_route method
Tom Cornebize [Wed, 25 May 2022 08:50:13 +0000 (10:50 +0200)]
Deeper check on src and dst in add_route method

6 months agoImprove the supernode.py script
Tom Cornebize [Wed, 25 May 2022 08:34:07 +0000 (10:34 +0200)]
Improve the supernode.py script

- Add a --simplify option to remove the "link" vertices from the graph
  (and thus have a smaller visualization).
- Output file name is now a command line argument.
- Intermediate files are now put in a temporary directory, instead of
  the working directory.
- Better error display.

6 months agoUnused import.
Arnaud Giersch [Sat, 21 May 2022 07:48:40 +0000 (09:48 +0200)]
Unused import.

[ci-skip]

6 months agoSonar issues.
Arnaud Giersch [Tue, 24 May 2022 12:02:57 +0000 (14:02 +0200)]
Sonar issues.

6 months agoUseless usage of c_str().
Arnaud Giersch [Fri, 20 May 2022 12:43:50 +0000 (14:43 +0200)]
Useless usage of c_str().

6 months agoModify test to run latest libsupernode.so at least once.
Arnaud Giersch [Fri, 20 May 2022 09:10:19 +0000 (11:10 +0200)]
Modify test to run latest libsupernode.so at least once.

6 months agoToday's sonar/codefactor issues.
Arnaud Giersch [Fri, 20 May 2022 08:37:38 +0000 (10:37 +0200)]
Today's sonar/codefactor issues.

6 months agoMerge branch 'dev-add_comm_fault_scenario2' into 'master'
Augustin Degomme [Fri, 20 May 2022 08:24:24 +0000 (08:24 +0000)]
Merge branch 'dev-add_comm_fault_scenario2' into 'master'

Run all comm fault scenarios now that other MRs have been accepted

See merge request simgrid/simgrid!104

6 months agoRemove debug messages from tesh because it makes the test fragile
Fabien Chaix [Fri, 20 May 2022 08:08:50 +0000 (11:08 +0300)]
Remove debug messages from tesh because it makes the test fragile

6 months agofix for 32 bits
Augustin Degomme [Fri, 20 May 2022 07:45:28 +0000 (07:45 +0000)]
fix for 32 bits

6 months agoRun all scenarios now that other MRs have been accepted
Fabien Chaix [Fri, 20 May 2022 06:33:01 +0000 (09:33 +0300)]
Run all scenarios now that other MRs have been accepted

6 months agoMerge branch 'dev-add_comm_fault_scenario' into 'master'
Augustin Degomme [Fri, 20 May 2022 07:23:12 +0000 (07:23 +0000)]
Merge branch 'dev-add_comm_fault_scenario' into 'master'

Add a test to cover many communication fault scenarios

See merge request simgrid/simgrid!103

6 months agoRevert "Run all scenarios now that other MRs have been accepted"
Fabien Chaix [Fri, 20 May 2022 07:06:51 +0000 (07:06 +0000)]
Revert "Run all scenarios now that other MRs have been accepted"

This reverts commit 00c4012bc527af7b7d532ad4a20eb83fe55e8b20

6 months agoRun all scenarios now that other MRs have been accepted
Fabien Chaix [Fri, 20 May 2022 06:41:06 +0000 (06:41 +0000)]
Run all scenarios now that other MRs have been accepted

6 months agomore enum to use Simgrid macros
Fabien Chaix [Thu, 19 May 2022 15:34:07 +0000 (18:34 +0300)]
more enum to use Simgrid macros

6 months agoUse Simgrid macro to get cleaner enums
Fabien Chaix [Thu, 19 May 2022 15:18:26 +0000 (18:18 +0300)]
Use Simgrid macro to get cleaner enums

6 months agoUse std::unique_ptr instead of new/delete in xbt_replay (sonar).
Arnaud Giersch [Thu, 19 May 2022 15:11:45 +0000 (17:11 +0200)]
Use std::unique_ptr instead of new/delete in xbt_replay (sonar).