Christian Heinrich [Mon, 15 Jan 2018 22:56:54 +0000 (23:56 +0100)]
[SMPI] Remove usage of index() in smpi_pmpi_coll.cpp
We can just use comm->rank() instead. Note that usage of the index()
function was also incorrect: This would not have worked when the
communicator is not MPI_COMM_WORLD as the index() function always returned
Actor.pid-1 (as set in the Process::init() function)
Christian Heinrich [Mon, 15 Jan 2018 22:51:32 +0000 (23:51 +0100)]
[SMPI] Make Comm::rank() use Actors
Christian Heinrich [Mon, 15 Jan 2018 15:21:49 +0000 (16:21 +0100)]
[SMPI] Use actor.iface() instead of Actor::byId(actor.pid)
Christian Heinrich [Mon, 15 Jan 2018 14:28:25 +0000 (15:28 +0100)]
[SMPI] Move the pid calls to helper function that has more checks
Christian Heinrich [Fri, 12 Jan 2018 13:46:02 +0000 (14:46 +0100)]
[SMPI] Fix smpi-replay-multiple test
I moved the SMPI_init() to the right location and
changed the tesh.
Christian Heinrich [Thu, 11 Jan 2018 23:23:51 +0000 (00:23 +0100)]
[EXAMPLES] Update smpi_msg_masterslave -- move the SMPI_init()
The reason we moved this was that the processes were all set up before the hook
that sets up the smpi::Processes was even set up.
Christian Heinrich [Thu, 11 Jan 2018 23:22:01 +0000 (00:22 +0100)]
[SMPI] Update smpi_deployment_register_process for actors
Christian Heinrich [Wed, 17 Jan 2018 14:37:51 +0000 (15:37 +0100)]
[SMPI] Rename 'index' to 'my_proc_id' in smpi::Process::init()
Christian Heinrich [Thu, 11 Jan 2018 23:17:43 +0000 (00:17 +0100)]
[SMPI] Move process_data to map<Actor, smpi::Process>
Christian Heinrich [Thu, 11 Jan 2018 23:11:26 +0000 (00:11 +0100)]
[SMPI] Remove index notion from smpi::Group
This is a huge commit and removes the index() function from
smpi::Group and replaces it with an actor() function.
The index was basically just Actor::getPid()-1 and doesn't need
to be saved. It was also often used for the privatization segment
(to know where it was stored) but that is no longer required.
Christian Heinrich [Thu, 11 Jan 2018 16:19:47 +0000 (17:19 +0100)]
[SMPI] Program against s4u::Actor and not smx_actor_t
Christian Heinrich [Thu, 11 Jan 2018 21:25:40 +0000 (22:25 +0100)]
[SMPI] Move SMPI_init() call to other location
Christian Heinrich [Wed, 6 Dec 2017 13:24:07 +0000 (14:24 +0100)]
[SMPI] Next step for dynamic privatization
This commit breaks the following tests:
The following tests FAILED:
181 - smpi-msg-masterslave-thread (Failed)
182 - smpi-msg-masterslave-ucontext (Failed)
183 - smpi-msg-masterslave-raw (Failed)
To fix this, many more changes will be required. This will be done in
the next commit. This commit is just there to make sure changes
remain easily understandable (by having small, easy-to-read commits).
I changed the following:
- Remove variable index_to_process_data
- Make process_data a map instead of an array.
- Remove the "index" variable for SMPI instances (no longer needed)
And cleanup the mess that comes with these changes (delete/free, ...)
Christian Heinrich [Mon, 22 Jan 2018 23:39:16 +0000 (00:39 +0100)]
[SMPI] Added XBT_DEBUG statements to smpi_win.cpp
They can help a lot to figure out what goes wrong and where...
Frederic Suter [Wed, 24 Jan 2018 09:30:15 +0000 (10:30 +0100)]
distinguish shutdown and destroy in Java VMs
Frederic Suter [Tue, 23 Jan 2018 14:14:54 +0000 (15:14 +0100)]
Make MSG fade away (part 2)
move more function to sg_host_* and add the MSG macros
fix dumb 32-bit tests too
Frederic Suter [Tue, 23 Jan 2018 11:24:37 +0000 (12:24 +0100)]
Making MSG fade away (part 1)
most of the MSG_host functions already have a sg_host equivalent.
Don't duplicate the code or multiply the layer and use #define in
include/simgrid/host.h to guarantee backward compatibility
Frederic Suter [Tue, 23 Jan 2018 09:56:29 +0000 (10:56 +0100)]
please clang
Frederic Suter [Tue, 23 Jan 2018 08:45:19 +0000 (09:45 +0100)]
messing around MSG
Frederic Suter [Mon, 22 Jan 2018 10:39:38 +0000 (11:39 +0100)]
get rid of vm->isMigrating()
There already was an equivalent in the live migration plugin. This
method was only used internally to detect if a VM was destroyed while
it was migrating. This is now useless.
Frederic Suter [Mon, 22 Jan 2018 10:09:30 +0000 (11:09 +0100)]
Close #105
When a VM is shutdown, a signal is triggered which is captured in the VM
live migration plugin. If the VM was currently migrating, it kills the
RX and TX actors and the actor that was used to call sg_vm_migrate in
an asynchronous way. Smart pointers on these three actors are stored
in a new extension of the VM which is created when started a migration.
A test for this feature has been added in
teshsuite/s4u/cloud-interrupt-migration which corresponds to the
scenario described in the issue
Arnaud Giersch [Wed, 17 Jan 2018 17:08:38 +0000 (18:08 +0100)]
Keep deprecated functions for three versions as usual.
Arnaud Giersch [Wed, 17 Jan 2018 16:42:23 +0000 (17:42 +0100)]
Define XBT_ATTRIB_DEPRECATED_v322 for next deprecated features.
Christian Heinrich [Wed, 17 Jan 2018 00:39:17 +0000 (01:39 +0100)]
[TESH] Use platfdir and bindir for coll-alltoall test
Christian Heinrich [Wed, 17 Jan 2018 00:38:50 +0000 (01:38 +0100)]
[CMAKE] Copy also hostfile_coll for smpi tests
Christian Heinrich [Tue, 16 Jan 2018 18:02:04 +0000 (19:02 +0100)]
[SMPI] Added 2 FIXME's for PMPI_Is_thread_main()
Christian Heinrich [Mon, 15 Jan 2018 22:49:35 +0000 (23:49 +0100)]
[SMPI] Change comment in smpi_global.cpp
Christian Heinrich [Tue, 16 Jan 2018 12:11:55 +0000 (13:11 +0100)]
[SIMIX] Fix comment grammar
Martin Quinson [Wed, 17 Jan 2018 11:19:55 +0000 (12:19 +0100)]
improve doc of how to release
Martin Quinson [Wed, 17 Jan 2018 11:19:30 +0000 (12:19 +0100)]
fix sg_host_get_current_consumption() to do the same as C++
Christian Heinrich [Fri, 12 Jan 2018 13:48:11 +0000 (14:48 +0100)]
[SIMIX] Fix the ActorImpl signal
The signal was fired too early, so I moved it to
another position.
Christian Heinrich [Mon, 15 Jan 2018 14:15:21 +0000 (15:15 +0100)]
[TESH] Update pt2pt-dsend.tesh file with bindir, platfdir, ...
Christian Heinrich [Mon, 15 Jan 2018 14:14:39 +0000 (15:14 +0100)]
[TESH] Fix smpi-trace tesh file
This just fixes the ./smpi_trace path: It should be
using the variable as well.
Christian Heinrich [Mon, 15 Jan 2018 14:06:07 +0000 (15:06 +0100)]
[SMPI] Move even more redundant code to helper function
Christian Heinrich [Mon, 15 Jan 2018 14:05:17 +0000 (15:05 +0100)]
[SMPI] Added FIXME comment...
Christian Heinrich [Mon, 15 Jan 2018 13:58:12 +0000 (14:58 +0100)]
[SMPI] Pass the request as pointer and fix tracing
Christian Heinrich [Mon, 15 Jan 2018 13:43:42 +0000 (14:43 +0100)]
[SMPI] PMPI_Waitany/all: Move redundant code to helper function
Christian Heinrich [Mon, 15 Jan 2018 13:32:49 +0000 (14:32 +0100)]
[SMPI] Remove local variables
Christian Heinrich [Mon, 15 Jan 2018 13:13:30 +0000 (14:13 +0100)]
[SMPI] Remove now unused datastructure in PMPI_Waitall
This is the same as two commits ago, just for another function.
Christian Heinrich [Mon, 15 Jan 2018 13:11:49 +0000 (14:11 +0100)]
[SMPI] Don't use local structure in PMPI_Waitall
This is the same thing as two commits ago, but for
another function.
Christian Heinrich [Mon, 15 Jan 2018 12:49:00 +0000 (13:49 +0100)]
[SMPI] Remove now unused datastructure in PMPI_Waitany
The previous commit made changes that rendered the
structure savedvalstype unused. This commit
removes it completely.
Christian Heinrich [Mon, 15 Jan 2018 12:47:45 +0000 (13:47 +0100)]
[SMPI] Don't use local structure in PMPI_Waitany
The datastructure savedvalstype serves no real purpose
and can be removed.
Christian Heinrich [Mon, 15 Jan 2018 12:10:53 +0000 (13:10 +0100)]
[TESTS] Use platfdir, srcdir and bindir for more smpi tests
Arnaud Giersch [Sat, 13 Jan 2018 09:50:05 +0000 (10:50 +0100)]
Fix lua build.
Arnaud Giersch [Tue, 9 Jan 2018 15:01:51 +0000 (16:01 +0100)]
Update .mailmap file.
Christian Heinrich [Thu, 11 Jan 2018 15:19:07 +0000 (16:19 +0100)]
[S4U] Add onCreation signal to the actor API
Christian Heinrich [Thu, 11 Jan 2018 23:22:42 +0000 (00:22 +0100)]
[TESH] Use platfdir variable in coll-alltoall/clusters.tesh
Christian Heinrich [Thu, 11 Jan 2018 23:03:20 +0000 (00:03 +0100)]
[SMPI] Replace SIMIX_process_from_PID with S4U equivalent
Frederic Suter [Fri, 12 Jan 2018 09:18:55 +0000 (10:18 +0100)]
use enum class for cluster topology
Frederic Suter [Fri, 12 Jan 2018 09:05:37 +0000 (10:05 +0100)]
one more class in platform creation
Frederic Suter [Fri, 12 Jan 2018 08:29:46 +0000 (09:29 +0100)]
kill dead code
Frederic Suter [Fri, 12 Jan 2018 08:19:35 +0000 (09:19 +0100)]
please Sonar
Christian Heinrich [Tue, 19 Dec 2017 14:28:45 +0000 (15:28 +0100)]
[SMPI] Spelling.
Christian Heinrich [Tue, 19 Dec 2017 14:20:28 +0000 (15:20 +0100)]
[SMPI] Declare loop variable within the loop.
Compilers will get this.
Christian Heinrich [Fri, 15 Dec 2017 13:47:55 +0000 (14:47 +0100)]
[SMPI] Remove local variable sz in smpi_group.cpp
We already tested before if size_ != group2->size() -- and since
sz = group2->size(), we have here size_ == sz. So just use size_.
Christian Heinrich [Thu, 7 Dec 2017 09:26:12 +0000 (10:26 +0100)]
[SMPI] Rename variable bar -> barrier
bar sounds more like foo/bar
Christian Heinrich [Thu, 7 Dec 2017 09:24:37 +0000 (10:24 +0100)]
[SMPI] Use variable instead of 3 calls to the same function
Christian Heinrich [Wed, 6 Dec 2017 13:35:46 +0000 (14:35 +0100)]
[SMPI] Remove wrong comments on functions
Christian Heinrich [Wed, 6 Dec 2017 12:46:58 +0000 (13:46 +0100)]
[SMPI] Fixed grammar in comment
Christian Heinrich [Wed, 6 Dec 2017 12:43:22 +0000 (13:43 +0100)]
[SMPI] Added doc block for smpi_backup_global_memory_segment()
Christian Heinrich [Wed, 6 Dec 2017 12:16:13 +0000 (13:16 +0100)]
[SMPI] Use xbt_die() instead of printf & exit
Christian Heinrich [Wed, 10 Jan 2018 16:08:24 +0000 (17:08 +0100)]
[CMAKE] Copy the file hostfile_cluster to build-dir.
Christian Heinrich [Thu, 11 Jan 2018 21:19:47 +0000 (22:19 +0100)]
[CMAKE] Add srcdir, bindir and platfdir variables for more smpi tests
Christian Heinrich [Wed, 10 Jan 2018 16:01:10 +0000 (17:01 +0100)]
[CMAKE/TESH] Make the platfdir variable available to all SMPI tests
This has been long overdue. Tests still need to be adapted
but platforms can be referred to as, e.g., /cluster.xml
Frederic Suter [Thu, 11 Jan 2018 14:48:46 +0000 (15:48 +0100)]
refactoring and cosmetics
Frederic Suter [Thu, 11 Jan 2018 14:14:33 +0000 (15:14 +0100)]
use class and enum class in Actor parsing
Frederic Suter [Thu, 11 Jan 2018 13:55:06 +0000 (14:55 +0100)]
use enum class for trace connect kind
Frederic Suter [Thu, 11 Jan 2018 12:40:24 +0000 (13:40 +0100)]
Messing up with VM
- move VM tracing to S4U
- move last functions related to migration to the plugin
- MSG_vm_create is now MSG_vm_create_migratable and tagged
as DEPRECATED (will be removed in 3.21)
- Assume that the live migration plugin is always loaded in JAVA
(because all VMs are create with MSG_vm_create there)
- add a proper destroy function to S4U VMs (shutdown first, then
destroy)
- pimpl_vm_ is now private (with getImpl() as accessor)
- and use the user level interface as much as possible
Conclusion: The MSG_vm interface is now just a dummy wrapper on the
S4U interface and live migration is fully isolated in a plugin. Only
the is_migrating bool remains in VirtualMachineImpl, but is not (and
should not be) accessed or modified from outside the plugin. We can live
with that.
Frederic Suter [Thu, 11 Jan 2018 09:07:55 +0000 (10:07 +0100)]
convert cloud-migration example
Frederic Suter [Wed, 10 Jan 2018 11:33:01 +0000 (12:33 +0100)]
fix 32bit
Frederic Suter [Wed, 10 Jan 2018 11:07:33 +0000 (12:07 +0100)]
convert kademlia example to s4u
Arnaud Giersch [Tue, 9 Jan 2018 12:40:49 +0000 (13:40 +0100)]
Slight cleanup after removal of xbt_dict_new().
Arnaud Giersch [Tue, 9 Jan 2018 12:25:34 +0000 (13:25 +0100)]
Kill features marked deprecated until v3.19.
Arnaud Giersch [Tue, 9 Jan 2018 12:11:31 +0000 (13:11 +0100)]
Fix xbt_log_extract_hierarchy.pl (remove check for XBT_LOG_CONNECT).
Arnaud Giersch [Tue, 9 Jan 2018 11:03:18 +0000 (12:03 +0100)]
Remove XBT_LOG_CONNECT, it should be useless nowadays.
Arnaud Giersch [Tue, 9 Jan 2018 10:50:44 +0000 (11:50 +0100)]
Always enable contructor attribute on log categories.
Arnaud Giersch [Tue, 9 Jan 2018 10:44:18 +0000 (11:44 +0100)]
Rename constructor attribute.
Also drop support for very old compilers, and activate priorities on Mac too
(hoping that it works correctly nowadays).
Martin Quinson [Tue, 9 Jan 2018 09:29:25 +0000 (10:29 +0100)]
install.doc: improve the improvement
Martin Quinson [Tue, 9 Jan 2018 07:40:58 +0000 (08:40 +0100)]
doc improvment on cmake options
Frederic Suter [Mon, 8 Jan 2018 19:21:22 +0000 (20:21 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Martin Quinson [Mon, 8 Jan 2018 16:46:43 +0000 (17:46 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Mon, 8 Jan 2018 15:16:01 +0000 (16:16 +0100)]
Improve the doc of MSG_task_*_bounded
Martin Quinson [Mon, 8 Jan 2018 14:21:08 +0000 (15:21 +0100)]
solverstack actually lives on gitlab
Martin Quinson [Mon, 8 Jan 2018 10:26:20 +0000 (11:26 +0100)]
install: small improvements
Frederic Suter [Sat, 30 Dec 2017 15:53:40 +0000 (16:53 +0100)]
avoid xbt_strdup in c++ examples and tests
Arnaud Giersch [Thu, 28 Dec 2017 17:38:36 +0000 (18:38 +0100)]
Shutdown Engine first, and fix double-free errors.
Arnaud Giersch [Wed, 27 Dec 2017 17:24:34 +0000 (18:24 +0100)]
Use new/delete and remove useless cast.
Arnaud Giersch [Tue, 26 Dec 2017 20:59:37 +0000 (21:59 +0100)]
Return 1.0 if the task has not started.
Arnaud Giersch [Tue, 26 Dec 2017 21:17:57 +0000 (22:17 +0100)]
Make messages match the code.
Arnaud Giersch [Tue, 26 Dec 2017 21:16:47 +0000 (22:16 +0100)]
Dead assignments.
Arnaud Giersch [Tue, 26 Dec 2017 17:06:45 +0000 (18:06 +0100)]
Get the same result with a shorter command.
Arnaud Giersch [Tue, 26 Dec 2017 16:45:39 +0000 (17:45 +0100)]
Add .mailmap, to improve git shortlog's output.
Arnaud Giersch [Tue, 26 Dec 2017 10:42:27 +0000 (11:42 +0100)]
Typo + kill trailing whitespaces.
Frederic Suter [Wed, 27 Dec 2017 00:08:34 +0000 (01:08 +0100)]
smpi doesn't know void anymore
Frederic Suter [Wed, 27 Dec 2017 00:02:47 +0000 (01:02 +0100)]
remove includes of datatypes.h
Frederic Suter [Tue, 26 Dec 2017 23:29:25 +0000 (00:29 +0100)]
get rid of the vm_params struct
this migration related stuff is now part of the plugin (which grows)
the set/get parameters for VM have thus been removed
some examples have been simplified in the process has they created VM
with useless parameters (no migration)
Martin Quinson [Tue, 26 Dec 2017 23:22:32 +0000 (00:22 +0100)]
implement s4u::Comm::test_any() (fix #194)
It's not tested, sorry @henricasanova.
Martin Quinson [Tue, 26 Dec 2017 23:05:42 +0000 (00:05 +0100)]
move the host list into the Engine
Martin Quinson [Tue, 26 Dec 2017 22:06:06 +0000 (23:06 +0100)]
improve the doc of SMPI privatization (fix #137)
I just kept the bug open for reference until it got correctly
documented, and it's done now. I admit, the full feature solution is
not implemented, but the current one is good enough, and the doc links
to #137 for future reference.
Martin Quinson [Tue, 26 Dec 2017 21:26:15 +0000 (22:26 +0100)]
fix #245: migrating an actor does not migrate its execution
Before, the migration was only taking place when the actor got awaken
after an activity. Now, it takes place right away, and if it's
blocking on an execution, the activity is also migrated. If it's another
kind of activity, then an error is raised as this is not implemented
yet.
Also rewrite the s4u-actor-migrate example to be less funny but more
informative, and to test that feature.
(fix #245)