Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MC: Start implementing the dependency functions on the AppSide (TBC)
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Tue, 4 May 2021 22:24:10 +0000 (00:24 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Wed, 5 May 2021 13:01:18 +0000 (15:01 +0200)
commit33adf3c6e189e468c9a55f1f7bc7d891b0700e1a
treeeed3c1116244cd5f5150c0206848a5f2ec8d02bf
parentd52700ac49b5cf1b2629461c9f2807f3d04c9f39
MC: Start implementing the dependency functions on the AppSide (TBC)

(code committed to gather feedback: it's not used yet)

Instead of one big function handling the dependencies for every kind
of transition on the CheckerSide, we will split that logic between the
observer subclasses and execute it on the AppSide. This will induce
more latencies, but hopefully this will make the code more managable.

This commit introduces a MutexSimcall observer, as we want to group
MutexLock and MutexUnlock together when computing the dependencies.

But we cannot use it yet, as we need to have asynchronous locks for
the existing independence theorems to be usable.
src/kernel/actor/ActorImpl.hpp
src/kernel/actor/SimcallObserver.cpp
src/kernel/actor/SimcallObserver.hpp
src/mc/remote/AppSide.cpp
src/s4u/s4u_Mutex.cpp
src/simix/popping_private.hpp