Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
2 years agoThe next day sonar commit
Bruno Donassolo [Fri, 16 Jul 2021 09:11:31 +0000 (11:11 +0200)]
The next day sonar commit

2 years agoMerge remote-tracking branch 'github/master'
Arnaud Giersch [Fri, 16 Jul 2021 07:25:53 +0000 (09:25 +0200)]
Merge remote-tracking branch 'github/master'

2 years agoMC: warn the users when reaching max-depth with DPOR
Martin Quinson [Thu, 15 Jul 2021 19:22:51 +0000 (21:22 +0200)]
MC: warn the users when reaching max-depth with DPOR

2 years agoGithub Action : add mattermost notification (#377)
adegomme [Thu, 15 Jul 2021 17:51:55 +0000 (19:51 +0200)]
Github Action : add mattermost notification (#377)

* try to notify mattermost on jarfile creation

* test2

* test3

* more error messages

* actually send the message on build failure

2 years agoChangeLog for non-linear resource sharing
Bruno Donassolo [Thu, 15 Jul 2021 09:27:08 +0000 (11:27 +0200)]
ChangeLog for non-linear resource sharing

2 years agoHost: non-linear constraints
Bruno Donassolo [Tue, 13 Jul 2021 15:28:07 +0000 (17:28 +0200)]
Host: non-linear constraints

Allows the use of non-linear constraints for CPU resources.

Add API in s4u::Host::set_sharing_policy
- LINEAR(default, shared resources) or NONLINEAR

Example: examples/cpp/exec-cpu-nonlinear

2 years agos4u::Link: avoid set_sharing_policy==WIFI
Bruno Donassolo [Tue, 6 Jul 2021 09:50:15 +0000 (11:50 +0200)]
s4u::Link: avoid set_sharing_policy==WIFI

Implements sharing policy for split-duplex links.
Replicate config for each up/down link

2 years agoLink: Non-linear constraints
Bruno Donassolo [Mon, 5 Jul 2021 12:36:12 +0000 (14:36 +0200)]
Link: Non-linear constraints

Add non-linear constraints to links.
Similar to disks, user can use a callback to dynamically change the
link's capacity based on the number of flows sharing it.
Only traffic explicit generated by the user is considered as active
flow, so cross-traffic communications aren't taken into account.

Extend s4u::Link::sharing_policy
- New type: NONLINEAR

Example: examples/cpp/network-nonlinear/

2 years agoDisk: Non-linear contraints
Bruno Donassolo [Thu, 10 Jun 2021 16:31:38 +0000 (18:31 +0200)]
Disk: Non-linear contraints

Users can now define a callback to set the capacity of the resource
during the system solve. The callback receives the current capacity and
number of activities/flows currently sharing the resource.

The capacity is defined once at the beginning of the system solve.

- Disk:
  - Add API to set sharing_policy by type: read/write/read-write
  - Example: io-degradation: simulates the degradation in read/write
operation on disks.

2 years agoMerge branch 'fix-smpi-install-dirs' into 'master'
Augustin Degomme [Thu, 15 Jul 2021 09:29:23 +0000 (09:29 +0000)]
Merge branch 'fix-smpi-install-dirs' into 'master'

cmake: fix smpi install dirs (absolute arg)

See merge request simgrid/simgrid!67

2 years agocmake: fix smpi install dirs (absolute arg)
Millian Poquet [Thu, 15 Jul 2021 09:09:09 +0000 (11:09 +0200)]
cmake: fix smpi install dirs (absolute arg)

Previous code assumed that the following variables were relative paths
- CMAKE_INSTALL_INCLUDEDIR
- CMAKE_INSTALL_LIBDIR

However, using absolute paths there is totally legal in CMake,
and doing so broke installed paths in smpicc/smpicxx.

Fix uses the CMAKE_INSTALL_FULL_<dir> variant instead,
which should work in this case and generally be more robust.

FULL variants exist since at least cmake-3.0.0 so it should be available
everywhere (cmake-3.0.0 was released on June 2014).

References:
- https://cmake.org/cmake/help/latest/command/install.html
- https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html

2 years agodoc: Add some recent release notes as a lighthouse to the recent developments
Martin Quinson [Thu, 15 Jul 2021 00:28:39 +0000 (02:28 +0200)]
doc: Add some recent release notes as a lighthouse to the recent developments

2 years agoDefine macro XBT_ATTRIB_DEPRECATED_v333.
Arnaud Giersch [Wed, 14 Jul 2021 19:23:34 +0000 (21:23 +0200)]
Define macro XBT_ATTRIB_DEPRECATED_v333.

2 years agoRemove deprecated features for next release (3.29).
Arnaud Giersch [Wed, 14 Jul 2021 19:23:34 +0000 (21:23 +0200)]
Remove deprecated features for next release (3.29).

2 years agoStart the dev of the 3.29 cycle
Martin Quinson [Wed, 14 Jul 2021 19:17:31 +0000 (21:17 +0200)]
Start the dev of the 3.29 cycle

2 years agoPost-release NEWS improvement
Martin Quinson [Wed, 14 Jul 2021 17:28:01 +0000 (19:28 +0200)]
Post-release NEWS improvement

2 years agoforgot to update the python package version number
Martin Quinson [Wed, 14 Jul 2021 10:29:59 +0000 (12:29 +0200)]
forgot to update the python package version number

2 years agoNetzone::get_children() is actually not deprecated.
Arnaud Giersch [Wed, 14 Jul 2021 14:18:02 +0000 (16:18 +0200)]
Netzone::get_children() is actually not deprecated.

Move its declaration outside of #ifndef DOXYGEN.

2 years agoTypos.
Arnaud Giersch [Wed, 14 Jul 2021 12:34:23 +0000 (14:34 +0200)]
Typos.

2 years agoRelease v3.28 v3.28
Martin Quinson [Wed, 14 Jul 2021 09:02:11 +0000 (11:02 +0200)]
Release v3.28

2 years agoFix make distcheck
Martin Quinson [Wed, 14 Jul 2021 00:40:42 +0000 (02:40 +0200)]
Fix make distcheck

2 years agodoc: Fix a subtle formatting error that is not reported by tools
Martin Quinson [Wed, 14 Jul 2021 00:36:06 +0000 (02:36 +0200)]
doc: Fix a subtle formatting error that is not reported by tools

2 years agoSmall improvements to the changelog and doc
Martin Quinson [Wed, 14 Jul 2021 00:23:13 +0000 (02:23 +0200)]
Small improvements to the changelog and doc

I think the changelog is now complete

2 years agoproposal for a NEWS file for the upcoming release
Martin Quinson [Tue, 13 Jul 2021 23:26:49 +0000 (01:26 +0200)]
proposal for a NEWS file for the upcoming release

2 years agotry to further improve docs/find-missing
Martin Quinson [Tue, 13 Jul 2021 23:26:32 +0000 (01:26 +0200)]
try to further improve docs/find-missing

2 years agoRemove useless includes from the public headers
Martin Quinson [Tue, 13 Jul 2021 23:25:57 +0000 (01:25 +0200)]
Remove useless includes from the public headers

2 years agodoc: praise for 'discovery reports' as a way to contribute back to the project
Martin Quinson [Tue, 13 Jul 2021 01:01:38 +0000 (03:01 +0200)]
doc: praise for 'discovery reports' as a way to contribute back to the project

also, reword and shorten some other sections in the same file

2 years agoremove 2 files with no useful content to scavenge from the old doc
Martin Quinson [Sat, 10 Jul 2021 09:13:15 +0000 (11:13 +0200)]
remove 2 files with no useful content to scavenge from the old doc

2 years agoHide some deprecated symbols from doxygen
Martin Quinson [Sat, 10 Jul 2021 09:06:39 +0000 (11:06 +0200)]
Hide some deprecated symbols from doxygen

2 years agoport find-missing.ignore from autodoxy to breathe
Martin Quinson [Sat, 10 Jul 2021 08:54:28 +0000 (10:54 +0200)]
port find-missing.ignore from autodoxy to breathe

2 years agoUse == for string comparison [ci-skip].
Arnaud Giersch [Tue, 13 Jul 2021 14:03:41 +0000 (16:03 +0200)]
Use == for string comparison [ci-skip].

2 years agoSimplify, and avoid nested SmpiBenchGuard when rastro_resolution is called by rastro_...
Arnaud Giersch [Tue, 13 Jul 2021 10:33:03 +0000 (12:33 +0200)]
Simplify, and avoid nested SmpiBenchGuard when rastro_resolution is called by rastro_timestamp.

2 years ago[sonar] Less implicit conversions.
Arnaud Giersch [Mon, 12 Jul 2021 14:04:59 +0000 (16:04 +0200)]
[sonar] Less implicit conversions.

2 years agoAdd network factors in changelog
Bruno Donassolo [Sat, 10 Jul 2021 16:49:48 +0000 (18:49 +0200)]
Add network factors in changelog

2 years agodoc: fix an issue spotted by find-missing.py
Martin Quinson [Fri, 9 Jul 2021 23:38:13 +0000 (01:38 +0200)]
doc: fix an issue spotted by find-missing.py

2 years agodocs: properly report typedefs that are missing in the doc
Martin Quinson [Fri, 9 Jul 2021 23:26:52 +0000 (01:26 +0200)]
docs: properly report typedefs that are missing in the doc

2 years agoAdapt docs/find-missing to breathe now that autodoxy is gone
Martin Quinson [Fri, 9 Jul 2021 23:13:38 +0000 (01:13 +0200)]
Adapt docs/find-missing to breathe now that autodoxy is gone

2 years agoFix another bunch of warnings in doc generation.
Arnaud Giersch [Fri, 9 Jul 2021 16:32:49 +0000 (18:32 +0200)]
Fix another bunch of warnings in doc generation.

2 years agoUse 'console' syntax highlighting for shell typescripts.
Arnaud Giersch [Fri, 9 Jul 2021 11:33:15 +0000 (13:33 +0200)]
Use 'console' syntax highlighting for shell typescripts.

2 years agoVarious corrections in docs.
Arnaud Giersch [Fri, 9 Jul 2021 08:51:25 +0000 (10:51 +0200)]
Various corrections in docs.

2 years agoMissing const.
Arnaud Giersch [Thu, 8 Jul 2021 22:22:27 +0000 (00:22 +0200)]
Missing const.

2 years agoFix debug message better [ci-skip]
Arnaud Giersch [Thu, 8 Jul 2021 22:16:58 +0000 (00:16 +0200)]
Fix debug message better [ci-skip]

2 years agoRemove dead entries in 'docs/find-missing.ignore'.
Arnaud Giersch [Thu, 8 Jul 2021 21:16:58 +0000 (23:16 +0200)]
Remove dead entries in 'docs/find-missing.ignore'.
Kill unused file 'ignored_symbols'.

2 years agoInstr: for consistency, rename 'father' to 'parent' here too.
Arnaud Giersch [Thu, 8 Jul 2021 19:54:44 +0000 (21:54 +0200)]
Instr: for consistency, rename 'father' to 'parent' here too.

2 years agoNetZone: rename the remaining occurrence of 'father' to 'parent'.
Arnaud Giersch [Thu, 8 Jul 2021 19:53:05 +0000 (21:53 +0200)]
NetZone: rename the remaining occurrence of 'father' to 'parent'.

2 years agoCosmetics around deprecated functions.
Arnaud Giersch [Thu, 8 Jul 2021 19:23:25 +0000 (21:23 +0200)]
Cosmetics around deprecated functions.

2 years agoKill deprecated private field ActorImpl::userdata_ (use Actor::get/set_data instead).
Arnaud Giersch [Thu, 8 Jul 2021 12:00:48 +0000 (14:00 +0200)]
Kill deprecated private field ActorImpl::userdata_ (use Actor::get/set_data instead).

This is on the *Impl side, and does not need to wait for the deprecation quarantine.

2 years agoMake comment match the declaration in Engine.hpp.
Arnaud Giersch [Thu, 8 Jul 2021 09:38:32 +0000 (11:38 +0200)]
Make comment match the declaration in Engine.hpp.

2 years agoVector::at() is good enough to check bounds.
Arnaud Giersch [Wed, 7 Jul 2021 13:46:34 +0000 (15:46 +0200)]
Vector::at() is good enough to check bounds.

2 years agoReduce number of unnecessary copies of 'args'.
Arnaud Giersch [Wed, 7 Jul 2021 12:39:50 +0000 (14:39 +0200)]
Reduce number of unnecessary copies of 'args'.

2 years agoMake EngineImpl::tasksTemp a local variable.
Arnaud Giersch [Tue, 6 Jul 2021 20:55:03 +0000 (22:55 +0200)]
Make EngineImpl::tasksTemp a local variable.

2 years agoSimplify function calls (avoid explicit std::vector<double>).
Arnaud Giersch [Tue, 6 Jul 2021 20:27:20 +0000 (22:27 +0200)]
Simplify function calls (avoid explicit std::vector<double>).

Either use the variant taking a scalar, or use an initialization list.

2 years agoMake single argument constructor LinkInRoute::LinkInRoute(const Link*) explicit.
Arnaud Giersch [Tue, 6 Jul 2021 15:24:15 +0000 (17:24 +0200)]
Make single argument constructor LinkInRoute::LinkInRoute(const Link*) explicit.

2 years agoFix empty #ifndef..#endif. Annotate helper function as deprecated.
Arnaud Giersch [Tue, 6 Jul 2021 14:29:53 +0000 (16:29 +0200)]
Fix empty #ifndef..#endif. Annotate helper function as deprecated.

2 years agoSplitDuplexLinkImpl always have SharingPolicy::SPLITDUPLEX. Use a sdingle assert...
Arnaud Giersch [Tue, 6 Jul 2021 08:54:27 +0000 (10:54 +0200)]
SplitDuplexLinkImpl always have SharingPolicy::SPLITDUPLEX. Use a sdingle assert in Link::get_impl().

2 years agodoc: autodoxy is gone, so remove a workaround for it
Martin Quinson [Mon, 5 Jul 2021 22:51:53 +0000 (00:51 +0200)]
doc: autodoxy is gone, so remove a workaround for it

2 years agoCosmetics in ChangeLog (mostly reorder and rewrap)
Martin Quinson [Mon, 5 Jul 2021 22:51:18 +0000 (00:51 +0200)]
Cosmetics in ChangeLog (mostly reorder and rewrap)

2 years agosmall doc improvement
Martin Quinson [Mon, 5 Jul 2021 22:50:35 +0000 (00:50 +0200)]
small doc improvement

2 years agoUse reference to const for large input parameters.
Arnaud Giersch [Mon, 5 Jul 2021 13:17:29 +0000 (15:17 +0200)]
Use reference to const for large input parameters.

2 years agoAdd 'const' for sonar.
Arnaud Giersch [Mon, 5 Jul 2021 13:17:29 +0000 (15:17 +0200)]
Add 'const' for sonar.

2 years agoAdd informative comment near implementation for deprecated functions.
Arnaud Giersch [Mon, 5 Jul 2021 13:17:29 +0000 (15:17 +0200)]
Add informative comment near implementation for deprecated functions.

2 years agoAttribute 'virtual' is redundant with 'override'.
Arnaud Giersch [Mon, 5 Jul 2021 13:17:29 +0000 (15:17 +0200)]
Attribute 'virtual' is redundant with 'override'.

2 years agoIt's an internal error if get_impl returns null. Add an assert to be sure.
Arnaud Giersch [Mon, 5 Jul 2021 13:17:29 +0000 (15:17 +0200)]
It's an internal error if get_impl returns null. Add an assert to be sure.

(and hope to please fbinfer)

2 years agoChangelog: C++ interface
Bruno Donassolo [Thu, 1 Jul 2021 12:51:44 +0000 (14:51 +0200)]
Changelog: C++ interface

2 years agoSonar variety
Bruno Donassolo [Thu, 1 Jul 2021 12:19:49 +0000 (14:19 +0200)]
Sonar variety

2 years agoTry to fix opensuse, gcc 11.0.0 build
Bruno Donassolo [Wed, 30 Jun 2021 17:59:24 +0000 (19:59 +0200)]
Try to fix opensuse, gcc 11.0.0 build

2 years agoMerge branch 'split_link_impl' into 'master'
Bruno Donassolo [Wed, 30 Jun 2021 16:00:02 +0000 (16:00 +0000)]
Merge branch 'split_link_impl' into 'master'

Split-Duplex: s4u support

See merge request simgrid/simgrid!66

2 years agoSplit-Duplex: new management
Bruno Donassolo [Fri, 18 Jun 2021 13:11:57 +0000 (15:11 +0200)]
Split-Duplex: new management

1. Huge commit to add support to Split-Duplex in S4U.
  - New interface: s4u::SplitDuplexLink

2. Allows its creation through the C++ interface without manually creating
the link UP and DOWN.
  - NetZone::create_split_duplex_link

3. Changes in NetZone::add_route to allow the description of the
direction in C++ interface
  - LinkInRoute: wrap around Link* to indicate the direction
(UP/DOWN/NONE) for the link.
  - UP/DOWN are used to split-duplex links
  - NONE for other types (shared, wifi, fat-pipe)

4. Fix use of split-duplex links in symmetric routes in XML too.
     <route src="alice" dst="bob" symmetrical="YES">
       <link_ctn id="link1" direction="UP"/>
     </route>
  Now this code works, it will add the link1_DOWN as route to
bob->alice. In the past, it would add link1_UP for bob->alice too.

2 years agoDon't mix LMM sharing policy with S4U.
Bruno Donassolo [Thu, 17 Jun 2021 14:51:01 +0000 (16:51 +0200)]
Don't mix LMM sharing policy with S4U.

Add another enum for maxmin sharing policy
In the maxmin system, only FATPIPE and SHARED make sense.

2 years agoDon't mix C with C++ API here.
Arnaud Giersch [Sat, 26 Jun 2021 19:30:26 +0000 (21:30 +0200)]
Don't mix C with C++ API here.

This is in the Tutorial section and should be kept simple.

2 years agoFix another bunch of dead links in docs.
Arnaud Giersch [Fri, 25 Jun 2021 21:47:17 +0000 (23:47 +0200)]
Fix another bunch of dead links in docs.

2 years agoMore trivial fixes for docs.
Arnaud Giersch [Fri, 25 Jun 2021 11:05:17 +0000 (13:05 +0200)]
More trivial fixes for docs.

Remove reference to Mutex/Semaphore ctor and dtor, since they are not public.

2 years agoIncrease requirements for breathe.
Arnaud Giersch [Fri, 25 Jun 2021 09:35:40 +0000 (11:35 +0200)]
Increase requirements for breathe.

2 years agoDisallow sphinx>=4.0 for now: it's breaking on CI
Arnaud Giersch [Fri, 25 Jun 2021 09:02:17 +0000 (11:02 +0200)]
Disallow sphinx>=4.0 for now: it's breaking on CI

Exception occurred:
  File /usr/lib/python3/dist-packages/docutils/nodes.py, line 625, in __getitem__
    return self.attributes[key]
KeyError: 'domain'

2 years agoTry to increase sphinx requirements.
Arnaud Giersch [Fri, 25 Jun 2021 08:34:44 +0000 (10:34 +0200)]
Try to increase sphinx requirements.

Match version currently available in Debian testing and unstable.

2 years agoMinor fixes in doc.
Arnaud Giersch [Fri, 25 Jun 2021 08:03:59 +0000 (10:03 +0200)]
Minor fixes in doc.

2 years agoTwo more const methods spotted by sonar.
Arnaud Giersch [Fri, 25 Jun 2021 06:51:36 +0000 (08:51 +0200)]
Two more const methods spotted by sonar.

2 years agoMore int -> unsigned long.
Arnaud Giersch [Fri, 25 Jun 2021 06:50:15 +0000 (08:50 +0200)]
More int -> unsigned long.

2 years agoDon't fail when there's no error!
Arnaud Giersch [Fri, 25 Jun 2021 06:34:50 +0000 (08:34 +0200)]
Don't fail when there's no error!

2 years agoFix a few warnings when building doc (mostly related to doxygen).
Arnaud Giersch [Thu, 24 Jun 2021 18:26:20 +0000 (20:26 +0200)]
Fix a few warnings when building doc (mostly related to doxygen).

2 years agoCorrectly remove generated files.
Arnaud Giersch [Thu, 24 Jun 2021 20:25:04 +0000 (22:25 +0200)]
Correctly remove generated files.

The added "rm" command for s4u-exec-ptasks prevents use of ADD_TESH_FACTORIES
(it chokes on "--cfg=contexts/factory:...").

2 years agoGet back |br| in XML doc
Bruno Donassolo [Thu, 24 Jun 2021 14:13:53 +0000 (16:13 +0200)]
Get back |br| in XML doc

Fix my previous mistake removing them

2 years agoThis is an unsigned integer.
Arnaud Giersch [Thu, 24 Jun 2021 12:33:07 +0000 (14:33 +0200)]
This is an unsigned integer.

2 years agoGraphNodeData::graph_id_ is an unsigned long.
Arnaud Giersch [Thu, 24 Jun 2021 12:23:01 +0000 (14:23 +0200)]
GraphNodeData::graph_id_ is an unsigned long.

2 years agoType consistency.
Arnaud Giersch [Thu, 24 Jun 2021 12:10:52 +0000 (14:10 +0200)]
Type consistency.

2 years agoThis is a test for emptiness.
Arnaud Giersch [Thu, 24 Jun 2021 12:09:27 +0000 (14:09 +0200)]
This is a test for emptiness.

2 years ago[sonar] Avoid C-style array.
Arnaud Giersch [Thu, 24 Jun 2021 11:43:30 +0000 (13:43 +0200)]
[sonar] Avoid C-style array.

2 years agoParameter 'fd' is always -1 for xbt_mheap_new. Kill dead code.
Arnaud Giersch [Thu, 24 Jun 2021 09:10:06 +0000 (11:10 +0200)]
Parameter 'fd' is always -1 for xbt_mheap_new. Kill dead code.

2 years agoSeveral improvements in doc [ci-skip]
Bruno Donassolo [Thu, 24 Jun 2021 13:27:52 +0000 (15:27 +0200)]
Several improvements in doc [ci-skip]

2 years agoDeclare method const.
Arnaud Giersch [Thu, 24 Jun 2021 08:03:30 +0000 (10:03 +0200)]
Declare method const.

2 years agoFix type for variable.
Arnaud Giersch [Thu, 24 Jun 2021 08:01:10 +0000 (10:01 +0200)]
Fix type for variable.

2 years agoUse std::unique_ptr and remove explicit destructor.
Arnaud Giersch [Thu, 24 Jun 2021 07:48:15 +0000 (09:48 +0200)]
Use std::unique_ptr and remove explicit destructor.

2 years agoPass the real pointer to the englobing MC class for the event callback.
Arnaud Giersch [Thu, 24 Jun 2021 07:39:48 +0000 (09:39 +0200)]
Pass the real pointer to the englobing MC class for the event callback.

(avoid accidental upcast)

2 years agoUse ssize_t for Exec::wait_any and Io::wait_any too.
Arnaud Giersch [Wed, 23 Jun 2021 09:11:13 +0000 (11:11 +0200)]
Use ssize_t for Exec::wait_any and Io::wait_any too.

2 years agoUse ssize_t as return type for Comm::wait_any.
Arnaud Giersch [Wed, 23 Jun 2021 08:56:43 +0000 (10:56 +0200)]
Use ssize_t as return type for Comm::wait_any.

2 years agoUse ssize_t as return type for Comm::test_any.
Arnaud Giersch [Wed, 23 Jun 2021 08:23:09 +0000 (10:23 +0200)]
Use ssize_t as return type for Comm::test_any.

2 years agoUpdate .mailmap.
Arnaud Giersch [Tue, 22 Jun 2021 22:22:16 +0000 (00:22 +0200)]
Update .mailmap.

2 years agoTwo more s/pointer/reference/ for std::vector parameter.
Arnaud Giersch [Tue, 22 Jun 2021 21:50:16 +0000 (23:50 +0200)]
Two more s/pointer/reference/ for std::vector parameter.

2 years agoPrefer a reference for first parameter of {test,wait}_{all,any}.
Arnaud Giersch [Tue, 22 Jun 2021 20:37:17 +0000 (22:37 +0200)]
Prefer a reference for first parameter of {test,wait}_{all,any}.

2 years agoAdd a test in teshsuite for Comm::wait_all_for.
Arnaud Giersch [Tue, 22 Jun 2021 09:48:41 +0000 (11:48 +0200)]
Add a test in teshsuite for Comm::wait_all_for.