Arnaud Giersch [Sat, 12 Mar 2022 20:30:21 +0000 (21:30 +0100)]
[tesh] Remove ignored lines *before* trimming the output.
[ci-skip]
Arnaud Giersch [Sat, 12 Mar 2022 16:51:20 +0000 (17:51 +0100)]
Adapt tests to avoid failures when spurious ASan warnings are interlaced.
Martin Quinson [Sat, 12 Mar 2022 14:12:37 +0000 (15:12 +0100)]
Blind attempt at getting scoop working again on Azur windows
Martin Quinson [Sat, 12 Mar 2022 12:16:06 +0000 (13:16 +0100)]
obey our coding conventions in ActorImpl::mailboxes, and free them once only
Martin Quinson [Sat, 12 Mar 2022 11:25:00 +0000 (12:25 +0100)]
Simplify the Context::stop() and reduce duplication
Martin Quinson [Sat, 12 Mar 2022 10:47:26 +0000 (11:47 +0100)]
Defuse a trap on refcounting activities by adding a comment
SUTER Frederic [Sat, 12 Mar 2022 01:02:14 +0000 (02:02 +0100)]
augment example to check sharing of a thread-execute
Martin Quinson [Sat, 12 Mar 2022 00:01:35 +0000 (01:01 +0100)]
Make sure that actors killed by a timer are properly finished
ActorImpl::exit() does not schedule the victim for execution because
exit() usually denotes a suicide.
When ran from a timer, it's executed in maestro context, so the victim
needs to be scheduled to be properly freed.
It worked properly before commit
2cb8c87fc8 because the actors were
completely destroyed by Context::stop() which is still used here. Now,
the cleanup is split in 2 parts (in actor context and in maestro
context), that are not directly inter-linked.
Gosh, that was a long debug session for a small patch. I hope it's OK now
Martin Quinson [Fri, 11 Mar 2022 21:13:40 +0000 (22:13 +0100)]
Cosmetics in ActorImpl
Martin Quinson [Fri, 11 Mar 2022 13:52:28 +0000 (13:52 +0000)]
Merge branch 'add_remaining_comm_sync_bindings' into 'master'
Add remaining Comm synchronisation Python bindings
See merge request simgrid/simgrid!81
Bruno Donassolo [Fri, 11 Mar 2022 11:36:55 +0000 (12:36 +0100)]
Minor improv in threads
Let the user_bound for bounds given by S4U user (if any).
For the requested_cores, the bound is already configured when creating
the action at CpuCas01Action.
Also, the current implementation for threads use the same mechanism used
by VMs, for a N-thread action:
- priority/sharing_penalty: 1/N to increase the amount of CPU given to
action.
- individual bound: speed < N*C: to limit the action speed to the number
of cores.
Bruno Donassolo [Fri, 11 Mar 2022 11:17:12 +0000 (12:17 +0100)]
Comment back the unsuccessful try to use faster matrix solver.
Ideally we would like to use PartialPivLU most of the time. But in some
cases, as tested in the UTs, we need the complete pivoting and the
assurance given by FullPivLU.
Document why it didn't work.
Need another way to check that the solution is invalid that doesn't
include isNaN.
Arnaud Giersch [Thu, 10 Mar 2022 17:14:35 +0000 (18:14 +0100)]
Add unit tests aiming at covering Comm::send and Comm::recv.
Arnaud Giersch [Thu, 10 Mar 2022 16:21:30 +0000 (17:21 +0100)]
Kill dead code.
Unused since there is no future.
Arnaud Giersch [Thu, 10 Mar 2022 10:04:09 +0000 (11:04 +0100)]
Use std::function for smpi_comm_copy_data_callback.
Arnaud Giersch [Wed, 9 Mar 2022 22:19:55 +0000 (23:19 +0100)]
Use std::function for Extension deleters.
Arnaud Giersch [Wed, 9 Mar 2022 21:48:21 +0000 (22:48 +0100)]
Use std::function for Comm callbacks.
Martin Quinson [Thu, 10 Mar 2022 07:28:35 +0000 (08:28 +0100)]
easy sonar fixes
Martin Quinson [Wed, 9 Mar 2022 22:21:34 +0000 (23:21 +0100)]
cosmetics in the release notes
Martin Quinson [Wed, 9 Mar 2022 21:08:11 +0000 (22:08 +0100)]
Better split between the cleanups from self and the ones from the kernel (ie on maestro context)
This shall remove the need for OS synchronization when registering the
actors that should die. So that's hopefully another fix for the problem solved
by
be00fecb16c89d44253052889f4815b35ab9abbe
Also, it protects more modifications to global datastructures from
concurrent modifications by doing them in maestro context. The
previous solution was only protecting a very small amount of them.
Jean-Edouard BOULANGER [Wed, 9 Mar 2022 17:57:02 +0000 (18:57 +0100)]
Add remaining Comm synchronisation Python bindings
Martin Quinson [Wed, 9 Mar 2022 15:38:25 +0000 (16:38 +0100)]
Make our valgrind wrapper less verbose, so that it does not break tesh outputs when no error
Martin Quinson [Wed, 9 Mar 2022 11:21:06 +0000 (12:21 +0100)]
further simpify the MC initialization on app side
Martin Quinson [Wed, 9 Mar 2022 10:33:38 +0000 (11:33 +0100)]
Simplify the parameter passing while initializing the MC on the app side
Martin Quinson [Wed, 9 Mar 2022 10:26:03 +0000 (11:26 +0100)]
Seal the platform only once from EngineImpl::run
Arnaud Giersch [Wed, 9 Mar 2022 10:38:38 +0000 (11:38 +0100)]
Fix mingw warning.
redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
Arnaud Giersch [Wed, 9 Mar 2022 10:34:24 +0000 (11:34 +0100)]
Kill useless target "make maintainer-clean".
It only tries to remove an non-existent file...
Arnaud Giersch [Wed, 9 Mar 2022 09:42:05 +0000 (10:42 +0100)]
Don't modify variable twice in the same expression.
Arnaud Giersch [Wed, 9 Mar 2022 09:23:47 +0000 (10:23 +0100)]
Define initial value, even if it's useless.
Arnaud Giersch [Wed, 9 Mar 2022 08:56:38 +0000 (09:56 +0100)]
Provide constructor with parameters for lmm::Element.
Martin Quinson [Wed, 9 Mar 2022 09:40:43 +0000 (10:40 +0100)]
Fix clang builds (unused lambda capture)
Martin Quinson [Wed, 9 Mar 2022 09:31:30 +0000 (10:31 +0100)]
Cosmetics in the changelog and release notes
Martin Quinson [Wed, 9 Mar 2022 09:18:15 +0000 (10:18 +0100)]
Improve the Actor::set_auto_restart doc by specifying which attributes are saved over reboots
Martin Quinson [Wed, 9 Mar 2022 09:07:22 +0000 (10:07 +0100)]
Introduce a Trait to deal with autorestart matter in ActorImpl, and fix bugs
The daemonized behavior was not correctly saved, as noted by the
updated tesh-actor-autorestart test
Martin Quinson [Wed, 9 Mar 2022 08:50:08 +0000 (09:50 +0100)]
use get_restart_count from the monkey-masterwork, for simplicity and to test it
Martin Quinson [Wed, 9 Mar 2022 08:34:24 +0000 (09:34 +0100)]
new: Actor::get_restart_count(): Returns the number of reboots that this actor did
Fixes https://framagit.org/simgrid/simgrid/-/issues/11
(again)
Martin Quinson [Tue, 8 Mar 2022 20:48:55 +0000 (21:48 +0100)]
Update an outdated comment
Martin Quinson [Tue, 8 Mar 2022 18:46:33 +0000 (19:46 +0100)]
Rename mc::SafetyChecker to mc::DFSExplorer
Martin Quinson [Tue, 8 Mar 2022 16:45:47 +0000 (17:45 +0100)]
Rename mc::CheckerAlgorithm to mc::ExplorationAlgorithm, because that's what it is
Arnaud Giersch [Tue, 8 Mar 2022 22:41:18 +0000 (23:41 +0100)]
Update comment.
Arnaud Giersch [Tue, 8 Mar 2022 22:20:10 +0000 (23:20 +0100)]
Move Simcall from namespace simix to kernel::actor.
Arnaud Giersch [Tue, 8 Mar 2022 22:04:35 +0000 (23:04 +0100)]
Rename example, and update doc.
Configuration option simix/breakpoint was renamed some time ago.
Arnaud Giersch [Tue, 8 Mar 2022 15:38:30 +0000 (16:38 +0100)]
Rename popping.cpp -> simcall.cpp to better reflect its content.
Arnaud Giersch [Tue, 8 Mar 2022 15:26:12 +0000 (16:26 +0100)]
Make Simcall a real class.
Arnaud Giersch [Tue, 8 Mar 2022 15:36:12 +0000 (16:36 +0100)]
Remove reference to dead files.
SUTER Frederic [Tue, 8 Mar 2022 14:42:51 +0000 (15:42 +0100)]
add an s to example name
Arnaud Giersch [Tue, 8 Mar 2022 14:32:29 +0000 (15:32 +0100)]
Use existing XBT macro to declare enum class Simcall.
Arnaud Giersch [Tue, 8 Mar 2022 12:33:24 +0000 (13:33 +0100)]
Mark all of simix.h as deprecated.
This include file will be empty after that anyway.
Bruno Donassolo [Tue, 8 Mar 2022 12:41:05 +0000 (13:41 +0100)]
BMF: One pass in sonar issues
Arnaud Giersch [Tue, 8 Mar 2022 12:08:45 +0000 (13:08 +0100)]
Missing include.
Arnaud Giersch [Tue, 8 Mar 2022 09:30:13 +0000 (10:30 +0100)]
Define Comm::send and Comm::recv (replace simcall_comm_send/recv).
Mark last legacy simcalls as deprecated.
SUTER Frederic [Tue, 8 Mar 2022 01:31:29 +0000 (02:31 +0100)]
introduce thread_execute
SUTER Frederic [Fri, 4 Mar 2022 01:18:09 +0000 (02:18 +0100)]
mark 3 more simcalls as deprecated
Bruno Donassolo [Mon, 7 Mar 2022 18:34:54 +0000 (19:34 +0100)]
Revert "Being optimistic for better performance"
This reverts commit
aedc2aa6b82c69adc779ffc4bb8ece31ac423440.
Bruno Donassolo [Mon, 7 Mar 2022 18:10:11 +0000 (19:10 +0100)]
Being optimistic for better performance
If the matrix isn't singular (which is true most of the cases) this
PartialPivLU is much faster than FullPivLU.
Let's be optimistic, what can go wrong? ;)
Arnaud Giersch [Mon, 7 Mar 2022 16:31:00 +0000 (17:31 +0100)]
[jenkins] Avoid build errors on centos.
Arnaud Giersch [Mon, 7 Mar 2022 14:42:20 +0000 (15:42 +0100)]
DISTRIB_ID is apparently now all lowercase on NixOS.
Arnaud Giersch [Mon, 7 Mar 2022 14:09:53 +0000 (15:09 +0100)]
Fix install prefix for Eigen3 on appveyor.
Arnaud Giersch [Mon, 7 Mar 2022 13:42:40 +0000 (14:42 +0100)]
Try to fix detection of eigen3.
Augustin Degomme [Mon, 7 Mar 2022 13:17:30 +0000 (14:17 +0100)]
blind new attempt for appveyor
Bruno Donassolo [Mon, 7 Mar 2022 12:50:21 +0000 (13:50 +0100)]
Fix build
Remove boost container dependency and fix 32 bits build
Augustin Degomme [Mon, 7 Mar 2022 12:47:56 +0000 (13:47 +0100)]
new attempt for appveyor
Bruno Donassolo [Mon, 7 Mar 2022 11:40:26 +0000 (11:40 +0000)]
Merge branch 'bmf' into 'master'
New model for parallel tasks: host/model:ptask_BMF
See merge request simgrid/simgrid!80
Bruno Donassolo [Mon, 7 Mar 2022 11:35:24 +0000 (12:35 +0100)]
Guess for appveyor
Bruno Donassolo [Mon, 7 Mar 2022 10:46:58 +0000 (11:46 +0100)]
Add eigen dependency to dockerfiles
Improve ChangeLog
Arnaud Giersch [Mon, 7 Mar 2022 10:20:04 +0000 (11:20 +0100)]
Sonar here too.
* remove global variables
* delete unused copy constructor/assignment operator
* use const reference
Bruno Donassolo [Fri, 4 Mar 2022 16:51:02 +0000 (17:51 +0100)]
Fix bug found at ptask experiments
The consumption of bounded variables exceed constraint capacity leading
to wrong behavior of the algorithm.
Added some UTs for special case with bounds.
Bruno Donassolo [Fri, 4 Mar 2022 10:14:37 +0000 (11:14 +0100)]
ptask_BMF: High-level documentation of BMF and the algorithm
Add eigen in installation instructions
Add doc for ptask_BMF
Changelog
Bruno Donassolo [Thu, 3 Mar 2022 18:26:16 +0000 (19:26 +0100)]
Adding test for subflows
Bruno Donassolo [Thu, 3 Mar 2022 14:41:04 +0000 (15:41 +0100)]
BMF sharing penalty/priority
Bruno Donassolo [Wed, 2 Mar 2022 14:34:08 +0000 (15:34 +0100)]
Fix error find by IO test.
Wrong sharing of saturated (but not selected resources)
UT for it
Bruno Donassolo [Tue, 1 Mar 2022 11:22:55 +0000 (12:22 +0100)]
Remove single movement code
It seems better to be more aggressive to converge faster.
Bruno Donassolo [Tue, 1 Mar 2022 10:57:03 +0000 (11:57 +0100)]
ptask_BMF: support for dynamic bounds (user's callback)
Allows the use of user callback to dynamically change the constraint
capacity.
Add a warning message for user since this approach is quite pessimist
when sharing results and may lead to inaccurate resource sharing
Bruno Donassolo [Tue, 1 Mar 2022 10:49:54 +0000 (11:49 +0100)]
BMF: Fatpipe support
Adjust A' matrix and is_bmf functions accordingly.
Bruno Donassolo [Mon, 28 Feb 2022 13:39:44 +0000 (14:39 +0100)]
Implements selective-update for bmf model (off by default).
Add a cfg parameter: "bmf/selective-update" to enable it
Bruno Donassolo [Wed, 23 Feb 2022 11:32:22 +0000 (12:32 +0100)]
ptask_BMF: refactor code and loop scenarios
New cfg flag: --cfg=bmf/max-iterations:X. Configure the number maximum
of iterations done by BMF solver (default 1000).
Usually the algorithm converges much faster but in some cases it may be
necessary to increase it. However, can impact negatively on execution
time
Refactor code: new BmfSolver class to encapsulate matrix manipulation from system
Add a class to generate all possible allocations if necessary
Bruno Donassolo [Wed, 23 Feb 2022 10:15:42 +0000 (11:15 +0100)]
Fix: default rate (bound) for comms is -1 not 0
Bruno Donassolo [Wed, 23 Feb 2022 10:15:18 +0000 (11:15 +0100)]
Bugfix: ptask should use expand_add for exec tasks
The variable in the system is the same for ptasks, so use expand_add to
reuse the element if it exists in the system. Similar as it's done for
communications
Bruno Donassolo [Wed, 23 Feb 2022 09:59:35 +0000 (10:59 +0100)]
Support for bounded actions in BMF solver
Bruno Donassolo [Fri, 18 Feb 2022 09:44:21 +0000 (10:44 +0100)]
New model for parallel tasks: host/model:ptask_BMF
Implement a new solver for lmm::System based on BMF (Bottleneck max
fairness) objective.
BMF provides a more realistic sharing of heterogeneous resources as used
by parallel tasks.
Enable it using: --cfg=host/model:ptask_BMF instead of ptask_L07.
SimGrid compilation from source now requires a new library: Eigen3.
Martin Quinson [Mon, 7 Mar 2022 08:09:59 +0000 (09:09 +0100)]
sonar
- Ignore MBI scripts in the coverage
- unused local variable was indeed a bug
Martin Quinson [Sun, 6 Mar 2022 23:41:52 +0000 (00:41 +0100)]
sonar fixes and little cleanups
Martin Quinson [Sun, 6 Mar 2022 20:24:11 +0000 (21:24 +0100)]
Use the sg4 namespace in all examples
Martin Quinson [Sun, 6 Mar 2022 19:34:28 +0000 (20:34 +0100)]
Revert "Fix a bug in MBI generators: &com[j] is not &(com[j])"
This reverts commit
c2d3a91e47e3fdc89e6818258993128fac8efd43.
Arnaud Giersch [Sun, 6 Mar 2022 21:27:45 +0000 (22:27 +0100)]
Keep optimization (only_if_different) when cmake is recent enough.
[ci-skip]
Arnaud Giersch [Sun, 6 Mar 2022 20:18:56 +0000 (21:18 +0100)]
Replace file(copy_file), which is supported since cmake 3.21 only.
[ci-skip]
Arnaud Giersch [Sun, 6 Mar 2022 20:18:09 +0000 (21:18 +0100)]
Remove (last?) reference to umpire test suite.
[ci-skip]
Martin Quinson [Sun, 6 Mar 2022 14:37:08 +0000 (15:37 +0100)]
Fix a bug in MBI generators: &com[j] is not &(com[j])
Martin Quinson [Sun, 6 Mar 2022 14:27:21 +0000 (15:27 +0100)]
Add another MBI test generator, to ease its debugging
Arnaud Giersch [Sun, 6 Mar 2022 14:12:05 +0000 (15:12 +0100)]
Use RAII to simplify the release of semaphores on exit.
Arnaud Giersch [Sun, 6 Mar 2022 14:07:43 +0000 (15:07 +0100)]
Update .mailmap with new contributor.
Arnaud Giersch [Sat, 5 Mar 2022 10:46:04 +0000 (11:46 +0100)]
Mark unused type aliases as deprecated.
Arnaud Giersch [Thu, 3 Mar 2022 21:25:57 +0000 (22:25 +0100)]
Mark old simcall_comm_isend/irecv/wait as deprecated.
Martin Quinson [Sun, 6 Mar 2022 13:09:51 +0000 (13:09 +0000)]
Merge branch 'add_wait_for_to_py_comm_binding' into 'master'
Add Comm::wait_for to Python bindings
See merge request simgrid/simgrid!79
Martin Quinson [Sun, 6 Mar 2022 13:41:03 +0000 (14:41 +0100)]
Import (some bits of) the MBI test suite
Not activated on the robots for now, as some tests fail.
Jean-Edouard BOULANGER [Sun, 6 Mar 2022 09:19:23 +0000 (10:19 +0100)]
Added Python bindings: Comm.wait_for() and Comm.wait_any_for()
Martin Quinson [Sat, 5 Mar 2022 22:09:12 +0000 (23:09 +0100)]
keep cool, sonar, everything's under control
Martin Quinson [Sat, 5 Mar 2022 14:05:39 +0000 (15:05 +0100)]
Remove the ISP test suite (not free, superseeded by MBI)
Martin Quinson [Sat, 5 Mar 2022 09:58:19 +0000 (10:58 +0100)]
Plug a memleak in barriers
Martin Quinson [Fri, 4 Mar 2022 23:15:34 +0000 (00:15 +0100)]
Fix the usage of cmake in FindSimGrid 'documentation'