Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
14 months agoMerge branch 'actor-comms' into 'master'
Martin Quinson [Wed, 15 Feb 2023 23:59:31 +0000 (23:59 +0000)]
Merge branch 'actor-comms' into 'master'

Serialize pending transitions when responding to `ACTOR_STATUS` messages on the application side

See merge request simgrid/simgrid!127

14 months agoproperly deal with network/optim (end of the ModuleGroup cleanup)
Martin Quinson [Wed, 15 Feb 2023 23:49:30 +0000 (00:49 +0100)]
properly deal with network/optim (end of the ModuleGroup cleanup)

The network/optim was abusing the model description mechanism, because
it was introduced before the options could be restricted to a list of
values. That's a pretty old cruft :)

Moreover, the config mechanism (probably) allowed network/optim:TI but then
ignored it silently. Not nice for the users.

14 months agoKill a now useless file
Martin Quinson [Wed, 15 Feb 2023 23:31:13 +0000 (00:31 +0100)]
Kill a now useless file

14 months agoCosmetics around the creation of the VM model
Martin Quinson [Wed, 15 Feb 2023 23:26:24 +0000 (00:26 +0100)]
Cosmetics around the creation of the VM model

14 months agoFurther factorization: introduce ModuleGroup::init_from_flag_value()
Martin Quinson [Wed, 15 Feb 2023 23:21:52 +0000 (00:21 +0100)]
Further factorization: introduce ModuleGroup::init_from_flag_value()

14 months ago15 years later, I finally managed to kill host/model:compound
Martin Quinson [Wed, 15 Feb 2023 23:15:19 +0000 (00:15 +0100)]
15 years later, I finally managed to kill host/model:compound

14 months agoObjectif the disk model
Martin Quinson [Wed, 15 Feb 2023 22:41:33 +0000 (23:41 +0100)]
Objectif the disk model

14 months agoThere is no way these names are empty, bc we give a default value
Martin Quinson [Wed, 15 Feb 2023 22:31:53 +0000 (23:31 +0100)]
There is no way these names are empty, bc we give a default value

14 months agoObjectifies the host models
Martin Quinson [Wed, 15 Feb 2023 22:22:10 +0000 (23:22 +0100)]
Objectifies the host models

14 months agofactorize the flags of models and plugins
Martin Quinson [Wed, 15 Feb 2023 22:00:50 +0000 (23:00 +0100)]
factorize the flags of models and plugins

14 months agodocs: fix a sphinx formatting error
Martin Quinson [Wed, 15 Feb 2023 16:38:27 +0000 (17:38 +0100)]
docs: fix a sphinx formatting error

14 months agoObjectifies the CPU model
Martin Quinson [Wed, 15 Feb 2023 16:24:12 +0000 (17:24 +0100)]
Objectifies the CPU model

14 months agoAllow to add a disk to a host after a load_platform from xml
Martin Quinson [Wed, 15 Feb 2023 15:51:00 +0000 (16:51 +0100)]
Allow to add a disk to a host after a load_platform from xml

Fix https://github.com/simgrid/simgrid/issues/383

14 months agoAdd note about resetting `times_considered`
Maxwell Pirtle [Wed, 15 Feb 2023 09:55:14 +0000 (10:55 +0100)]
Add note about resetting `times_considered`

Resetting `times_considered` after multiple
serializations of a particular transition are performed
to give the checker all exections of an actor
that can perform multiple actions. There was concern
that this value would have to be "reset" to the
original value after the serialization, since the latter
modifies the simcall's observer's internal state.

However, no reset is actually needed as each
SIMCALL_EXECUTE message that the checker sends to the
application-side comes equipped with the latest
`times_considered`, and thus preparation will be
performed correctly before execution.

14 months agoReplace pending transition with latest execution
Maxwell Pirtle [Wed, 15 Feb 2023 09:50:16 +0000 (10:50 +0100)]
Replace pending transition with latest execution

The `State::execute_next(aid_t)` method was
adjusted to use the newest copy of the transition
that was executed by an actor in lieu of the
copy of the transition that was previously stored
by the actor, as more information may be gained
during the execution of a transition.

14 months agofix pip build
Martin Quinson [Wed, 15 Feb 2023 09:00:22 +0000 (10:00 +0100)]
fix pip build

14 months agoConvert the network models to the new plugin-like mechanism
Martin Quinson [Wed, 15 Feb 2023 08:30:06 +0000 (09:30 +0100)]
Convert the network models to the new plugin-like mechanism

14 months agoObjectify the model containers
Martin Quinson [Tue, 14 Feb 2023 20:12:10 +0000 (21:12 +0100)]
Objectify the model containers

This should allow further cleanups in the near future, where models
are handled as the plugins already are: no shotgun design anymore with
the registration, and everything about a given model contained in a
single file.

14 months agoMove the surf log categories elsewhere
Martin Quinson [Sun, 12 Feb 2023 22:22:10 +0000 (23:22 +0100)]
Move the surf log categories elsewhere

14 months agoRemove multiarch from the doc: it was never tested, and 32b is soon gone
Martin Quinson [Sat, 11 Feb 2023 23:25:30 +0000 (00:25 +0100)]
Remove multiarch from the doc: it was never tested, and 32b is soon gone

14 months agoDocument the fact that 32bits is gone
Martin Quinson [Sat, 11 Feb 2023 23:24:29 +0000 (00:24 +0100)]
Document the fact that 32bits is gone

14 months agoFix condition for XBT_DECLARE_ENUM_CLASS
Maxwell Pirtle [Tue, 14 Feb 2023 08:06:24 +0000 (09:06 +0100)]
Fix condition for XBT_DECLARE_ENUM_CLASS

The condition for the `is_valid_##EnumType`
was updated. Previously, is was missing the edge
case where `raw_value >= 0`

14 months agoReduce scope for variables.
Arnaud Giersch [Mon, 13 Feb 2023 15:09:47 +0000 (16:09 +0100)]
Reduce scope for variables.

14 months agoSimplify initialization of the root log category.
Arnaud Giersch [Mon, 13 Feb 2023 15:04:25 +0000 (16:04 +0100)]
Simplify initialization of the root log category.

14 months agoFor Sonar.
Arnaud Giersch [Mon, 13 Feb 2023 08:49:37 +0000 (09:49 +0100)]
For Sonar.

14 months agoDefine context related globals as static members of Context.
Arnaud Giersch [Sat, 11 Feb 2023 18:25:25 +0000 (19:25 +0100)]
Define context related globals as static members of Context.

14 months agoMake global variables "const".
Arnaud Giersch [Sat, 11 Feb 2023 10:45:54 +0000 (11:45 +0100)]
Make global variables "const".

Even if it has no importance, take the special values from smpi.h

14 months agoFinalize passing transitions during model checking
Maxwell Pirtle [Mon, 13 Feb 2023 09:48:20 +0000 (10:48 +0100)]
Finalize passing transitions during model checking

Transitions are now serialized and sent to the
checker side whenever a new State instance is
created (when the ACTOR_STATUS message is sent
by the checker). Transition serialization is the
first step before the work on the UDPOR branch(es)
can be integrated into Mc SimGrid.

14 months agomove the flatifier functions to the s4u::Engine, for public consumption
Martin Quinson [Sat, 11 Feb 2023 23:11:57 +0000 (00:11 +0100)]
move the flatifier functions to the s4u::Engine, for public consumption

14 months agoAdd a Link::get_concurrency_limit and use it in the flatifier
Martin Quinson [Sat, 11 Feb 2023 19:17:10 +0000 (20:17 +0100)]
Add a Link::get_concurrency_limit and use it in the flatifier

14 months agoFlatifier: make a function returning a std::string instead of using printf
Martin Quinson [Sat, 11 Feb 2023 18:34:46 +0000 (19:34 +0100)]
Flatifier: make a function returning a std::string instead of using printf

14 months agoflatifier: cosmetics + display the real name of the root zone
Martin Quinson [Fri, 10 Feb 2023 22:30:50 +0000 (23:30 +0100)]
flatifier: cosmetics + display the real name of the root zone

14 months agoFix attribution
Martin Quinson [Fri, 10 Feb 2023 18:39:45 +0000 (19:39 +0100)]
Fix attribution

14 months agoDocument recent changes
Martin Quinson [Sun, 29 Jan 2023 16:20:16 +0000 (17:20 +0100)]
Document recent changes

14 months agoUse more readable alternatives for string::compare().
Arnaud Giersch [Sat, 11 Feb 2023 07:01:49 +0000 (08:01 +0100)]
Use more readable alternatives for string::compare().

14 months agoKill another bunch of globals.
Arnaud Giersch [Thu, 9 Feb 2023 21:32:38 +0000 (22:32 +0100)]
Kill another bunch of globals.

14 months agoAdd intial steps to transfer transitions to the MC
Maxwell Pirtle [Fri, 10 Feb 2023 08:28:16 +0000 (09:28 +0100)]
Add intial steps to transfer transitions to the MC

14 months agoKill a few globals.
Arnaud Giersch [Thu, 9 Feb 2023 15:51:01 +0000 (16:51 +0100)]
Kill a few globals.

14 months agoFix comment.
Arnaud Giersch [Thu, 9 Feb 2023 15:25:23 +0000 (16:25 +0100)]
Fix comment.

14 months agoLittle simplification.
Arnaud Giersch [Thu, 9 Feb 2023 13:28:39 +0000 (14:28 +0100)]
Little simplification.

14 months agoMerge branch 'arm-patch' into 'master'
Martin Quinson [Thu, 9 Feb 2023 10:48:35 +0000 (10:48 +0000)]
Merge branch 'arm-patch' into 'master'

Add patch for arm64 Ubuntu 22.04 in `UnwindContext`

See merge request simgrid/simgrid!126

14 months agoAdd patch for arm64 Ubuntu 22.04 in UnwindContext
Maxwell Pirtle [Wed, 1 Feb 2023 13:52:53 +0000 (14:52 +0100)]
Add patch for arm64 Ubuntu 22.04 in UnwindContext

The `mcontext_t` struct on Ubuntu 22.04
running on arm64 is missing the `fregs`
field. This causes a compilation failure
in `src/mc/inspect/mc_unw.cpp` since the
code there assumes the field exists on
linux-arm64.

This commit adds a new CMake variable
SIMGRID_PROCESSOR_arm64 to account for
the additional architecture more
explicitly and to better fit the context
surrounding the code where the fix was made

15 months agomake all Activity starts vetoable
Fred Suter [Wed, 8 Feb 2023 21:10:15 +0000 (16:10 -0500)]
make all Activity starts vetoable

15 months agoTypo [ci-skip]
Arnaud Giersch [Wed, 8 Feb 2023 15:56:50 +0000 (16:56 +0100)]
Typo [ci-skip]

15 months agoRemove deprecated properties.
Arnaud Giersch [Wed, 8 Feb 2023 13:19:44 +0000 (14:19 +0100)]
Remove deprecated properties.

Last analysis had a warning:
"sonar.cfamily.cache.enabled" and "sonar.cfamily.cache.path" properties are deprecated.
Visit the documentation page for more information about analysis cache configuration
https://docs.sonarcloud.io/advanced-setup/languages/c-c-objective-c/

("sonar.cfamily.cache.enabled" was set to "false" anyway on CI)

15 months agoImplement ConditionWaitSimcall::to_string().
Arnaud Giersch [Wed, 8 Feb 2023 11:31:33 +0000 (12:31 +0100)]
Implement ConditionWaitSimcall::to_string().

Fix crash e.g. when running s4u-synchro-condition-variable-waituntil --log=ker_actor.thres:debug

15 months agoCosmetics with spacings around colon (:).
Arnaud Giersch [Wed, 8 Feb 2023 11:00:24 +0000 (12:00 +0100)]
Cosmetics with spacings around colon (:).

15 months agoDeclare functions with attribute 'noreturn' (sonar).
Arnaud Giersch [Wed, 8 Feb 2023 10:11:16 +0000 (11:11 +0100)]
Declare functions with attribute 'noreturn' (sonar).

15 months agoReduce scope for variables.
Arnaud Giersch [Wed, 8 Feb 2023 10:10:09 +0000 (11:10 +0100)]
Reduce scope for variables.

15 months agoSingle quotes don't need to be escaped.
Arnaud Giersch [Wed, 8 Feb 2023 09:13:59 +0000 (10:13 +0100)]
Single quotes don't need to be escaped.

15 months agoPrevent inlining for empty placeholders of sthread_enable/disable.
Arnaud Giersch [Tue, 7 Feb 2023 19:40:27 +0000 (20:40 +0100)]
Prevent inlining for empty placeholders of sthread_enable/disable.

See the gcc documentation about function attribute noinline for details.

Hope to fix hangs seen with optimized builds on recent Alpine/Linux.

Let's see also if it works as is with all supported compilers.

15 months agoCMake 2.8.12 is the minimum required version in FindSimgrid.cmake anyway.
Arnaud Giersch [Tue, 7 Feb 2023 12:17:38 +0000 (13:17 +0100)]
CMake 2.8.12 is the minimum required version in FindSimgrid.cmake anyway.

15 months agoUse native cmake commands to compute relative path.
Arnaud Giersch [Tue, 7 Feb 2023 09:21:40 +0000 (10:21 +0100)]
Use native cmake commands to compute relative path.

15 months agoNormalize names for fields in class Node (trailing '_').
Arnaud Giersch [Tue, 7 Feb 2023 07:44:47 +0000 (08:44 +0100)]
Normalize names for fields in class Node (trailing '_').

15 months agoMake global variables "const".
Arnaud Giersch [Mon, 6 Feb 2023 13:55:57 +0000 (14:55 +0100)]
Make global variables "const".

15 months agoAvoid duplicate declaration.
Arnaud Giersch [Mon, 6 Feb 2023 13:22:07 +0000 (14:22 +0100)]
Avoid duplicate declaration.

15 months agoRemove global variable.
Arnaud Giersch [Mon, 6 Feb 2023 12:58:59 +0000 (13:58 +0100)]
Remove global variable.

15 months agoRemove global variable.
Arnaud Giersch [Mon, 6 Feb 2023 10:17:59 +0000 (11:17 +0100)]
Remove global variable.

15 months agoDon't use more than one 'break' per loop (Sonar).
Arnaud Giersch [Wed, 1 Feb 2023 14:47:51 +0000 (15:47 +0100)]
Don't use more than one 'break' per loop (Sonar).

15 months agoKill unused function.
Arnaud Giersch [Sat, 28 Jan 2023 15:33:29 +0000 (16:33 +0100)]
Kill unused function.

15 months agoMake pc_id a static member of ProducerConsumer.
Arnaud Giersch [Fri, 27 Jan 2023 16:07:29 +0000 (17:07 +0100)]
Make pc_id a static member of ProducerConsumer.

15 months agoFix the code and doc of Comm/Exec suspend/resume in Python
Martin Quinson [Sat, 28 Jan 2023 22:47:33 +0000 (23:47 +0100)]
Fix the code and doc of Comm/Exec suspend/resume in Python

15 months agoReorg examples to show activities dependencies with actors before pure DAG ones
Martin Quinson [Sat, 28 Jan 2023 22:18:07 +0000 (23:18 +0100)]
Reorg examples to show activities dependencies with actors before pure DAG ones

15 months agoMove the S4U examples to another chapter
Martin Quinson [Sat, 28 Jan 2023 21:53:17 +0000 (22:53 +0100)]
Move the S4U examples to another chapter

This way, each example is shown in the menubar on the left. This feels
much easier to navigate

15 months agoIntegrate more examples to the doc: all of DAG + others
Martin Quinson [Sat, 28 Jan 2023 21:27:53 +0000 (22:27 +0100)]
Integrate more examples to the doc: all of DAG + others

15 months agocosmetics in the doc (fix the math formatting)
Martin Quinson [Sat, 28 Jan 2023 18:24:52 +0000 (19:24 +0100)]
cosmetics in the doc (fix the math formatting)

15 months agoSonar smells after last changes.
Arnaud Giersch [Fri, 27 Jan 2023 15:17:35 +0000 (16:17 +0100)]
Sonar smells after last changes.

15 months agoCosmetics.
Arnaud Giersch [Thu, 26 Jan 2023 13:23:28 +0000 (14:23 +0100)]
Cosmetics.

15 months agoRemove some global variables.
Arnaud Giersch [Wed, 25 Jan 2023 13:22:16 +0000 (14:22 +0100)]
Remove some global variables.

15 months agoKill commented code.
Arnaud Giersch [Wed, 25 Jan 2023 13:18:18 +0000 (14:18 +0100)]
Kill commented code.

15 months agoPointer to const.
Arnaud Giersch [Wed, 25 Jan 2023 13:15:13 +0000 (14:15 +0100)]
Pointer to const.

15 months agoCondition is always false.
Arnaud Giersch [Wed, 18 Jan 2023 09:35:41 +0000 (10:35 +0100)]
Condition is always false.

15 months agoUnsigned cannot be < 0.
Arnaud Giersch [Tue, 17 Jan 2023 16:07:10 +0000 (17:07 +0100)]
Unsigned cannot be < 0.

15 months agoUse predefined algorithm.
Arnaud Giersch [Tue, 17 Jan 2023 13:46:42 +0000 (14:46 +0100)]
Use predefined algorithm.

15 months agoRewording
Arnaud Legrand [Tue, 24 Jan 2023 09:45:06 +0000 (10:45 +0100)]
Rewording

Yearly documentation commit from Arnaud. ;)

15 months agoTry to improve the doc of the weight-S parameter
Martin Quinson [Mon, 23 Jan 2023 15:03:34 +0000 (16:03 +0100)]
Try to improve the doc of the weight-S parameter

15 months agoCosmetics in examples' comments and description
Martin Quinson [Mon, 23 Jan 2023 12:33:18 +0000 (13:33 +0100)]
Cosmetics in examples' comments and description

15 months agodon't create temporary struct at time of push_back as it may be deleted prematurely...
Augustin Degomme [Mon, 23 Jan 2023 11:23:27 +0000 (12:23 +0100)]
don't create temporary struct at time of push_back as it may be deleted prematurely (seen only on freebsd with llvm devel, maybe that's the issue, or libcpp is ..)

15 months agoAnother example gets documented (+cosmetics)
Martin Quinson [Sun, 22 Jan 2023 23:11:22 +0000 (00:11 +0100)]
Another example gets documented (+cosmetics)

15 months agoRemove an example that is a dupplicate of another one
Martin Quinson [Sun, 22 Jan 2023 23:03:53 +0000 (00:03 +0100)]
Remove an example that is a dupplicate of another one

15 months agos/ *$// over all RST files (no content modification)
Martin Quinson [Sun, 22 Jan 2023 22:47:15 +0000 (23:47 +0100)]
s/ *$// over all RST files (no content modification)

15 months agoDocument yet another example
Martin Quinson [Sun, 22 Jan 2023 22:45:32 +0000 (23:45 +0100)]
Document yet another example

15 months agoextend example exec-failure to demonstrate state profiles
Martin Quinson [Sun, 22 Jan 2023 09:30:19 +0000 (10:30 +0100)]
extend example exec-failure to demonstrate state profiles

15 months agoAdd a section on errors and exceptions to the API documentation
Martin Quinson [Sat, 21 Jan 2023 21:53:41 +0000 (22:53 +0100)]
Add a section on errors and exceptions to the API documentation

15 months agoYet another example integrated in the doc
Martin Quinson [Sat, 21 Jan 2023 21:22:26 +0000 (22:22 +0100)]
Yet another example integrated in the doc

15 months agoAdd another example to the doc
Martin Quinson [Sat, 21 Jan 2023 20:34:28 +0000 (21:34 +0100)]
Add another example to the doc

15 months agoCosmetics in an example and integrate it to the doc
Martin Quinson [Sat, 21 Jan 2023 20:25:46 +0000 (21:25 +0100)]
Cosmetics in an example and integrate it to the doc

15 months agoUse debian:11 as a basis for the simgrid/build-deps docker image
Martin Quinson [Sat, 21 Jan 2023 19:22:02 +0000 (20:22 +0100)]
Use debian:11 as a basis for the simgrid/build-deps docker image

This is an attempt to have the python module and the pages task of
gitlab ci using the same glibc version, so that the python doc gets
properly built.

15 months agoMove an example to the right section, and document it
Martin Quinson [Sat, 21 Jan 2023 17:04:34 +0000 (18:04 +0100)]
Move an example to the right section, and document it

It was called comm-serialize, but it's more about using
Link::set_concurrency_limit() so it's now called platform-comm-serialize

Also document another example (was supposed to be in previous commit
but anyway)

15 months agoVarious fixups and cosmetics in the doc
Martin Quinson [Sat, 21 Jan 2023 16:24:38 +0000 (17:24 +0100)]
Various fixups and cosmetics in the doc

15 months agoMake the test output easier to understand
Martin Quinson [Sat, 21 Jan 2023 08:43:24 +0000 (09:43 +0100)]
Make the test output easier to understand

15 months agofix warnings :(
Martin Quinson [Fri, 20 Jan 2023 22:59:52 +0000 (23:59 +0100)]
fix warnings :(

15 months agoPlease the paranoid compilers that we love
Martin Quinson [Fri, 20 Jan 2023 22:49:24 +0000 (23:49 +0100)]
Please the paranoid compilers that we love

15 months agoAdd a test of CM02 timings with TCP-gamma (and fix the doc :sweat_smile:)
Martin Quinson [Fri, 20 Jan 2023 22:34:50 +0000 (23:34 +0100)]
Add a test of CM02 timings with TCP-gamma (and fix the doc :sweat_smile:)

15 months agoCosmetics in the messages of this test; no timing change
Martin Quinson [Fri, 20 Jan 2023 16:10:34 +0000 (17:10 +0100)]
Cosmetics in the messages of this test; no timing change

15 months agoAllow to disable the TCP windowing modeling by setting network/TCP-gamma to 0
Martin Quinson [Fri, 20 Jan 2023 15:57:53 +0000 (16:57 +0100)]
Allow to disable the TCP windowing modeling by setting network/TCP-gamma to 0

15 months agoMove a tiny bit of surf to xbt
Martin Quinson [Fri, 20 Jan 2023 14:26:29 +0000 (15:26 +0100)]
Move a tiny bit of surf to xbt

15 months agoMerge branch 'master' into 'master'
Augustin Degomme [Wed, 18 Jan 2023 13:03:51 +0000 (13:03 +0000)]
Merge branch 'master' into 'master'

add link to simgrid-fmi doc in sphinx doc

See merge request simgrid/simgrid!125

15 months agoadd link to simgrid-fmi doc in sphinx doc
Adrien [Wed, 18 Jan 2023 13:03:50 +0000 (13:03 +0000)]
add link to simgrid-fmi doc in sphinx doc

15 months agoMerge branch 'master' into 'master'
Augustin Degomme [Tue, 17 Jan 2023 13:55:22 +0000 (13:55 +0000)]
Merge branch 'master' into 'master'

fix doc typo

See merge request simgrid/simgrid!124