Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
3 years agoMove the logic retrieving the actor info in the App to RemoteProcess
Martin Quinson [Sun, 14 Mar 2021 15:15:15 +0000 (16:15 +0100)]
Move the logic retrieving the actor info in the App to RemoteProcess

3 years agoMove the logic of Api::get_maxpid() to RemoteProcess where it belongs
Martin Quinson [Sun, 14 Mar 2021 14:35:23 +0000 (15:35 +0100)]
Move the logic of Api::get_maxpid() to RemoteProcess where it belongs

3 years agoMC: lazily load the dwarf information
Martin Quinson [Sun, 14 Mar 2021 14:09:13 +0000 (15:09 +0100)]
MC: lazily load the dwarf information

3 years agoattempt to fix en issue when timing functions are called before initialization
Augustin Degomme [Sun, 14 Mar 2021 19:54:27 +0000 (20:54 +0100)]
attempt to fix en issue when timing functions are called before initialization

3 years agoGive an explicit name to the session singleton
Martin Quinson [Sun, 14 Mar 2021 02:14:35 +0000 (03:14 +0100)]
Give an explicit name to the session singleton

3 years agoRemove more uses of the session global
Martin Quinson [Sun, 14 Mar 2021 02:04:23 +0000 (03:04 +0100)]
Remove more uses of the session global

3 years agocosmetics
Martin Quinson [Sun, 14 Mar 2021 01:58:15 +0000 (02:58 +0100)]
cosmetics

3 years agoThe checker has the session and don't need the API to interact with it
Martin Quinson [Sun, 14 Mar 2021 01:48:59 +0000 (02:48 +0100)]
The checker has the session and don't need the API to interact with it

3 years agoInline a function
Martin Quinson [Sun, 14 Mar 2021 01:33:01 +0000 (02:33 +0100)]
Inline a function

3 years agoDont pass as a parameter something that is already known as a field of the receiver...
Martin Quinson [Sun, 14 Mar 2021 01:20:02 +0000 (02:20 +0100)]
Dont pass as a parameter something that is already known as a field of the receiver class :)

3 years agoKill a file that was almost empty
Martin Quinson [Sun, 14 Mar 2021 01:11:18 +0000 (02:11 +0100)]
Kill a file that was almost empty

3 years agoKill some use of the mc_model_checker global variable
Martin Quinson [Sun, 14 Mar 2021 00:37:42 +0000 (01:37 +0100)]
Kill some use of the mc_model_checker global variable

3 years agoThe checker now have a reference to the session
Martin Quinson [Sun, 14 Mar 2021 00:25:09 +0000 (01:25 +0100)]
The checker now have a reference to the session

3 years agoA checker don't need the mc::api to find itself
Martin Quinson [Sun, 14 Mar 2021 00:08:42 +0000 (01:08 +0100)]
A checker don't need the mc::api to find itself

3 years agoRename model_checker->get_remote_simulation() into model_checker->get_remote_process()
Martin Quinson [Sun, 14 Mar 2021 00:00:05 +0000 (01:00 +0100)]
Rename model_checker->get_remote_simulation() into model_checker->get_remote_process()

3 years agoMC: cosmetics
Martin Quinson [Sat, 13 Mar 2021 23:50:31 +0000 (00:50 +0100)]
MC: cosmetics

3 years agoRename mc::RemoteSimulation into mc::RemoteProcess
Martin Quinson [Sat, 13 Mar 2021 23:19:04 +0000 (00:19 +0100)]
Rename mc::RemoteSimulation into mc::RemoteProcess

3 years agoMC: simplify initialization and kill api::set_checker()
Martin Quinson [Sat, 13 Mar 2021 23:08:09 +0000 (00:08 +0100)]
MC: simplify initialization and kill api::set_checker()

3 years agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Sat, 13 Mar 2021 22:17:28 +0000 (23:17 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid

3 years agogetraw is only useful when dealing with boost intrusive pointers
Martin Quinson [Sat, 13 Mar 2021 21:28:06 +0000 (22:28 +0100)]
getraw is only useful when dealing with boost intrusive pointers

3 years agoDuplicate cleanup instructions for jenkins builds in other scripts.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Duplicate cleanup instructions for jenkins builds in other scripts.

Useful e.g. for cleaning /tmp on node debian-testing.

3 years agoAdd parameter timeout to mc::ConditionWaitSimcall and mc::SemAcquireSimcall.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Add parameter timeout to mc::ConditionWaitSimcall and mc::SemAcquireSimcall.

Prepare the modernization of simcalls cond_wait_timeout and sem_acquire_timeout.

3 years agoModernize simcall cond_wait.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Modernize simcall cond_wait.

3 years agoModernize simcall sem_acquire.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Modernize simcall sem_acquire.

3 years agoConst attributes in SimcallObserver.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Const attributes in SimcallObserver.

3 years agoUse ConditionVariable::create() for sg_cond_init().
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Use ConditionVariable::create() for sg_cond_init().

3 years agoRename ConditionVariable::cond_ to pimpl_ for consistency.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Rename ConditionVariable::cond_ to pimpl_ for consistency.

3 years agoAdd SemaphoreImpl::piface_ (mimic MutexImpl).
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Add SemaphoreImpl::piface_ (mimic MutexImpl).

Also make constructor private to enforce usage of create(), and fix bogus destructor.

Like for Mutex, could not manage to make ~Semaphore() private.

3 years agoPrefer type bool for boolean values.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Prefer type bool for boolean values.

3 years agoMutex::pimpl_ is never null.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Mutex::pimpl_ is never null.

3 years agoUse Mutex::create() for sg_mutex_init().
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Use Mutex::create() for sg_mutex_init().

Also make constructor private to enforce usage of create(), and fix bogus destructor.

Wanted to make ~Mutex() private, but failed to make it compile :(

3 years agoFix include.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Fix include.

3 years agoinline simcall_check_dependency() now that it's called only once
Martin Quinson [Sat, 13 Mar 2021 20:42:47 +0000 (21:42 +0100)]
inline simcall_check_dependency() now that it's called only once

3 years agoMC: check dependency between 2 given requests only once
Martin Quinson [Sat, 13 Mar 2021 20:34:38 +0000 (21:34 +0100)]
MC: check dependency between 2 given requests only once

The dependency relationship is symmetric but bothersome to write
extensively, so earlier we wrote only half of the relations and called
  dep(r1, r2) && dep(r2, r1)

Simplify things by first ensuring that r1 < r2 in alphabetic order and
only call dep(r1, r2).

3 years agorequest_depend_asymmetric(r1,r2) now tests when r1 < r2 alphabetically
Martin Quinson [Sat, 13 Mar 2021 19:56:36 +0000 (20:56 +0100)]
request_depend_asymmetric(r1,r2) now tests when r1 < r2 alphabetically

3 years agoSort comm_* simcalls alphabetically
Martin Quinson [Sat, 13 Mar 2021 19:25:36 +0000 (20:25 +0100)]
Sort comm_* simcalls alphabetically

3 years agoinline a function
Martin Quinson [Sat, 13 Mar 2021 19:49:08 +0000 (20:49 +0100)]
inline a function

3 years agoBoth request cannot be of the same type here
Martin Quinson [Sat, 13 Mar 2021 19:33:14 +0000 (20:33 +0100)]
Both request cannot be of the same type here

3 years agoOnly 4 simcalls are considered by indep theorems for now
Martin Quinson [Sat, 13 Mar 2021 19:19:47 +0000 (20:19 +0100)]
Only 4 simcalls are considered by indep theorems for now

3 years agoMC: cosmetics and tiny code simplifications
Martin Quinson [Sat, 13 Mar 2021 18:44:47 +0000 (19:44 +0100)]
MC: cosmetics and tiny code simplifications

- Change a switch case into a if/else
- Rename "acti1" to "comm1" since that's what it is
- Move a function around to group dependency related functions

3 years agoThird broken update for Centos binutils with LTO broken. Ignore all 2.30 for now.
Augustin Degomme [Sat, 13 Mar 2021 19:06:09 +0000 (19:06 +0000)]
Third broken update for Centos binutils with LTO broken. Ignore all 2.30 for now.

3 years agoMC: simix::unmarshal should NEVER be called automatically
Martin Quinson [Fri, 12 Mar 2021 20:57:19 +0000 (21:57 +0100)]
MC: simix::unmarshal should NEVER be called automatically

- this code is generated automatically, so copy/pasting it away does
  not seem to be a robust idea.
- Also prefer failfast tracks with THROW_IMPOSSIBLE to return null
  that hides problems that we did not expect.

3 years agocosmetics
Martin Quinson [Fri, 12 Mar 2021 18:57:12 +0000 (19:57 +0100)]
cosmetics

3 years agos4u_synchro were renamed to activity in 2015, as far as I remember
Martin Quinson [Thu, 11 Mar 2021 23:03:04 +0000 (00:03 +0100)]
s4u_synchro were renamed to activity in 2015, as far as I remember

3 years agoMerge branch 'model_types_rework_part1' into 'master'
Arnaud Giersch [Thu, 11 Mar 2021 18:12:51 +0000 (18:12 +0000)]
Merge branch 'model_types_rework_part1' into 'master'

Model types rework - Part 1

See merge request simgrid/simgrid!54

3 years agoInitializing SimGrid's model in another way
Bruno Donassolo [Thu, 11 Mar 2021 17:19:38 +0000 (18:19 +0100)]
Initializing SimGrid's model in another way

Preparing the field to change models type to primary/virtual.
To do so, we need another way to set the "default" models in the root
netzone.

For that, we changed the order we created the zone during the XML
parser:
1) Create the netzone object (and set as root netzone if it's the first)
2) Create the simgrid's models (if
  2.1) During the initialization of simgrid's models (by the
surf_model_description_t structure), the default models are set in the
root netzone
3) If it's a child netzone, copy models from its father

Probably temporary changes:
- Create setters for each model in the NetZoneImpl. To be reviewed after
we decided where to put the "default" models.

3 years agoSimple constructor for NetZone's child classes.
Bruno Donassolo [Thu, 11 Mar 2021 13:51:13 +0000 (14:51 +0100)]
Simple constructor for NetZone's child classes.

Extends the work done in previous commit for other NetZone classes.

3 years agoNetZoneImpl: simpler constructor
Bruno Donassolo [Wed, 10 Mar 2021 18:53:33 +0000 (19:53 +0100)]
NetZoneImpl: simpler constructor

NetZoneImpl(std::string& name);
One step towards a simple contructor and set() idiom.
Removed father and network model from constructor.

Collateral effect:

NetPoint:
- removed NetZoneImpl* from its constructor
- added method set_englobing_zone(NetZoneImpl*)

In the past, we could create the NetPoint in NetZoneImpl with the
pointer to the father. But now, the father is only set latter at
set_father method.

3 years agoNetZoneImpl: rework seal
Bruno Donassolo [Thu, 25 Feb 2021 17:33:36 +0000 (18:33 +0100)]
NetZoneImpl: rework seal

Create a do_seal that can be rewritten by derived classes

Assure that flag sealed_ is sealed properly when derived classes
override the seal() method.

3 years agoMerge pull request #374 from adegomme/master
Martin Quinson [Thu, 11 Mar 2021 16:13:33 +0000 (17:13 +0100)]
Merge pull request #374 from adegomme/master

try to handle inconsistencies in github environments.

3 years agosometimes, it's still there...
adegomme [Thu, 11 Mar 2021 15:50:49 +0000 (16:50 +0100)]
sometimes, it's still there...

3 years ago[sonar] Move explaining comment inside body of empty function.
Arnaud Giersch [Thu, 11 Mar 2021 14:23:01 +0000 (15:23 +0100)]
[sonar] Move explaining comment inside body of empty function.

3 years ago[sonar] Use '=default'.
Arnaud Giersch [Thu, 11 Mar 2021 14:17:21 +0000 (15:17 +0100)]
[sonar] Use '=default'.

3 years ago[sonar] Declare functions 'const'.
Arnaud Giersch [Thu, 11 Mar 2021 14:10:07 +0000 (15:10 +0100)]
[sonar] Declare functions 'const'.

3 years ago[sonar] Use :: to call static member functions.
Arnaud Giersch [Thu, 11 Mar 2021 14:07:15 +0000 (15:07 +0100)]
[sonar] Use :: to call static member functions.

3 years ago[sonar] Pointer to const.
Arnaud Giersch [Thu, 11 Mar 2021 13:51:12 +0000 (14:51 +0100)]
[sonar] Pointer to const.

3 years ago[sonar] Favor using-declarations.
Arnaud Giersch [Thu, 11 Mar 2021 13:49:45 +0000 (14:49 +0100)]
[sonar] Favor using-declarations.

3 years agoMerge pull request #373 from adegomme/master
Martin Quinson [Thu, 11 Mar 2021 13:59:17 +0000 (14:59 +0100)]
Merge pull request #373 from adegomme/master

fix jar creation github action, and add weekly build

3 years agoadd weekly build at 6:00pm sundays
adegomme [Thu, 11 Mar 2021 13:54:15 +0000 (14:54 +0100)]
add weekly build at 6:00pm sundays

3 years agotry to put back boost on windows
adegomme [Thu, 11 Mar 2021 13:28:19 +0000 (14:28 +0100)]
try to put back boost on windows

https://github.com/actions/virtual-environments/issues/2667

3 years agotemporary attempt to workaround scoop bug
adegomme [Thu, 11 Mar 2021 12:56:58 +0000 (13:56 +0100)]
temporary attempt to workaround scoop bug

https://github.com/ScoopInstall er/Main/issues/1752

3 years agoRemove useless default destructor definitions
Martin Quinson [Thu, 11 Mar 2021 09:58:26 +0000 (10:58 +0100)]
Remove useless default destructor definitions

3 years agoTwo small sonar fixes
Martin Quinson [Wed, 10 Mar 2021 20:13:30 +0000 (21:13 +0100)]
Two small sonar fixes

- dead stores
- default destructor should not even be written

3 years agoDocument direct communications, deprecate Host::sendto() because Comm::sendto() is...
Martin Quinson [Tue, 9 Mar 2021 15:34:31 +0000 (16:34 +0100)]
Document direct communications, deprecate Host::sendto() because Comm::sendto() is better for that

3 years agoimplement MPI_File_set_size
Augustin Degomme [Wed, 10 Mar 2021 19:03:04 +0000 (20:03 +0100)]
implement MPI_File_set_size

3 years agoMerge branch 's4u/model_list' into 'master'
Arnaud Giersch [Wed, 10 Mar 2021 17:11:00 +0000 (17:11 +0000)]
Merge branch 's4u/model_list' into 'master'

s4u Engine: expose get_all_models, get_model_list

See merge request simgrid/simgrid!53

3 years agoMerge branch 'unify_models' into 'master'
Arnaud Giersch [Wed, 10 Mar 2021 16:52:05 +0000 (16:52 +0000)]
Merge branch 'unify_models' into 'master'

Unify treatment of models in the EngineImpl

See merge request simgrid/simgrid!52

3 years agoUniform treatment in EngineImpl for all models.
Bruno Donassolo [Wed, 10 Mar 2021 14:09:35 +0000 (15:09 +0100)]
Uniform treatment in EngineImpl for all models.

Override the update_action_state function in CPUL07 and LinkL07, they
are not necessary since the actions are updated by the HostL07Model, but
they allow to make the same treatment for all models.

3 years agoImprov comment
Bruno Donassolo [Wed, 10 Mar 2021 14:05:45 +0000 (15:05 +0100)]
Improv comment

3 years agoConst for some get functions
Bruno Donassolo [Wed, 10 Mar 2021 14:04:57 +0000 (15:04 +0100)]
Const for some get functions

3 years agos4u Engine: expose get_all_models, get_model_list
msimonin [Wed, 10 Mar 2021 15:40:09 +0000 (16:40 +0100)]
s4u Engine: expose get_all_models, get_model_list

Before e22da6010c6499813ff88c76041cf499ffbf2b67 the list of models
could be accessed using the global `all_existing_models`

This patch exposes two methods to get the list of models in the
s4u::Engine, they wrap those of `EngineImpl`.

3 years agoSonar prefers nullptr.
Arnaud Giersch [Wed, 10 Mar 2021 09:40:29 +0000 (10:40 +0100)]
Sonar prefers nullptr.

3 years agoCosmetics around #include.
Arnaud Giersch [Wed, 10 Mar 2021 09:11:29 +0000 (10:11 +0100)]
Cosmetics around #include.

3 years agoMore error messages.
Arnaud Giersch [Wed, 10 Mar 2021 09:09:02 +0000 (10:09 +0100)]
More error messages.

3 years agoPrefer xbt_assert here.
Arnaud Giersch [Wed, 10 Mar 2021 09:08:37 +0000 (10:08 +0100)]
Prefer xbt_assert here.

3 years agoUpdate .mailmap.
Arnaud Giersch [Tue, 9 Mar 2021 20:57:32 +0000 (21:57 +0100)]
Update .mailmap.

3 years agoMerge oberver classes MutexTrylockSimcall and MutexLockSimcall.
Arnaud Giersch [Tue, 9 Mar 2021 14:36:05 +0000 (15:36 +0100)]
Merge oberver classes MutexTrylockSimcall and MutexLockSimcall.

3 years agoModernize simcall mutex_lock.
Arnaud Giersch [Mon, 8 Mar 2021 13:55:22 +0000 (14:55 +0100)]
Modernize simcall mutex_lock.

3 years agoMove check from checker side to app. side.
Arnaud Giersch [Tue, 9 Mar 2021 14:15:33 +0000 (15:15 +0100)]
Move check from checker side to app. side.

3 years agoDefine (and use) a callback for RawImpl::finish.
Arnaud Giersch [Tue, 9 Mar 2021 12:03:01 +0000 (13:03 +0100)]
Define (and use) a callback for RawImpl::finish.

3 years agoMake scan-build ignore volontary null-pointer dereference.
Arnaud Giersch [Tue, 9 Mar 2021 08:22:03 +0000 (09:22 +0100)]
Make scan-build ignore volontary null-pointer dereference.

3 years agoMerge branch 'bruno.donassolo/simgrid-add_model_shared' into next
Arnaud Giersch [Tue, 9 Mar 2021 20:14:20 +0000 (21:14 +0100)]
Merge branch 'bruno.donassolo/simgrid-add_model_shared' into next

3 years agoalso test with several cores. Let's see how this goes
Augustin Degomme [Tue, 9 Mar 2021 19:18:22 +0000 (20:18 +0100)]
also test with several cores. Let's see how this goes

3 years agoEngine*::add_model: from unique to shared_ptr
Bruno Donassolo [Tue, 9 Mar 2021 19:04:53 +0000 (20:04 +0100)]
Engine*::add_model: from unique to shared_ptr

3 years agoMerge branch 'hotfix_add_model_api' into 'master'
Martin Quinson [Tue, 9 Mar 2021 17:51:28 +0000 (17:51 +0000)]
Merge branch 'hotfix_add_model_api' into 'master'

Hotfix: expose add_model method in s4u::Engine

See merge request simgrid/simgrid!50

3 years agoHotfix: expose add_model method in s4u::Engine
Bruno Donassolo [Tue, 9 Mar 2021 17:28:59 +0000 (18:28 +0100)]
Hotfix: expose add_model method in s4u::Engine

Expose the add_model API to external users.

3 years agonamespacing
Frederic Suter [Tue, 9 Mar 2021 15:58:08 +0000 (16:58 +0100)]
namespacing

3 years agoA canceled Activity is a completed Activity too
Frederic Suter [Tue, 9 Mar 2021 15:50:46 +0000 (16:50 +0100)]
A canceled Activity is a completed Activity too

3 years agonamespacing
Frederic Suter [Tue, 9 Mar 2021 15:46:08 +0000 (16:46 +0100)]
namespacing

3 years agobe more uniform on action cleaning accross activities
Frederic Suter [Tue, 9 Mar 2021 15:43:02 +0000 (16:43 +0100)]
be more uniform on action cleaning accross activities

3 years agoDo the same for IoImpl as for ExecImpl when timeout on completion
Frederic Suter [Tue, 9 Mar 2021 15:35:01 +0000 (16:35 +0100)]
Do the same for IoImpl as for ExecImpl when timeout on completion

3 years agouser bound is now stored at Action level and not modified by LMM
Frederic Suter [Tue, 9 Mar 2021 15:28:56 +0000 (16:28 +0100)]
user bound is now stored at Action level and not modified by LMM
Then it can be passed from old to new action when migrating the Exec

3 years agoAllow failure detection for parallel exec
Frederic Suter [Tue, 9 Mar 2021 15:27:02 +0000 (16:27 +0100)]
Allow failure detection for parallel exec
change nothing when hosts has size 1. use std::any_of for multiple hosts

3 years agoMerge branch 'multi_models_no_globals' into 'master'
Martin Quinson [Tue, 9 Mar 2021 15:02:50 +0000 (15:02 +0000)]
Merge branch 'multi_models_no_globals' into 'master'

Refactoring: remove surf_*_model globals

See merge request simgrid/simgrid!49

3 years agoMove globals to EngineImpl
Bruno Donassolo [Tue, 9 Mar 2021 13:31:56 +0000 (14:31 +0100)]
Move globals to EngineImpl

A step forwards encapsulation.
Still not good for ptask model and its particularities.

3 years agoSay goodbye to last global: surf_host_model
Bruno Donassolo [Thu, 4 Mar 2021 16:49:25 +0000 (17:49 +0100)]
Say goodbye to last global: surf_host_model

- By now, add the host_model in netZone too
- Probably need some check when running parallel_execute in a list of
hosts (all belongs to same model/netzone?)

3 years agoclang-format: ExecImpl.cpp and sd_task.cpp
Bruno Donassolo [Thu, 4 Mar 2021 16:31:25 +0000 (17:31 +0100)]
clang-format: ExecImpl.cpp and sd_task.cpp

3 years agosurf_disk_model: remove it.
Bruno Donassolo [Thu, 4 Mar 2021 14:52:10 +0000 (15:52 +0100)]
surf_disk_model: remove it.

- Add disk_model to NetZone as done for network and cpu models
- Add create_disk method in NetZone too: keep interface uniform

3 years agos4u_Host.cpp: clang-format
Bruno Donassolo [Thu, 4 Mar 2021 14:51:25 +0000 (15:51 +0100)]
s4u_Host.cpp: clang-format

3 years agoAdjust code after rebase.
Bruno Donassolo [Thu, 4 Mar 2021 14:08:53 +0000 (15:08 +0100)]
Adjust code after rebase.

surf_network_model doesn't exist anymore