Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
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

3 years agosurf_cpu_model_pm: remove global
Bruno Donassolo [Thu, 4 Mar 2021 13:15:23 +0000 (14:15 +0100)]
surf_cpu_model_pm: remove global

3 years agoGet rid of surf_cpu_model_vm.
Bruno Donassolo [Thu, 4 Mar 2021 10:41:49 +0000 (11:41 +0100)]
Get rid of surf_cpu_model_vm.

- Add cpu_model_vm to NetZoneImpl. By now, it gets the global pointer in
models_by_type if available
- Separate CPU in CPU_PM and CPU_VM.
- Move next_occurring_event call to CPU_VM models to surf_solve. One step
closer to centralizing the models management

3 years agoNetZoneImpl::network_model_: get() and private object
Bruno Donassolo [Thu, 4 Mar 2021 09:49:51 +0000 (10:49 +0100)]
NetZoneImpl::network_model_: get() and private object

3 years agoGetting rid off surf_network_model global
Bruno Donassolo [Wed, 3 Mar 2021 10:43:23 +0000 (11:43 +0100)]
Getting rid off surf_network_model global

Adapt network model initialization to remove surf_network_model
occurrences.

3 years agoRemove surf_network_model from host_clm03.
Bruno Donassolo [Tue, 2 Mar 2021 17:41:44 +0000 (18:41 +0100)]
Remove surf_network_model from host_clm03.

surf_solve concentrates all the next_occurring_event calls.
Get network_model from zone of source host in communications

3 years agoRemove last entry from surf_solve to surf_network_model.
Bruno Donassolo [Tue, 2 Mar 2021 09:11:35 +0000 (10:11 +0100)]
Remove last entry from surf_solve to surf_network_model.

Improv doc.

3 years agoModify iteration over models in surf_solve
Bruno Donassolo [Mon, 1 Mar 2021 19:42:46 +0000 (20:42 +0100)]
Modify iteration over models in surf_solve

Added a map with the different models initialized to iterate in
surf_solve function.

Extra: clang-format

3 years agoAvoid using surf_network_model global
Bruno Donassolo [Mon, 1 Mar 2021 18:20:22 +0000 (19:20 +0100)]
Avoid using surf_network_model global

Get network model from NetZoneImpl instead of using the global.
First step to remove global model variables.

Extra: clang-format modified files.

3 years agoclang-format before starting changing files
Bruno Donassolo [Tue, 2 Mar 2021 17:50:41 +0000 (18:50 +0100)]
clang-format before starting changing files

3 years agopropagate the user bound down to the action
Frederic Suter [Tue, 9 Mar 2021 13:55:51 +0000 (14:55 +0100)]
propagate the user bound down to the action

3 years agomv NetworkAction::rate_ to Action::user_bound_
Frederic Suter [Tue, 9 Mar 2021 13:46:24 +0000 (14:46 +0100)]
mv NetworkAction::rate_ to Action::user_bound_

3 years agocosmetics
Frederic Suter [Tue, 9 Mar 2021 10:19:52 +0000 (11:19 +0100)]
cosmetics

3 years agoextend example to include a ptask with timeout
Frederic Suter [Tue, 9 Mar 2021 09:17:56 +0000 (10:17 +0100)]
extend example to include a ptask with timeout

3 years agoSplit the {TEST,WAIT}ANY translation away from MC_state_choose_request_for_process
Martin Quinson [Mon, 8 Mar 2021 23:53:42 +0000 (00:53 +0100)]
Split the {TEST,WAIT}ANY translation away from MC_state_choose_request_for_process

3 years agoPrepare to split the {TEST,WAIT}ANY translation away from MC_state_choose_request_for...
Martin Quinson [Mon, 8 Mar 2021 23:41:55 +0000 (00:41 +0100)]
Prepare to split the {TEST,WAIT}ANY translation away from MC_state_choose_request_for_process

3 years agofix GH#343
Frederic Suter [Mon, 8 Mar 2021 21:54:49 +0000 (22:54 +0100)]
fix GH#343

- An exec that ends right when the timeout expires is actually done
- when the timeout_detector finished, change the state of the action of
the ExecImpl that owns this detector to FAILED. This will trigger
on_state_change for the right action and solve the issue on energy
logging of this issue.
- Side effect, more instrumentation is displayed in another example of
a ptask with timeout.

3 years agotrigger Host::on_creation a bit earlier
Frederic Suter [Mon, 8 Mar 2021 18:44:32 +0000 (19:44 +0100)]
trigger Host::on_creation a bit earlier

3 years agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Mon, 8 Mar 2021 21:38:29 +0000 (22:38 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid

3 years agoModernize simcall mutex_trylock.
Arnaud Giersch [Fri, 5 Mar 2021 22:44:33 +0000 (23:44 +0100)]
Modernize simcall mutex_trylock.

3 years agoFix deprecation message.
Arnaud Giersch [Mon, 8 Mar 2021 13:20:25 +0000 (14:20 +0100)]
Fix deprecation message.

3 years agoSonar wants one declaration per line.
Arnaud Giersch [Mon, 8 Mar 2021 09:18:38 +0000 (10:18 +0100)]
Sonar wants one declaration per line.

3 years agoDon't adjust variable name each time Api::get_maxpid() is called.
Arnaud Giersch [Sun, 7 Mar 2021 17:26:16 +0000 (18:26 +0100)]
Don't adjust variable name each time Api::get_maxpid() is called.

3 years agoCache result of Api::get_maxpid() when used multiple times.
Arnaud Giersch [Sun, 7 Mar 2021 17:06:23 +0000 (18:06 +0100)]
Cache result of Api::get_maxpid() when used multiple times.

3 years agoMinor reindent.
Arnaud Giersch [Mon, 8 Mar 2021 15:22:43 +0000 (16:22 +0100)]
Minor reindent.

3 years agoTypo.
Arnaud Giersch [Sun, 7 Mar 2021 21:45:32 +0000 (22:45 +0100)]
Typo.

3 years agoUseless braces.
Arnaud Giersch [Sun, 7 Mar 2021 13:58:09 +0000 (14:58 +0100)]
Useless braces.

3 years agoAdd 'explicit'.
Arnaud Giersch [Sun, 7 Mar 2021 14:36:25 +0000 (15:36 +0100)]
Add 'explicit'.

3 years agoRemove useless declaration of default destructor.
Arnaud Giersch [Mon, 8 Mar 2021 20:49:33 +0000 (21:49 +0100)]
Remove useless declaration of default destructor.

Remove public destructors defined '=default' at declaration, unless
they are virtual and the enclosing class is derived somewhere.

3 years agoThat was a nasty optimization :-/
Martin Quinson [Mon, 8 Mar 2021 19:51:01 +0000 (20:51 +0100)]
That was a nasty optimization :-/

3 years agonew example with ptasks on multi-core hosts
Frederic Suter [Mon, 8 Mar 2021 17:24:05 +0000 (18:24 +0100)]
new example with ptasks on multi-core hosts

3 years agoMC dependency: do the easy test before the harder one
Martin Quinson [Mon, 8 Mar 2021 16:24:52 +0000 (17:24 +0100)]
MC dependency: do the easy test before the harder one

3 years agoUse less of state->internal_req_ and more of state->executed_req_
Martin Quinson [Mon, 8 Mar 2021 16:17:37 +0000 (17:17 +0100)]
Use less of state->internal_req_ and more of state->executed_req_

The idea is to soon kill internal_req and have the dependency checking
do the conversion WAITANY -> WAIT and TESTANY -> TEST on its own.

3 years agocontinue to fluentify Cpu creation. Fix FG37 on the way
Frederic Suter [Mon, 8 Mar 2021 16:08:13 +0000 (17:08 +0100)]
continue to fluentify Cpu creation. Fix FG37 on the way

3 years agoMAIS C'ETAIT SUR, EN FAIT ! C'ETAIT SUR !
Martin Quinson [Mon, 8 Mar 2021 13:57:21 +0000 (14:57 +0100)]
MAIS C'ETAIT SUR, EN FAIT ! C'ETAIT SUR !

fix make distcheck, as usual.

3 years agoMC: Extend the random-bug example to test what's going on when the app is segfaulting
Martin Quinson [Mon, 8 Mar 2021 13:49:55 +0000 (14:49 +0100)]
MC: Extend the random-bug example to test what's going on when the app is segfaulting

3 years agoUse default parameter value instead of having an overload just for that
Martin Quinson [Mon, 8 Mar 2021 13:11:54 +0000 (14:11 +0100)]
Use default parameter value instead of having an overload just for that

3 years agodoc: further cosmetics in the TOC and in the pages' URLs
Martin Quinson [Sun, 7 Mar 2021 22:42:47 +0000 (23:42 +0100)]
doc: further cosmetics in the TOC and in the pages' URLs

3 years agodoc: put every info related to models on the same page
Martin Quinson [Sun, 7 Mar 2021 22:33:39 +0000 (23:33 +0100)]
doc: put every info related to models on the same page

The summary contains too many top level entries.

3 years agodoc: suppress more useless warnings
Martin Quinson [Sun, 7 Mar 2021 22:21:00 +0000 (23:21 +0100)]
doc: suppress more useless warnings

3 years agoDoc: Move the blurb about the default TCP model to the right location
Martin Quinson [Sun, 7 Mar 2021 22:20:43 +0000 (23:20 +0100)]
Doc: Move the blurb about the default TCP model to the right location

3 years agomove MPI_COMM_WORLD to smpi_comm.cpp.
Augustin Degomme [Mon, 8 Mar 2021 08:10:52 +0000 (09:10 +0100)]
move MPI_COMM_WORLD to smpi_comm.cpp.
It's better here.

3 years agogeneralize previous change to other MPI predefined globals.
Augustin Degomme [Mon, 8 Mar 2021 08:10:07 +0000 (09:10 +0100)]
generalize previous change to other MPI predefined globals.
Except MPI_COMM_WORLD because of its specificities (has to be a variable)

3 years agosonar is right here
Augustin Degomme [Mon, 8 Mar 2021 07:25:12 +0000 (08:25 +0100)]
sonar is right here

3 years agochange the way MPI datatypes are declared.
Augustin Degomme [Mon, 8 Mar 2021 00:05:00 +0000 (01:05 +0100)]
change the way MPI datatypes are declared.
Our previous solution did not let everything seen as const, and it was preventing some codes to compile (initializer element is not constant).
This allows to compile  https://github.com/open-mpi/mpi-test-suite.git without changint the code (will be added in proxy apps) in tst_types.c
todo : other types (op and co)

3 years agodebug message --
Augustin Degomme [Sun, 7 Mar 2021 19:38:24 +0000 (20:38 +0100)]
debug message --

3 years agoUse flags to handle cancellation instead of a tri-state int
Augustin Degomme [Sun, 7 Mar 2021 17:36:40 +0000 (18:36 +0100)]
Use flags to handle cancellation instead of a tri-state int

3 years agoChange handling of MPI_PROC_NULL as a src or a dest.
Augustin Degomme [Sun, 7 Mar 2021 17:10:58 +0000 (18:10 +0100)]
Change handling of MPI_PROC_NULL as a src or a dest.
We used to just skip the requests, but it was not possible to set status->MPI_SOURCE later in this case.

3 years agoThat was a stupid optimization.
Augustin Degomme [Sun, 7 Mar 2021 13:03:21 +0000 (14:03 +0100)]
That was a stupid optimization.
Processes can be reordered, so count is not a guarantee here at all.

3 years agoRegenerate.
Arnaud Giersch [Sun, 7 Mar 2021 12:58:45 +0000 (13:58 +0100)]
Regenerate.

3 years agoKill superfluous macros.
Arnaud Giersch [Sat, 6 Mar 2021 21:19:02 +0000 (22:19 +0100)]
Kill superfluous macros.

3 years agoZero-initialize struct to avoid valgrind warnings.
Arnaud Giersch [Sat, 6 Mar 2021 17:06:08 +0000 (18:06 +0100)]
Zero-initialize struct to avoid valgrind warnings.

3 years agoInline trivial function.
Arnaud Giersch [Sat, 6 Mar 2021 13:02:02 +0000 (14:02 +0100)]
Inline trivial function.

3 years agoUpdate .mailmap.
Arnaud Giersch [Fri, 5 Mar 2021 13:20:05 +0000 (14:20 +0100)]
Update .mailmap.

3 years agoAt most one resource allocation per statement (sonar).
Arnaud Giersch [Fri, 5 Mar 2021 10:33:18 +0000 (11:33 +0100)]
At most one resource allocation per statement (sonar).

3 years agoMC: untangle dependencies
Martin Quinson [Sat, 6 Mar 2021 22:14:23 +0000 (23:14 +0100)]
MC: untangle dependencies

3 years agoMC: more symmetry between WAITANY and TESTANY in dependency
Martin Quinson [Sat, 6 Mar 2021 22:03:37 +0000 (23:03 +0100)]
MC: more symmetry between WAITANY and TESTANY in dependency

No idea why TESTANY was doing specific cases on the first iteration,
nor even why it worked this way. But it was preventing the next commit
from occurring.

3 years agoMC: untangle the dependency code a tiny bit
Martin Quinson [Sat, 6 Mar 2021 20:57:56 +0000 (21:57 +0100)]
MC: untangle the dependency code a tiny bit

3 years agoMC: inline a function, kill a file
Martin Quinson [Sat, 6 Mar 2021 13:27:04 +0000 (14:27 +0100)]
MC: inline a function, kill a file

3 years agoAdd multiple unimplemented calls in smpi.h
Augustin Degomme [Sat, 6 Mar 2021 14:10:14 +0000 (15:10 +0100)]
Add multiple unimplemented calls in smpi.h
List gathered from mpi4py configuration tool

3 years agoImplement MPI_Aint_add and MPI_Aint_diff
Augustin Degomme [Sat, 6 Mar 2021 13:37:14 +0000 (14:37 +0100)]
Implement MPI_Aint_add and MPI_Aint_diff

3 years ago"Implement" MPI_Type_get_extent_x, MPI_Type_get_true_extent_x, and MPI_Status_set_ele...
Augustin Degomme [Sat, 6 Mar 2021 13:36:26 +0000 (14:36 +0100)]
"Implement" MPI_Type_get_extent_x, MPI_Type_get_true_extent_x, and MPI_Status_set_elements_x

3 years agodoc: add an hint on platform calibration, and various fixes
Martin Quinson [Fri, 5 Mar 2021 23:30:55 +0000 (00:30 +0100)]
doc: add an hint on platform calibration, and various fixes

3 years agosimgrid-mc also needs debugging symbols, so let's hint about it
Martin Quinson [Fri, 5 Mar 2021 23:00:30 +0000 (00:00 +0100)]
simgrid-mc also needs debugging symbols, so let's hint about it

3 years agodoc: fix a borken link
Martin Quinson [Fri, 5 Mar 2021 22:43:41 +0000 (23:43 +0100)]
doc: fix a borken link

3 years agoAdd a section presenting an overview of SimGrid design goals
Martin Quinson [Fri, 5 Mar 2021 22:03:36 +0000 (23:03 +0100)]
Add a section presenting an overview of SimGrid design goals

3 years agoclang ... override ... again
Frederic Suter [Fri, 5 Mar 2021 15:24:53 +0000 (16:24 +0100)]
clang ... override ... again

3 years agoRemove constraint from LinkImpl ctor
Frederic Suter [Fri, 5 Mar 2021 13:56:43 +0000 (14:56 +0100)]
Remove constraint from LinkImpl ctor

3 years agoadd boolean state to resources and protect set_core_count
Frederic Suter [Fri, 5 Mar 2021 11:31:01 +0000 (12:31 +0100)]
add boolean state to resources and protect set_core_count

3 years agofix pip builds
Martin Quinson [Fri, 5 Mar 2021 00:18:21 +0000 (01:18 +0100)]
fix pip builds

3 years agomc: rename Inspector to Observer
Martin Quinson [Thu, 4 Mar 2021 23:30:47 +0000 (00:30 +0100)]
mc: rename Inspector to Observer

3 years agoSimplify mc::api a bit
Martin Quinson [Thu, 4 Mar 2021 23:15:40 +0000 (00:15 +0100)]
Simplify mc::api a bit

No need to expose a call to test whether there is a deadlock and a
call to react to deadlocks. Have the first call react by itself to
this situation.

3 years agocosmetics
Martin Quinson [Thu, 4 Mar 2021 23:53:24 +0000 (00:53 +0100)]
cosmetics

3 years agoTry to use more common PAPI events for testing.
Arnaud Giersch [Thu, 4 Mar 2021 15:31:31 +0000 (16:31 +0100)]
Try to use more common PAPI events for testing.

Also fix the grep RE to not match the command line at the beginning of the file.

3 years agoDon't crash on empty PAPI event set.
Arnaud Giersch [Thu, 4 Mar 2021 15:20:26 +0000 (16:20 +0100)]
Don't crash on empty PAPI event set.

3 years agoCosmetics
Arnaud Giersch [Thu, 4 Mar 2021 15:14:16 +0000 (16:14 +0100)]
Cosmetics

3 years agouse CRTP dor resources
Frederic Suter [Wed, 3 Mar 2021 21:44:33 +0000 (22:44 +0100)]
use CRTP dor resources

3 years agoremove model from Link constructors
Frederic Suter [Wed, 3 Mar 2021 20:18:52 +0000 (21:18 +0100)]
remove model from Link constructors

3 years agoAdd a test for PAPI
Augustin Degomme [Wed, 3 Mar 2021 19:25:17 +0000 (20:25 +0100)]
Add a test for PAPI
next step : try to activate it on jenkins (for coverage, obviously)

3 years agoPAPI tracing was broken with latest instr changes.
Augustin Degomme [Wed, 3 Mar 2021 19:22:09 +0000 (20:22 +0100)]
PAPI tracing was broken with latest instr changes.
Expected because it's not tested.

3 years agoModernize simcall mutex_unlock.
Arnaud Giersch [Wed, 3 Mar 2021 14:40:35 +0000 (15:40 +0100)]
Modernize simcall mutex_unlock.

3 years agoMake SimcallInspector::dot_label and to_string pure virtual again.
Arnaud Giersch [Wed, 3 Mar 2021 16:46:30 +0000 (17:46 +0100)]
Make SimcallInspector::dot_label and to_string pure virtual again.

It was wronly removed in commit 99b0a6c6788a22a446be3519233dd524a44f1ffd.

3 years agoFix mem leak.
Arnaud Giersch [Wed, 3 Mar 2021 14:23:41 +0000 (15:23 +0100)]
Fix mem leak.

3 years agoPointer to const.
Arnaud Giersch [Wed, 3 Mar 2021 09:51:29 +0000 (10:51 +0100)]
Pointer to const.

3 years agostd::runtime error takes a const&.
Arnaud Giersch [Wed, 3 Mar 2021 09:47:45 +0000 (10:47 +0100)]
std::runtime error takes a const&.

3 years agoThese tests were missing mpi_finalize call (hence some leaks).
Augustin Degomme [Wed, 3 Mar 2021 11:55:21 +0000 (12:55 +0100)]
These tests were missing mpi_finalize call (hence some leaks).

3 years agochange message a bit
Augustin Degomme [Wed, 3 Mar 2021 11:54:48 +0000 (12:54 +0100)]
change message a bit

3 years agompi_comm_self was cleaned after mpi finalization during actor deletion, which was...
Augustin Degomme [Wed, 3 Mar 2021 11:54:33 +0000 (12:54 +0100)]
mpi_comm_self was cleaned after mpi finalization during actor deletion, which was annoying (after leaks check).
Have it done at MPI_Finalize level.

3 years agoAdd simple example using smpi_execute_* calls inside MPI code to simulate computation.
Augustin Degomme [Tue, 2 Mar 2021 22:36:56 +0000 (23:36 +0100)]
Add simple example using smpi_execute_* calls inside MPI code to simulate computation.
This could double as a basic MPI example, as we are missing one, I think.

3 years agoadd errhandlers support for mpi_comm_world
Augustin Degomme [Tue, 2 Mar 2021 15:00:07 +0000 (16:00 +0100)]
add errhandlers support for mpi_comm_world
As this communicator is actually shared, every process was overriding the errhandler, leading to using the same for every process, and leaking the others.

3 years agoadd leak checking for info and errhandlers
Augustin Degomme [Tue, 2 Mar 2021 14:58:38 +0000 (15:58 +0100)]
add leak checking for info and errhandlers