Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
13 months agoMissing ']'
Arnaud Giersch [Sun, 5 Mar 2023 21:48:50 +0000 (22:48 +0100)]
Missing ']'

[ci-skip]

13 months agoFix compilation error with clang 11.0.1.
Arnaud Giersch [Sun, 5 Mar 2023 20:56:34 +0000 (21:56 +0100)]
Fix compilation error with clang 11.0.1.

Building CXX object CMakeFiles/simgrid.dir/src/mc/explo/udpor/maximal_subsets_iterator.cpp.o
In file included from .../src/mc/explo/udpor/maximal_subsets_iterator.cpp:1:
.../src/mc/explo/udpor/maximal_subsets_iterator.hpp:38:3: error: explicitly defaulted default constructor is implicitly deleted [-Werror,-Wdefaulted-function-deleted]
  maximal_subsets_iterator() = default;
  ^
.../src/mc/explo/udpor/maximal_subsets_iterator.hpp:43:68: note: default constructor of 'maximal_subsets_iterator' is implicitly deleted because field 'config' of const-qualified type 'const std::optional<std::reference_wrapper<const Configuration>>' would not be initialized
  const std::optional<std::reference_wrapper<const Configuration>> config;
                                                                   ^
1 error generated.

13 months agoEnable _GLIBCXX_DEBUG for one of the builds.
Arnaud Giersch [Sun, 5 Mar 2023 20:31:19 +0000 (21:31 +0100)]
Enable _GLIBCXX_DEBUG for one of the builds.

Also run the tests in this case.

13 months agoSonar smells.
Arnaud Giersch [Sun, 5 Mar 2023 16:35:16 +0000 (17:35 +0100)]
Sonar smells.

13 months agoMerge branch 'maximal-subset-search' into 'master'
Martin Quinson [Sun, 5 Mar 2023 20:13:24 +0000 (20:13 +0000)]
Merge branch 'maximal-subset-search' into 'master'

Phase 3 of UDPOR Integration: Iteration Over Maximal Sets of a Configuration

See merge request simgrid/simgrid!135

13 months agoDon't clear flops_amount on ExecImpl::reset.
Arnaud Giersch [Sun, 5 Mar 2023 14:32:32 +0000 (15:32 +0100)]
Don't clear flops_amount on ExecImpl::reset.

Fix failures where flops_amount is not defined anymore in ExecImpl::start
(found by building with CXXFLAGS=-D_GLIBCXX_DEBUG)

13 months agoQuick tests show that currentContainer is always empty at this point.
Arnaud Giersch [Sun, 5 Mar 2023 14:01:22 +0000 (15:01 +0100)]
Quick tests show that currentContainer is always empty at this point.

13 months agoWalking the stack in the forward direction gives the same result, but makes the code...
Arnaud Giersch [Sat, 4 Mar 2023 09:35:59 +0000 (10:35 +0100)]
Walking the stack in the forward direction gives the same result, but makes the code simpler.

13 months agoSimplify assertions.
Arnaud Giersch [Thu, 2 Mar 2023 21:14:38 +0000 (22:14 +0100)]
Simplify assertions.

13 months agotry to use another mattermost action, as the main one is linux only (uses docker)
Augustin Degomme [Sat, 4 Mar 2023 13:13:06 +0000 (14:13 +0100)]
try to use another mattermost action, as the main one is linux only (uses docker)

13 months ago[ci-skpi] fix sending of messages, and do parallel testing on github action
Augustin Degomme [Sat, 4 Mar 2023 12:10:51 +0000 (13:10 +0100)]
[ci-skpi] fix sending of messages, and do parallel testing on github action

13 months agoassume mmap is not functional for us on macos>=11 as memory accesses are restricted...
Augustin Degomme [Sat, 4 Mar 2023 12:09:16 +0000 (13:09 +0100)]
assume mmap is not functional for us on macos>=11 as memory accesses are restricted by default

13 months ago[ci skip] remove spurious line
Augustin Degomme [Sat, 4 Mar 2023 10:51:11 +0000 (11:51 +0100)]
[ci skip] remove spurious line

13 months agoadd macos build to github action, untested
Augustin Degomme [Sat, 4 Mar 2023 10:43:20 +0000 (11:43 +0100)]
add macos build to github action, untested

13 months agoremove ns3 from ubuntu stable and github actions, as 3.35 is broken on 22.04
Augustin Degomme [Sat, 4 Mar 2023 10:42:56 +0000 (11:42 +0100)]
remove ns3 from ubuntu stable and github actions, as 3.35 is broken on 22.04

13 months agoFix a useless change -- and go get some sleep
Martin Quinson [Fri, 3 Mar 2023 23:08:16 +0000 (00:08 +0100)]
Fix a useless change -- and go get some sleep

13 months agoBump cmake to at least 3.12
Martin Quinson [Fri, 3 Mar 2023 22:57:15 +0000 (23:57 +0100)]
Bump cmake to at least 3.12

- It's difficult to search for Python Development component before that version
- This version is available in Debian buster (oldstable)

13 months agopython3-dev is another dependency of the Python bindings
Martin Quinson [Fri, 3 Mar 2023 22:50:05 +0000 (23:50 +0100)]
python3-dev is another dependency of the Python bindings

13 months agoReindent -- almost no real change
Martin Quinson [Fri, 3 Mar 2023 20:21:07 +0000 (21:21 +0100)]
Reindent -- almost no real change

Simply don't traverse an array if debug logs are disabled.

13 months agoForgot to add c++17g to the "ignore" list.
Arnaud Giersch [Fri, 3 Mar 2023 16:32:08 +0000 (17:32 +0100)]
Forgot to add c++17g to the "ignore" list.

[ci-ckip]

13 months agofix MC + gcc builds
Martin Quinson [Fri, 3 Mar 2023 14:31:22 +0000 (15:31 +0100)]
fix MC + gcc builds

13 months agoMove the implem of a function out of the header to reduce issues
Martin Quinson [Fri, 3 Mar 2023 10:45:34 +0000 (11:45 +0100)]
Move the implem of a function out of the header to reduce issues

13 months agoMove the PageStore from ModelChecker to RemoteApp
Martin Quinson [Thu, 2 Mar 2023 23:30:29 +0000 (00:30 +0100)]
Move the PageStore from ModelChecker to RemoteApp

13 months agoCorrect MANIFEST.in according to `make distcheck`
Maxwell Pirtle [Fri, 3 Mar 2023 10:06:54 +0000 (11:06 +0100)]
Correct MANIFEST.in according to `make distcheck`

13 months agoFilter events before performing iteration
Maxwell Pirtle [Fri, 3 Mar 2023 08:00:25 +0000 (09:00 +0100)]
Filter events before performing iteration

A filter can be supplied to the maximal subset
iterator to remove events from consideration in
maximal subsets. Instead of needlessly processing
events that will never be considered, we can
instead remove those events at the beginning while
perserving the relative ordering among events that
we do actually care about. This both simplifies the
bookkeeper's code slightly and reduces the number
of times we need to invoke the filter function drastically
(once per event instead of multiple times per combination).

13 months agoMove the stats of visited_states count from ModelChecker to DFSExplorer where it...
Martin Quinson [Thu, 2 Mar 2023 22:59:14 +0000 (23:59 +0100)]
Move the stats of visited_states count from ModelChecker to DFSExplorer where it belongs

13 months agoMove the dot_output from ModelChecker to Exploration
Martin Quinson [Thu, 2 Mar 2023 22:48:01 +0000 (23:48 +0100)]
Move the dot_output from ModelChecker to Exploration

13 months agoOne reference to the global singleton mc_model_checker that I'd like to kill
Martin Quinson [Thu, 2 Mar 2023 22:31:04 +0000 (23:31 +0100)]
One reference to the global singleton mc_model_checker that I'd like to kill

13 months agoRename some fields to obey our coding standard
Martin Quinson [Thu, 2 Mar 2023 22:22:13 +0000 (23:22 +0100)]
Rename some fields to obey our coding standard

13 months agoAllow to call SMPI_app_instance_start() once the simulation started
Martin Quinson [Thu, 2 Mar 2023 20:53:31 +0000 (21:53 +0100)]
Allow to call SMPI_app_instance_start() once the simulation started

The main trick was to set the needed property before the
Actor::start() using init()->set_property()->start(), so that the
property is here soon enough.

13 months agoZero-initialize more messages.
Arnaud Giersch [Thu, 2 Mar 2023 17:27:15 +0000 (18:27 +0100)]
Zero-initialize more messages.

13 months agoFix subtle implementation bug with maximal set filtering
Maxwell Pirtle [Thu, 2 Mar 2023 15:24:22 +0000 (16:24 +0100)]
Fix subtle implementation bug with maximal set filtering

There was a subtle bug that was resolved involving
traversal over the maximal event set tree of a configuration.
Specifically, it's important to

1. Only pick candidates that satisfy the predicate. This
means that the `bookkeeper` needs to own the reference
to the filter so that is can accurately pick events
correctly

2. At the start, pick the first *viable* candidate, and not simply
the *first* node in the ordering, as the first node may
not satisfy the predicate. Effectively, you pick the
"most recent" node that satisfies the predicate

A possible future addition would be to pre-compute the
predicate for all of the events at the start of the
iterator. This would reduce the number of calls made
to the filter function dramatically, but for now we'll
stick with something simple (the change wouldn't involve
too much intervention if desired)

13 months agoMessage is retrieved as an unsigned long (according to the manual).
Arnaud Giersch [Thu, 2 Mar 2023 14:53:35 +0000 (15:53 +0100)]
Message is retrieved as an unsigned long (according to the manual).

13 months agoAdd working implementation of maximal_subsets_iterator
Maxwell Pirtle [Thu, 2 Mar 2023 13:38:47 +0000 (14:38 +0100)]
Add working implementation of maximal_subsets_iterator

There were a few subtleties in computing traversing
the graph of maximal subsets iteratively. The most
important was the distinction between the case of
expanding the current maximal event set and attempting
to find the newest branch point (i.e. walking back up
the tree after performing the depth-first order).

13 months agoFix a typo found by clang in MC builds
Martin Quinson [Thu, 2 Mar 2023 10:51:50 +0000 (11:51 +0100)]
Fix a typo found by clang in MC builds

13 months agoClean up maximum_subsets_iterator
Maxwell Pirtle [Thu, 2 Mar 2023 10:41:00 +0000 (11:41 +0100)]
Clean up maximum_subsets_iterator

A couple of smaller cosmetic changes were made
to maximum_subsets_iterator, in particular moving
the somewhat complicated while-loop into a dedicated
method (before it had several `break`s contained within
it which acted more like return values from a function
which suggested a dedicated function was called for).

Subsequent commits will add test cases for the iterator,
after which a MR should be ready.

13 months agoReplace memset(..., 0, ...) with zero-initialization.
Arnaud Giersch [Wed, 1 Mar 2023 21:00:05 +0000 (22:00 +0100)]
Replace memset(..., 0, ...) with zero-initialization.

13 months agoZero-initialize messages (essentially their padding bits).
Arnaud Giersch [Wed, 1 Mar 2023 20:55:31 +0000 (21:55 +0100)]
Zero-initialize messages (essentially their padding bits).

This is mainly to clear valgrind errors about uninitialised bytes.

13 months agoHelp to identify null values.
Arnaud Giersch [Wed, 1 Mar 2023 10:04:24 +0000 (11:04 +0100)]
Help to identify null values.

13 months agoLookup only once in map.
Arnaud Giersch [Wed, 1 Mar 2023 10:03:20 +0000 (11:03 +0100)]
Lookup only once in map.

13 months agoUseless assignments to local variable.
Arnaud Giersch [Tue, 28 Feb 2023 15:01:44 +0000 (16:01 +0100)]
Useless assignments to local variable.

13 months agoGH action: build out of sources
Martin Quinson [Thu, 2 Mar 2023 10:04:35 +0000 (11:04 +0100)]
GH action: build out of sources

13 months agoInstall python deps on GHaction + better documentation of build dependencies
Martin Quinson [Thu, 2 Mar 2023 09:13:12 +0000 (10:13 +0100)]
Install python deps on GHaction + better documentation of build dependencies

13 months agoPass references to `const Unfolding*` in most places
Maxwell Pirtle [Thu, 2 Mar 2023 09:00:42 +0000 (10:00 +0100)]
Pass references to `const Unfolding*` in most places

Passing references to `const Unfolding*` is better
style as no methods actually modify events directly:
instead, they perform computations over sets of events,
compute histories, etc, but leave the event instances
themselves otherwise unaffected

13 months agoMais quel débile, punaise
Martin Quinson [Thu, 2 Mar 2023 08:55:34 +0000 (09:55 +0100)]
Mais quel débile, punaise

13 months agoMC builds have specific dependencies
Martin Quinson [Thu, 2 Mar 2023 08:48:45 +0000 (09:48 +0100)]
MC builds have specific dependencies

13 months agoAdd first implementation of maximal_subsets_iterator
Maxwell Pirtle [Thu, 2 Mar 2023 08:28:34 +0000 (09:28 +0100)]
Add first implementation of maximal_subsets_iterator

The maximal_subsets_iterator traverses the subsets
of events of a configuration `C` which are maximal,
viz. those subsets of `C` which are causally-free.

13 months agoGH action: ninja is verbose on error anyway
Martin Quinson [Thu, 2 Mar 2023 08:31:52 +0000 (09:31 +0100)]
GH action: ninja is verbose on error anyway

13 months agoGH action: use the correct package name
Martin Quinson [Thu, 2 Mar 2023 08:27:40 +0000 (09:27 +0100)]
GH action: use the correct package name

13 months agogh action: we need 'sudo' here
Martin Quinson [Thu, 2 Mar 2023 08:20:40 +0000 (09:20 +0100)]
gh action: we need 'sudo' here

13 months agoGH action: install deps
Martin Quinson [Thu, 2 Mar 2023 08:16:13 +0000 (09:16 +0100)]
GH action: install deps

13 months agoGH action: use existing runners
Martin Quinson [Thu, 2 Mar 2023 08:04:52 +0000 (09:04 +0100)]
GH action: use existing runners

13 months agomessing with git actions
Martin Quinson [Thu, 2 Mar 2023 07:44:09 +0000 (08:44 +0100)]
messing with git actions

13 months agoFix yaml syntax :(
Martin Quinson [Thu, 2 Mar 2023 07:42:02 +0000 (08:42 +0100)]
Fix yaml syntax :(

13 months agoAdd a github action to test our git on Debian11, regular and MC
Martin Quinson [Thu, 2 Mar 2023 07:37:31 +0000 (08:37 +0100)]
Add a github action to test our git on Debian11, regular and MC

This is triggered manually, when jenkins is off as right now

13 months agoPass on documentation's Design Goals section
Henri Casanova [Thu, 2 Mar 2023 02:38:48 +0000 (16:38 -1000)]
Pass on documentation's Design Goals section

14 months agoMore work on the documentation's Models section
Henri Casanova [Wed, 1 Mar 2023 23:38:37 +0000 (13:38 -1000)]
More work on the documentation's Models section

14 months agoNew function SMPI_app_instance_start() to easily start a MPI instance in your S4U...
Martin Quinson [Wed, 1 Mar 2023 20:44:56 +0000 (21:44 +0100)]
New function SMPI_app_instance_start() to easily start a MPI instance in your S4U simulation

14 months agoTry to fix a fixme blindly, just in case it was easy
Martin Quinson [Wed, 1 Mar 2023 19:56:56 +0000 (20:56 +0100)]
Try to fix a fixme blindly, just in case it was easy

14 months agoPass on the documentation's Introduction page. Minor grammatical fixes,
Henri Casanova [Wed, 1 Mar 2023 19:34:00 +0000 (09:34 -1000)]
Pass on the documentation's Introduction page. Minor grammatical fixes,
some rewrites and word changes, minor content removal due to redundancy.

14 months agoUse boost::iterator_facade for History::Iterator
Maxwell Pirtle [Wed, 1 Mar 2023 08:22:43 +0000 (09:22 +0100)]
Use boost::iterator_facade for History::Iterator

The iterator that is used in the `History` class
was adjusted to use boost::iterator_facade, as it
simplifies life considerably, makes the code more
readable, and provides better conformance to being
a forward iterator (i.e. it probably handles some
subtleties with forward iterators etc. and implements
many methods automatically)

14 months agoFix make distcheck
Martin Quinson [Tue, 28 Feb 2023 18:12:26 +0000 (19:12 +0100)]
Fix make distcheck

14 months agoMerge branch 'udpor-phase3' into 'master'
Augustin Degomme [Tue, 28 Feb 2023 15:59:29 +0000 (15:59 +0000)]
Merge branch 'udpor-phase3' into 'master'

Phase 2.5 of UDPOR Integration: Add Iterators for Subsets

See merge request simgrid/simgrid!134

14 months agoAdd src/xbt/.../subsets_tests.cpp to manifest file
Maxwell Pirtle [Tue, 28 Feb 2023 15:36:36 +0000 (16:36 +0100)]
Add src/xbt/.../subsets_tests.cpp to manifest file

14 months agoRemove CompatibilityGraph and friends
Maxwell Pirtle [Tue, 28 Feb 2023 14:52:20 +0000 (15:52 +0100)]
Remove CompatibilityGraph and friends

The CompatibilityGraph and friends that were
added in order to compute maximal sets of events
needlessly complicated the algorithm. A much
better approach was suggested which will be
implemented in the next phase.

While perhaps a rebase could also have been
performed, it would have required quite careful
precision. Since the end goal is the same and
there are better uses of our time, I simply opted
to tag on another commit

14 months agoAdd tests for LazyKSubsets and LazyPowerset
Maxwell Pirtle [Tue, 28 Feb 2023 14:31:54 +0000 (15:31 +0100)]
Add tests for LazyKSubsets and LazyPowerset

The LazyKSubsets and LazyPowerset are simply
wrappers around an iterator type which can
enumerate all subsets of a given iteration.

While this won't be used anymore to enumerate
all possible sets of events of the configuration
in the compatibility graph, which will soon be
removed, it will still be used (or a variant
thereof) when computing K-partial alternatives
later on

14 months agoAdd LazyPowerSet and LazyKSubsets
Maxwell Pirtle [Tue, 28 Feb 2023 10:30:28 +0000 (11:30 +0100)]
Add LazyPowerSet and LazyKSubsets

Two new classes were added that act effectively
as convenience methods around creating subset
iterators. The classes themselves act mostly
like iterators but are instead light-weight
"containers" which can be iterated over. Effectively,
they are contains which "contain" the entire
collection of subsets (of size k respectively) of
some collection without actually storing that collection
in memory.

14 months agoAdd more comments to subsets_iterator implementation
Maxwell Pirtle [Tue, 28 Feb 2023 10:14:43 +0000 (11:14 +0100)]
Add more comments to subsets_iterator implementation

14 months agoAdd powerset_iterator to simgrid::xbt
Maxwell Pirtle [Tue, 28 Feb 2023 09:24:35 +0000 (10:24 +0100)]
Add powerset_iterator to simgrid::xbt

The powerset_iterator, as its name suggests,
is an iterator which traverses over all elements
of the power set of the elements traversed by another
iterator. It makes heavy use of the subsets_iterator
from which it derives its functionality (delegation
rather than inheritance)

14 months agoUse boost::iterator_facade for subsets_iterator
Maxwell Pirtle [Tue, 28 Feb 2023 08:37:19 +0000 (09:37 +0100)]
Use boost::iterator_facade for subsets_iterator

The subsets_iterator class is now implemented
in terms of the boost::iterator_facade which simplies
the implementation considerably of the iterator. The
same approach will be used to write the implementation
for powerset_iterator and the history_iterator (the latter
used to traverse the history of a set of events)

14 months agoUpdate .mailmap [ci-skip]
Arnaud Giersch [Mon, 27 Feb 2023 16:13:35 +0000 (17:13 +0100)]
Update .mailmap [ci-skip]

14 months agodoc: Rework the intro pages
Martin Quinson [Mon, 27 Feb 2023 23:17:32 +0000 (00:17 +0100)]
doc: Rework the intro pages

14 months agoRemove subsets.cpp file
Maxwell Pirtle [Mon, 27 Feb 2023 15:40:48 +0000 (16:40 +0100)]
Remove subsets.cpp file

Since the subsets_iterator is defined using
templates, it needs to be defined solely in
the header file. Thus the cpp file is extraneous
and was removed

14 months agoAdd "working" (but untested) implementation of iterative subsets
Maxwell Pirtle [Mon, 27 Feb 2023 15:37:15 +0000 (16:37 +0100)]
Add "working" (but untested) implementation of iterative subsets

The k-subsets higher-order iterator appears to be
working as expected after fixing a couple of issues
while run under GDB. The next phase is to test this
iterator heavily on a number of different examples
to prove that the iteration works as expected.

Future commits will add two important data structures,
viz. the LazyPowerSet and the LazyKSubsets, both of
which will be used when computing cliques in the
compatibility graph later on

14 months agoAdd first "implementation" of k-subsets iterator
Maxwell Pirtle [Mon, 27 Feb 2023 14:47:04 +0000 (15:47 +0100)]
Add first "implementation" of k-subsets iterator

The higher-order iterator `subsets_iterator`
iterates over all subsets of a given iterator.
Eventually, we'll create the LazyPowerSet and
LazyKSubsets classes which will act as convenience
wrappers around the creation of a k-subset iterator

14 months agoAdd iterator files to xbt/utils
Maxwell Pirtle [Mon, 27 Feb 2023 12:46:14 +0000 (13:46 +0100)]
Add iterator files to xbt/utils

14 months agoPlug a memleak + experience that code out of the MC test for coverage
Martin Quinson [Mon, 27 Feb 2023 13:54:13 +0000 (14:54 +0100)]
Plug a memleak + experience that code out of the MC test for coverage

14 months agocosmetics in docs
Martin Quinson [Mon, 27 Feb 2023 10:08:38 +0000 (11:08 +0100)]
cosmetics in docs

14 months agoAsynchronous locks and fluid I/O streams were aded at some point
Martin Quinson [Mon, 27 Feb 2023 09:16:31 +0000 (10:16 +0100)]
Asynchronous locks and fluid I/O streams were aded at some point

14 months agoAdd 3 figures to the design goals + minor rewording
Martin Quinson [Sun, 26 Feb 2023 23:32:48 +0000 (00:32 +0100)]
Add 3 figures to the design goals + minor rewording

14 months agoUpdate release notes
Martin Quinson [Sun, 26 Feb 2023 21:45:53 +0000 (22:45 +0100)]
Update release notes

14 months agoFix most of the remaining code warnings
Maxwell Pirtle [Mon, 27 Feb 2023 08:20:49 +0000 (09:20 +0100)]
Fix most of the remaining code warnings

This commit fixes the majority of the code
warnings pointed out by SonarSource. There
are some others that will disappear with other
phases once e.g. the functions in UdporChecker
are actually implemented

14 months agoAdd default method for constructing full graph
Maxwell Pirtle [Mon, 27 Feb 2023 07:57:23 +0000 (08:57 +0100)]
Add default method for constructing full graph

A convenience method was added which allows the
full compatibility graph to be constructed without
needing to specify that each node should be included.

14 months agoAdd predicate filtering to compatibility graph comp
Maxwell Pirtle [Fri, 24 Feb 2023 14:40:39 +0000 (15:40 +0100)]
Add predicate filtering to compatibility graph comp

Computing the compatibility graph should attempt to
disqualify as many events as possible from the configuration
to minimize the size of the resulting compatibility graph.
This is _esepcially_ important because we will enumerate
all cliques of the graph and subsequently all possible
events contains within each node. This means that removing
even one or two nodes could reduce the time spent in
enumeration dramatically.

For now, the UdporChecker can only prune based on
dependency. Perhaps, though, there are more clever
ways to prune based on whether `a` is enabled e.g.
in knowing some properties about the event structure.
This will be investigated later, but is a secondary
concern to getting an implementation of the algorithm
up-and-running.

14 months agoFix most cosmetics and code warnings
Maxwell Pirtle [Fri, 24 Feb 2023 13:15:12 +0000 (14:15 +0100)]
Fix most cosmetics and code warnings

14 months agoCreate a private struct to hold search data
Maxwell Pirtle [Fri, 24 Feb 2023 12:52:40 +0000 (13:52 +0100)]
Create a private struct to hold search data

This commits replaces the three separate maps
used to keep track of per-event data in favor
of a single map which maps events to a struct with
three fields

14 months agoAdd first go at compatibility graph construction
Maxwell Pirtle [Fri, 24 Feb 2023 12:30:36 +0000 (13:30 +0100)]
Add first go at compatibility graph construction

This commit introduces the first (albeit incomplete)
implementation of the function which will convert
a configuration into a comptability graph which can
be iterated over with k-cliques

14 months agoAdd first steps towards an implementation of ex(C)
Maxwell Pirtle [Thu, 23 Feb 2023 15:46:03 +0000 (16:46 +0100)]
Add first steps towards an implementation of ex(C)

14 months agoAdd CompatibilityGraph and CompatibilityGraphNode
Maxwell Pirtle [Thu, 23 Feb 2023 14:14:03 +0000 (15:14 +0100)]
Add CompatibilityGraph and CompatibilityGraphNode

Two important classes were added as part of the
process to support UDPOR. The classes added will be
used to maintain compatibility between "strands" of
the event structure for determining maximal sets of
events

14 months ago[ci skip] add lstdc++ to bigdft flags as well
Augustin Degomme [Sun, 26 Feb 2023 21:46:50 +0000 (22:46 +0100)]
[ci skip] add lstdc++ to bigdft flags as well

14 months agobigdft - attempt at fixing build error with new C++ file in futile
Augustin Degomme [Sun, 26 Feb 2023 21:04:27 +0000 (21:04 +0000)]
bigdft - attempt at fixing build error with new C++ file in futile

14 months agoAllow to control the problem size from the cmd line, and reduce the instance in MC
Martin Quinson [Sun, 26 Feb 2023 16:17:19 +0000 (17:17 +0100)]
Allow to control the problem size from the cmd line, and reduce the instance in MC

The previous instance size resulted in a timeout now that the DPOR
reduction is less efficient (because it's less buggy)

14 months agoRevalidate a tesh file (result of a merge error)
Martin Quinson [Sun, 26 Feb 2023 16:16:25 +0000 (17:16 +0100)]
Revalidate a tesh file (result of a merge error)

14 months agoUse bool for booleans
Martin Quinson [Sun, 26 Feb 2023 15:07:41 +0000 (16:07 +0100)]
Use bool for booleans

14 months agoKill a now useless field
Martin Quinson [Sun, 26 Feb 2023 13:15:14 +0000 (14:15 +0100)]
Kill a now useless field

14 months agoMerge branch 'master' into 'master'
Martin Quinson [Sun, 26 Feb 2023 15:07:08 +0000 (15:07 +0000)]
Merge branch 'master' into 'master'

Fixes on DPOR algorithm for MC SimGrid and sleep sets addition

See merge request simgrid/simgrid!128

14 months agoAlso detect the disk failures
Martin Quinson [Sun, 26 Feb 2023 11:30:26 +0000 (12:30 +0100)]
Also detect the disk failures

14 months agoFurther simplify the way host failures are detected
Martin Quinson [Sun, 26 Feb 2023 11:11:49 +0000 (12:11 +0100)]
Further simplify the way host failures are detected

Do as it's done in links and communications: when the resource is
turned off, simply mark the actions it hosts as FAILED.

That's much simpler than the convoluted existing code, which relied on
the Host::on_state_change signal. Each activity pushed a callback to
check whether it was its host which failed. Gosh, so convoluted...

The current change is not completely applied to CpuTI model, which
seems to have another way to mark the actions as failing. So I
override CpuTI::turn_off() to not mark the actions as failing to avoid
a segfault. It's a bit lame, but CpuTI is too different, I feel lazy.

14 months agoSimplify the way Execs detect host failures
Martin Quinson [Sat, 25 Feb 2023 17:40:49 +0000 (18:40 +0100)]
Simplify the way Execs detect host failures

Have the ExecImpl install the callback instead of having the s4u::Exec
do so, and then set an internal field of ExecImpl.

14 months agoRevert "Include the output of this test in the tesh file, because it's linked from...
Martin Quinson [Fri, 24 Feb 2023 17:51:13 +0000 (18:51 +0100)]
Revert "Include the output of this test in the tesh file, because it's linked from the doc now"

This reverts commit 0c5a9c80339933853647914ea9f716ef4fc8413c.

The output does not seem to be portable :(