Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
23 months agoFor sonar...
Arnaud Giersch [Mon, 11 Jul 2022 09:18:20 +0000 (11:18 +0200)]
For sonar...

23 months agoThe variable is named LD_BIND_NOW so these lines were never useful -- kill them
Martin Quinson [Mon, 11 Jul 2022 10:17:09 +0000 (12:17 +0200)]
The variable is named LD_BIND_NOW so these lines were never useful -- kill them

23 months agoSurvive with old cmakes
Martin Quinson [Sun, 10 Jul 2022 22:33:55 +0000 (00:33 +0200)]
Survive with old cmakes

23 months agoCompile pthread-mutex-simple in a way that allows its model-checking
Martin Quinson [Sun, 10 Jul 2022 22:22:01 +0000 (00:22 +0200)]
Compile pthread-mutex-simple in a way that allows its model-checking

23 months agoMC: allow to pass env variables to the verified application
Martin Quinson [Sun, 10 Jul 2022 22:08:30 +0000 (00:08 +0200)]
MC: allow to pass env variables to the verified application

23 months agosthread: Intercept gettimeofday + sleep + usleep
Martin Quinson [Sun, 10 Jul 2022 18:00:43 +0000 (20:00 +0200)]
sthread: Intercept gettimeofday + sleep + usleep

23 months agoFix changelog [ci-skip]
Bruno Donassolo [Fri, 8 Jul 2022 09:38:43 +0000 (11:38 +0200)]
Fix changelog [ci-skip]

23 months agoMerge branch 'issue111' into 'master'
Bruno Donassolo [Fri, 8 Jul 2022 09:26:41 +0000 (09:26 +0000)]
Merge branch 'issue111' into 'master'

Workaround for multicore ptasks.

Closes #111

See merge request simgrid/simgrid!114

23 months agoWorkaround for multicore ptasks.
Bruno Donassolo [Thu, 7 Jul 2022 15:53:30 +0000 (17:53 +0200)]
Workaround for multicore ptasks.

Fixes https://framagit.org/simgrid/simgrid/-/issues/111.

Workaround for multicore ptasks (when user sets the same s4u::Host*
multiple times in the ptask).

The Element class in System.cpp links a variable and a constraint.
Ideally, we could have only 1 element for each pair variable/constraint.
However, the fair_bottleneck solver needs different elements to cope with multicore ptasks.
At FairBottleneck::solver, it considers each elem as a "variable" which must receive a full
share of the resource.

Multiple elements per contraint/variable isn't necessary for others solvers (maxmin, bmf).
However, it's probably not possible to use BMF at this moment
considering its instability and the current implementation in ptask_L07.cpp (especially the configuration of
task bound which is specific for FairBottleneck solver).

Partially revert change to set 1 element per constraint/variable pair (done at ecb0903f).

23 months agoRedundant initializations.
Arnaud Giersch [Tue, 5 Jul 2022 07:32:12 +0000 (09:32 +0200)]
Redundant initializations.

23 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]

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

23 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

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

23 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

23 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

23 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

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

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

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

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

[ci-skip]

23 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

23 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

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

23 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

23 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

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

23 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

23 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

23 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

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

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

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

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

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

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

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

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

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

23 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

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

23 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

23 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

23 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

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

23 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

23 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

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

23 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

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

23 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

23 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

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

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

23 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

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

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

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

23 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

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

23 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

23 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().

23 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

23 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).

2 years 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

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

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

2 years 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

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

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

2 years 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.

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

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

2 years 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.

2 years 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.

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

2 years 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).

2 years 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

2 years 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]

2 years 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).

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

2 years 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

2 years 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.

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

2 years 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)

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

2 years 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

2 years 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

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

2 years 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).

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

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

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

2 years 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

2 years 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.

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

[ci-skip]

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

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

2 years 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.

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