Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
21 months agohave automatic teshsuite use only stdout to avoid tesh mixups in output when stderr...
Augustin Degomme [Tue, 19 Jul 2022 08:56:37 +0000 (10:56 +0200)]
have automatic teshsuite use only stdout to avoid tesh mixups in output when stderr is used

21 months agoadd casts in case types don't match (musl). Let's hope it does not break elsewhere
Augustin Degomme [Tue, 19 Jul 2022 07:38:05 +0000 (09:38 +0200)]
add casts in case types don't match (musl). Let's hope it does not break elsewhere

21 months agodoc fix [no-ci]
Fred Suter [Mon, 18 Jul 2022 21:33:46 +0000 (17:33 -0400)]
doc fix [no-ci]

have an example that lazy users can copy without having weird
compilation errors

21 months agoRemove redundant cast.
Arnaud Giersch [Mon, 18 Jul 2022 07:39:39 +0000 (09:39 +0200)]
Remove redundant cast.

21 months agoFix distcheck (populate tesh_files, even when !HAVE_MC).
Arnaud Giersch [Fri, 15 Jul 2022 21:16:57 +0000 (23:16 +0200)]
Fix distcheck (populate tesh_files, even when !HAVE_MC).

21 months agoPrevent segfault when VM's host is created with pstate > 0
Fred Suter [Fri, 15 Jul 2022 14:12:56 +0000 (10:12 -0400)]
Prevent segfault when VM's host is created with pstate > 0

sealing the vCPU before setting its pstate to that of the physical host
seems to be enough.

21 months agosthread: correctly switch to within simgrid when calling shtread API
Martin Quinson [Wed, 13 Jul 2022 15:53:01 +0000 (17:53 +0200)]
sthread: correctly switch to within simgrid when calling shtread API

21 months agomc::api: Inline a useless function
Martin Quinson [Tue, 12 Jul 2022 21:31:23 +0000 (23:31 +0200)]
mc::api: Inline a useless function

21 months agoMake sure that all MC tests are built on target tests-mc
Martin Quinson [Tue, 12 Jul 2022 21:30:17 +0000 (23:30 +0200)]
Make sure that all MC tests are built on target tests-mc

21 months agommalloc: rename a symbol to prepare further refactorings
Martin Quinson [Tue, 12 Jul 2022 16:24:42 +0000 (18:24 +0200)]
mmalloc: rename a symbol to prepare further refactorings

21 months agoWhen multi-threaded Exec are launched on VM, account for each thread as an exec to...
SUTER Frederic [Wed, 13 Jul 2022 15:37:30 +0000 (17:37 +0200)]
When multi-threaded Exec are launched on VM, account for each thread as an exec to compute weight

21 months agoget access to Exec thread count
SUTER Frederic [Wed, 13 Jul 2022 15:35:50 +0000 (17:35 +0200)]
get access to Exec thread count

21 months agoUse fixed point arithmetic to avoid rounding errors.
Arnaud Giersch [Wed, 13 Jul 2022 08:59:11 +0000 (10:59 +0200)]
Use fixed point arithmetic to avoid rounding errors.

21 months agoFix CMakeLists for when makecontext is not compilable.
Arnaud Giersch [Tue, 12 Jul 2022 12:54:22 +0000 (14:54 +0200)]
Fix CMakeLists for when makecontext is not compilable.

Patch from @adegomme.

21 months agoFix build error with musl libc.
Arnaud Giersch [Tue, 12 Jul 2022 12:46:38 +0000 (14:46 +0200)]
Fix build error with musl libc.

21 months agoFix definition of overriding gettimeofday.
Arnaud Giersch [Tue, 12 Jul 2022 08:12:40 +0000 (10:12 +0200)]
Fix definition of overriding gettimeofday.

(make it work when __GLIBC_PREREQ is not defined).

21 months agoHandle different types for second parameter of gettimeofday.
Arnaud Giersch [Mon, 11 Jul 2022 07:57:07 +0000 (09:57 +0200)]
Handle different types for second parameter of gettimeofday.

21 months agoFor sonar...
Arnaud Giersch [Mon, 11 Jul 2022 09:18:20 +0000 (11:18 +0200)]
For sonar...

21 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

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

21 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

21 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

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

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

21 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

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

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

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

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

21 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

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

21 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

21 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

21 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

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

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

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

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

[ci-skip]

22 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

22 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

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

22 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

22 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

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

22 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

22 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

22 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

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

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

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

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

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

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

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

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

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

22 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

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

22 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

22 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

22 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

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

22 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

22 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

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

22 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

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

22 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

22 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

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

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

22 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

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

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

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

22 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

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

22 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

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

22 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

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

22 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

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

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

22 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

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

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

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

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

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

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

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

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

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

22 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

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

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

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

23 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

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