Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
13 months agoThrow exception when comm was canceled.
Arnaud Giersch [Fri, 22 Feb 2019 10:03:56 +0000 (11:03 +0100)]
Throw exception when comm was canceled.

13 months agoHandle CancelException in MSG_{comm,test} too.
Arnaud Giersch [Fri, 22 Feb 2019 10:02:35 +0000 (11:02 +0100)]
Handle CancelException in MSG_{comm,test} too.

13 months agoMSG is a C API and should not throw.
Arnaud Giersch [Fri, 22 Feb 2019 10:01:45 +0000 (11:01 +0100)]
MSG is a C API and should not throw.

13 months agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Thu, 21 Feb 2019 19:32:54 +0000 (20:32 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

13 months agouse more s4u calls in MSG
Frederic Suter [Thu, 21 Feb 2019 19:32:04 +0000 (20:32 +0100)]
use more s4u calls in MSG
One more step to transform MSG into a S4U wrapper \o/

13 months agorevalidate tesh file
Frederic Suter [Thu, 21 Feb 2019 19:31:46 +0000 (20:31 +0100)]
revalidate tesh file

13 months agofix some issues with Cancel
Frederic Suter [Thu, 21 Feb 2019 19:29:21 +0000 (20:29 +0100)]
fix some issues with Cancel
* Comm::cancel can be called when there is no pimpl
* if we wait for a canceled activity we can return not let the
impossible happen.

13 months agoParameter is a boolean.
Arnaud Giersch [Thu, 21 Feb 2019 13:54:43 +0000 (14:54 +0100)]
Parameter is a boolean.

13 months agoDon't strip last component of cwd.
Arnaud Giersch [Wed, 20 Feb 2019 22:02:48 +0000 (23:02 +0100)]
Don't strip last component of cwd.

13 months agodamned picky clang
Frederic Suter [Wed, 20 Feb 2019 17:40:21 +0000 (18:40 +0100)]
damned picky clang

13 months agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Wed, 20 Feb 2019 17:33:30 +0000 (18:33 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

13 months agoa few simplifications
Frederic Suter [Wed, 20 Feb 2019 17:31:27 +0000 (18:31 +0100)]
a few simplifications

13 months agoreplace another old simcall in MSG
Frederic Suter [Wed, 20 Feb 2019 17:19:22 +0000 (18:19 +0100)]
replace another old simcall in MSG

13 months agosave a cast
Frederic Suter [Wed, 20 Feb 2019 16:04:52 +0000 (17:04 +0100)]
save a cast

13 months agomodernize a simcall in MSG
Frederic Suter [Wed, 20 Feb 2019 15:48:31 +0000 (16:48 +0100)]
modernize a simcall in MSG

13 months ago(Hope to) fix number of cores for VMs.
Arnaud Giersch [Wed, 20 Feb 2019 15:12:02 +0000 (16:12 +0100)]
(Hope to) fix number of cores for VMs.

The bug was apparently introduced by commit 5a469c9dca9ce25cee1a52682d7eb7bbd736a49b.

13 months agocleanups and uniformization in Activity headers
Frederic Suter [Wed, 20 Feb 2019 14:02:02 +0000 (15:02 +0100)]
cleanups and uniformization in Activity headers

13 months agoThis is a CommImpl*.
Arnaud Giersch [Wed, 20 Feb 2019 14:03:16 +0000 (15:03 +0100)]
This is a CommImpl*.

13 months agomove a function to a righter place
Frederic Suter [Wed, 20 Feb 2019 13:08:55 +0000 (14:08 +0100)]
move a function to a righter place

13 months agoprevent segfault when DEBUG is activated
Frederic Suter [Wed, 20 Feb 2019 13:00:37 +0000 (14:00 +0100)]
prevent segfault when DEBUG is activated

13 months agoChange the syntax of SMPI_SAMPLE_* macros.
degomme [Wed, 20 Feb 2019 10:54:34 +0000 (11:54 +0100)]
Change the syntax of SMPI_SAMPLE_* macros.
To handle the end of the computing loop when sampling is still on, we need to wrap it.

This replaces this syntax
for(k = 1; k <= np; k++) { SMPI_SAMPLE_GLOBAL(0.25 * np, 0.03) {
where the macro had no idea of the loop conditions

by this
SMPI_SAMPLE_GLOBAL(k = 1, k <= np, k++, 0.25 * np, 0.03,
 {...}
)
syntax, where the body of loop is itself a parameter. This is not perfect, and may change soon. But now we can exit gracefully the sampling whenever the upper loop exits.

13 months agoDefine and use optimized variants for simcalls comm_testany and comm_waitany.
Arnaud Giersch [Tue, 19 Feb 2019 22:10:16 +0000 (23:10 +0100)]
Define and use optimized variants for simcalls comm_testany and comm_waitany.

13 months agoSpecialize parameter for simcall comm_waitany.
Arnaud Giersch [Tue, 19 Feb 2019 21:19:42 +0000 (22:19 +0100)]
Specialize parameter for simcall comm_waitany.

13 months agoSpecialize parameter for simcall comm_testany.
Arnaud Giersch [Tue, 19 Feb 2019 21:03:42 +0000 (22:03 +0100)]
Specialize parameter for simcall comm_testany.

13 months agoSpecialize parameter for simcall comm_wait.
Arnaud Giersch [Tue, 19 Feb 2019 20:40:41 +0000 (21:40 +0100)]
Specialize parameter for simcall comm_wait.

13 months agoSpecialize parameter for simcall comm_test.
Arnaud Giersch [Tue, 19 Feb 2019 20:28:25 +0000 (21:28 +0100)]
Specialize parameter for simcall comm_test.

13 months agoSpecialize parameter for simcall execution_wait.
Arnaud Giersch [Tue, 19 Feb 2019 20:18:02 +0000 (21:18 +0100)]
Specialize parameter for simcall execution_wait.

13 months agoSpecialize parameter for simcall execution_test.
Arnaud Giersch [Tue, 19 Feb 2019 20:15:41 +0000 (21:15 +0100)]
Specialize parameter for simcall execution_test.

13 months agoSpecialize parameter for simcall io_wait.
Arnaud Giersch [Tue, 19 Feb 2019 17:16:12 +0000 (18:16 +0100)]
Specialize parameter for simcall io_wait.

13 months agoKill now unused mc_xbt.
Arnaud Giersch [Tue, 19 Feb 2019 15:36:31 +0000 (16:36 +0100)]
Kill now unused mc_xbt.

13 months agoFix MC build after changes for waitany.
Arnaud Giersch [Tue, 19 Feb 2019 15:35:06 +0000 (16:35 +0100)]
Fix MC build after changes for waitany.

13 months agoChange dynar parameter for waitany to a raw array (mimic testany).
Arnaud Giersch [Tue, 19 Feb 2019 15:11:43 +0000 (16:11 +0100)]
Change dynar parameter for waitany to a raw array (mimic testany).

13 months agoRemove superfluous refcounting.
Arnaud Giersch [Tue, 19 Feb 2019 14:19:18 +0000 (15:19 +0100)]
Remove superfluous refcounting.

13 months agoSimcall waitany really takes a dynar of ActivityImpl*.
Arnaud Giersch [Tue, 19 Feb 2019 11:09:19 +0000 (12:09 +0100)]
Simcall waitany really takes a dynar of ActivityImpl*.

13 months agoUse CommImpl* for comm_copy callbacks.
Arnaud Giersch [Tue, 19 Feb 2019 13:07:49 +0000 (14:07 +0100)]
Use CommImpl* for comm_copy callbacks.

It's in fact already used for match_fun.

13 months agoCosmetics: adjust method names in debug messages.
Arnaud Giersch [Tue, 19 Feb 2019 20:00:28 +0000 (21:00 +0100)]
Cosmetics: adjust method names in debug messages.

13 months agoMake cleanupSurf() private.
Arnaud Giersch [Mon, 18 Feb 2019 17:24:59 +0000 (18:24 +0100)]
Make cleanupSurf() private.

13 months agotiny doc improvement
Martin Quinson [Tue, 19 Feb 2019 23:17:13 +0000 (00:17 +0100)]
tiny doc improvement

13 months agosonar: point to framagit instead of github
Martin Quinson [Mon, 11 Feb 2019 00:34:01 +0000 (01:34 +0100)]
sonar: point to framagit instead of github

13 months ago[SMPI] Change sampling behavior.
degomme [Tue, 19 Feb 2019 15:54:41 +0000 (16:54 +0100)]
[SMPI] Change sampling behavior.
Before, in sampling mode, each sampled loop was executed once, and the process would inject the time it took immediately.
This lead to a simcall being executed, which would then yield execution and possibly give the hand to another process.
This was destroying the caches, and resulted in over-estimated times.

This modification holds the injected time until the end of the sampling phase, trying to do the most of it on one process, without swapping contextes in between.

TODO :
- check what happens if num sampling iters < num iters/process (mandatory swapping)
Issues might be triggered if process leaves sampling before reaching the given bounds first.

13 months agoremove doxygen css and py tools scripts from codacy
Augustin Degomme [Thu, 7 Feb 2019 09:52:57 +0000 (10:52 +0100)]
remove doxygen css and py tools scripts from codacy

13 months agoreduce size of message sent ..
Augustin Degomme [Wed, 6 Feb 2019 09:40:04 +0000 (10:40 +0100)]
reduce size of message sent ..
For collectives we have to allocate fake buffers, and these ones may be a bit too large for some small systems (arm)

13 months agoAll activities have their own finish method \o/
Frederic Suter [Tue, 19 Feb 2019 09:02:03 +0000 (10:02 +0100)]
All activities have their own finish method \o/
The only sparks were of joy ...

13 months agoSIMIX_io_finish becomes IoImp::finish
Frederic Suter [Mon, 18 Feb 2019 22:24:58 +0000 (23:24 +0100)]
SIMIX_io_finish becomes IoImp::finish

get rid of smx_io*
the simcall_handlers will go at the beginning of the
kernel/activity/*Impl.cpp

13 months agoadd a StorageFailureException
Frederic Suter [Mon, 18 Feb 2019 22:01:04 +0000 (23:01 +0100)]
add a StorageFailureException

13 months ago_SIMIX_cond_wait becomes ConditionVariable::wait
Frederic Suter [Mon, 18 Feb 2019 20:23:46 +0000 (21:23 +0100)]
_SIMIX_cond_wait becomes ConditionVariable::wait

13 months agoSIMIX_synchro_wait becomes RawImpl::start
Frederic Suter [Mon, 18 Feb 2019 19:49:42 +0000 (20:49 +0100)]
SIMIX_synchro_wait becomes RawImpl::start

13 months agoobjectify simix timers.
Frederic Suter [Mon, 18 Feb 2019 18:32:54 +0000 (19:32 +0100)]
objectify simix timers.
public C API remains for now. Might be deprecated or removed (?)

13 months agoAvoid some casts and copies of CommImplPtr.
Arnaud Giersch [Mon, 18 Feb 2019 12:35:40 +0000 (13:35 +0100)]
Avoid some casts and copies of CommImplPtr.

13 months agolate modification wasn't tested, former was better
Frederic Suter [Sun, 17 Feb 2019 22:57:07 +0000 (23:57 +0100)]
late modification wasn't tested, former was better

13 months agoSIMIX_process_cleanup becomes ActorImpl::Cleanup
Frederic Suter [Sun, 17 Feb 2019 22:12:36 +0000 (23:12 +0100)]
SIMIX_process_cleanup becomes ActorImpl::Cleanup
There is no more need to pass the callback on an external function
when creating context.

13 months agoweek-end cleanups in ActorImpl
Frederic Suter [Sat, 16 Feb 2019 22:29:07 +0000 (23:29 +0100)]
week-end cleanups in ActorImpl
That excalated quickly ...

13 months agodead header
Frederic Suter [Sat, 16 Feb 2019 21:54:44 +0000 (22:54 +0100)]
dead header

13 months agoSIMIX_process_yield becomes ActorImpl::yield
Frederic Suter [Sat, 16 Feb 2019 21:42:16 +0000 (22:42 +0100)]
SIMIX_process_yield becomes ActorImpl::yield

13 months agoMethods and renaming in simix::Global
Frederic Suter [Sat, 16 Feb 2019 20:49:06 +0000 (21:49 +0100)]
Methods and renaming in simix::Global
+ s/process/actors/
+ empty_trash and process_runall should be here

13 months agoadd support for CancelException
Frederic Suter [Sat, 16 Feb 2019 19:08:50 +0000 (20:08 +0100)]
add support for CancelException

13 months agoDynamic cast without checking result is slow and useless. Use static cast.
Arnaud Giersch [Fri, 15 Feb 2019 14:04:15 +0000 (15:04 +0100)]
Dynamic cast without checking result is slow and useless. Use static cast.

It brings for example > 1.2 speedup on s4u-dht-kademlia.

13 months agoCosmetics (and please scan-build about potential null surf_action_).
Arnaud Giersch [Thu, 14 Feb 2019 12:45:52 +0000 (13:45 +0100)]
Cosmetics (and please scan-build about potential null surf_action_).

13 months agoUnsigned cannot become negative.
Arnaud Giersch [Thu, 14 Feb 2019 12:45:52 +0000 (13:45 +0100)]
Unsigned cannot become negative.

13 months agoUse const references for parameters.
Arnaud Giersch [Thu, 14 Feb 2019 12:45:52 +0000 (13:45 +0100)]
Use const references for parameters.

13 months agoMore std::string parameters.
Arnaud Giersch [Thu, 14 Feb 2019 12:45:52 +0000 (13:45 +0100)]
More std::string parameters.

13 months agofix build
Frederic Suter [Fri, 15 Feb 2019 14:50:43 +0000 (15:50 +0100)]
fix build

13 months agomake e_smx_comm_type_t be en enum class
Frederic Suter [Fri, 15 Feb 2019 08:43:08 +0000 (09:43 +0100)]
make e_smx_comm_type_t be en enum class

13 months agoTransfers things from smx_network to Mailboxes
Frederic Suter [Thu, 14 Feb 2019 17:04:26 +0000 (18:04 +0100)]
Transfers things from smx_network to Mailboxes

13 months agoChange some calls to get_cname to calls to get_name.
Arnaud Giersch [Wed, 13 Feb 2019 11:08:49 +0000 (12:08 +0100)]
Change some calls to get_cname to calls to get_name.

13 months agoUse get_cname() instead of name_.c_str().
Arnaud Giersch [Wed, 13 Feb 2019 10:39:19 +0000 (11:39 +0100)]
Use get_cname() instead of name_.c_str().

13 months agoDefine ActivityImpl::get_{name,cname}.
Arnaud Giersch [Wed, 13 Feb 2019 10:37:31 +0000 (11:37 +0100)]
Define ActivityImpl::get_{name,cname}.

13 months agoPolish passage of std::string parameters.
Arnaud Giersch [Wed, 13 Feb 2019 10:07:40 +0000 (11:07 +0100)]
Polish passage of std::string parameters.

13 months agofix github issue (#132)
Frederic Suter [Wed, 13 Feb 2019 16:42:44 +0000 (17:42 +0100)]
fix github issue (#132)

The Host.off() now throws a HostFailure exception if it captures that
an actor was ended by this action.  When a Java process wants to turn
off its own host (and thus die), it now has to catch a HostFailure
exception and the simulation can goes on.

13 months agosimplification
Frederic Suter [Wed, 13 Feb 2019 15:22:39 +0000 (16:22 +0100)]
simplification

13 months agomodernize a non-blocking simcall
Frederic Suter [Wed, 13 Feb 2019 14:50:35 +0000 (15:50 +0100)]
modernize a non-blocking simcall

13 months agoadd start and copy_data methods to CommImpl
Frederic Suter [Wed, 13 Feb 2019 14:35:43 +0000 (15:35 +0100)]
add start and copy_data methods to CommImpl

13 months agouse namespaces
Frederic Suter [Wed, 13 Feb 2019 13:33:59 +0000 (14:33 +0100)]
use namespaces

13 months agomessing with msg tracing
Frederic Suter [Wed, 13 Feb 2019 13:08:18 +0000 (14:08 +0100)]
messing with msg tracing

13 months agomerge SIMIX_synchro_finish into RawImpl::post
Frederic Suter [Wed, 13 Feb 2019 10:45:41 +0000 (11:45 +0100)]
merge SIMIX_synchro_finish into RawImpl::post

13 months agouse namespaces
Frederic Suter [Wed, 13 Feb 2019 10:16:12 +0000 (11:16 +0100)]
use namespaces

13 months agomore SemaphoreImpl cleanups
Frederic Suter [Wed, 13 Feb 2019 10:10:46 +0000 (11:10 +0100)]
more SemaphoreImpl cleanups

13 months agoObjectify Semaphore kernel counterpart
Frederic Suter [Wed, 13 Feb 2019 09:46:23 +0000 (10:46 +0100)]
Objectify Semaphore kernel counterpart

13 months agoSIMIX_process_join becomes ActorImpl::join
Frederic Suter [Wed, 13 Feb 2019 08:15:29 +0000 (09:15 +0100)]
SIMIX_process_join becomes ActorImpl::join

13 months agoPlug memory leaks for tests 1 to 5.
Arnaud Giersch [Tue, 12 Feb 2019 22:27:28 +0000 (23:27 +0100)]
Plug memory leaks for tests 1 to 5.

13 months agoFix bad cast spotted by UBSan.
Arnaud Giersch [Tue, 12 Feb 2019 15:29:00 +0000 (16:29 +0100)]
Fix bad cast spotted by UBSan.

13 months agoSnake case.
Arnaud Giersch [Tue, 12 Feb 2019 14:50:50 +0000 (15:50 +0100)]
Snake case.

13 months agoUse const& for the parameters of type std::string not affected by previous commit.
Arnaud Giersch [Mon, 11 Feb 2019 20:34:59 +0000 (21:34 +0100)]
Use const& for the parameters of type std::string not affected by previous commit.

13 months agoWhenever possible, use std::move() for parameters (mostly std::string).
Arnaud Giersch [Mon, 11 Feb 2019 20:09:18 +0000 (21:09 +0100)]
Whenever possible, use std::move() for parameters (mostly std::string).

13 months agoAvoid unnecessary copy of parameters for parallel_execute.
Arnaud Giersch [Mon, 11 Feb 2019 19:49:09 +0000 (20:49 +0100)]
Avoid unnecessary copy of parameters for parallel_execute.

13 months agoGet rid of temporary vector of strings.
Arnaud Giersch [Mon, 11 Feb 2019 19:45:12 +0000 (20:45 +0100)]
Get rid of temporary vector of strings.

Save the unnecessary cost of its construction.

13 months agoDeprecate the is_off() methods.
Arnaud Giersch [Mon, 11 Feb 2019 19:40:35 +0000 (20:40 +0100)]
Deprecate the is_off() methods.

They are simply the negation of is_on() and, when the two forms are defined,
we may wonder if there is some kind of intermediate state neither on(), nor
off().

13 months ago[tesh] Split setenv parameter on first '=' only.
Arnaud Giersch [Tue, 12 Feb 2019 12:57:20 +0000 (13:57 +0100)]
[tesh] Split setenv parameter on first '=' only.

13 months agokeep a return value for MSG_process_sleep
Frederic Suter [Tue, 12 Feb 2019 15:56:09 +0000 (16:56 +0100)]
keep a return value for MSG_process_sleep
handle the exception in msg_legacy.cpp

13 months agofix build
Frederic Suter [Tue, 12 Feb 2019 14:50:54 +0000 (15:50 +0100)]
fix build

13 months agoa bug notified on July 28, 2014 is finally solved \o/
Frederic Suter [Tue, 12 Feb 2019 14:19:04 +0000 (15:19 +0100)]
a bug notified on July 28, 2014 is finally solved \o/

a true c++ exception is now raised if an actor is killed because its
host was turned off. It can be catched in the Java binding and set the
right MSG error status to MSG_HOST_FAILURE.
MSG_process_sleep can thus be marked as legacy and replaced by
s4u_actor_sleep_for

13 months agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Tue, 12 Feb 2019 13:07:48 +0000 (14:07 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

13 months agocosmetics
Frederic Suter [Tue, 12 Feb 2019 13:05:09 +0000 (14:05 +0100)]
cosmetics

13 months agoSIMIX_process_killall becomes ActorImp::kill_all
Frederic Suter [Tue, 12 Feb 2019 13:02:26 +0000 (14:02 +0100)]
SIMIX_process_killall becomes ActorImp::kill_all

13 months agoSIMIX_process_kill becomes ActorImpl::kill
Frederic Suter [Tue, 12 Feb 2019 12:49:38 +0000 (13:49 +0100)]
SIMIX_process_kill becomes ActorImpl::kill

13 months agostart to differentiate kill from exit in ActorImpl
Frederic Suter [Tue, 12 Feb 2019 10:05:29 +0000 (11:05 +0100)]
start to differentiate kill from exit in ActorImpl

13 months agoAdd suppressions for Asan when run on jenkins.
Arnaud Giersch [Mon, 11 Feb 2019 22:11:40 +0000 (23:11 +0100)]
Add suppressions for Asan when run on jenkins.

Ideally, ASAN_OPTIONS should be set by ctest but I didn't find how.

13 months agoNo need to answer to simcall when host is off.
Arnaud Giersch [Mon, 11 Feb 2019 15:07:12 +0000 (16:07 +0100)]
No need to answer to simcall when host is off.

These changes should fix tests platform-failures where some processes were
duplicated in process_to_run[], leading to runtime errors with boost and raw
contexts.

The error could be seen with a "xbt_assert(next_context != this);" just before
"this->swap_into(next_context);" in SwappedContext::suspend().

13 months agoDon't set field twice.
Arnaud Giersch [Mon, 11 Feb 2019 15:05:06 +0000 (16:05 +0100)]
Don't set field twice.

13 months agoEnrich debugging messages.
Arnaud Giersch [Mon, 11 Feb 2019 13:21:17 +0000 (14:21 +0100)]
Enrich debugging messages.