Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
10 months agoMake ActorImpl::context_ a std::unique_ptr.
Arnaud Giersch [Fri, 8 Mar 2019 22:06:26 +0000 (23:06 +0100)]
Make ActorImpl::context_ a std::unique_ptr.

10 months agoMake SwappedContext::parmap_ a std::unique_ptr.
Arnaud Giersch [Fri, 8 Mar 2019 14:47:58 +0000 (15:47 +0100)]
Make SwappedContext::parmap_ a std::unique_ptr.

10 months agoCosmetics around std::unique_ptr.
Arnaud Giersch [Fri, 8 Mar 2019 14:34:00 +0000 (15:34 +0100)]
Cosmetics around std::unique_ptr.

10 months agoFix xbt_assert with side effects.
Arnaud Giersch [Sat, 9 Mar 2019 15:04:32 +0000 (16:04 +0100)]
Fix xbt_assert with side effects.

10 months agoEquality/assignment mismatch.
Arnaud Giersch [Sat, 9 Mar 2019 14:59:11 +0000 (15:59 +0100)]
Equality/assignment mismatch.

10 months agoRelease memory after last use only.
Arnaud Giersch [Fri, 8 Mar 2019 13:19:50 +0000 (14:19 +0100)]
Release memory after last use only.

10 months agoPut XBT_ATTRIB_DEPRECATED at proper place.
Arnaud Giersch [Fri, 8 Mar 2019 13:09:34 +0000 (14:09 +0100)]
Put XBT_ATTRIB_DEPRECATED at proper place.

10 months ago2 fixes in host-energy plugin
Martin Quinson [Fri, 8 Mar 2019 16:52:01 +0000 (17:52 +0100)]
2 fixes in host-energy plugin

- When computing the current watts, consistently use the pstate that
  was set at the beginning of the previous period.
  (the pstate at the end of the period was used to determinate whether
  or not we are in boot/shutdown state, ie, whether speed==0)
- Do not mark as used hosts that are just turned on and off. This is
  to be consistent with the tesh files while fixing the other bug.

10 months agoSpecify bindir while launching tesh
Martin Quinson [Wed, 6 Mar 2019 23:56:19 +0000 (00:56 +0100)]
Specify bindir while launching tesh

10 months agoUse references for callback parameters of on_exit().
Arnaud Giersch [Thu, 7 Mar 2019 16:32:41 +0000 (17:32 +0100)]
Use references for callback parameters of on_exit().

10 months agoUse references for parameters of type std::function.
Arnaud Giersch [Thu, 7 Mar 2019 15:50:38 +0000 (16:50 +0100)]
Use references for parameters of type std::function.

10 months agoUse references for parameters of type std::vector.
Arnaud Giersch [Thu, 7 Mar 2019 15:00:57 +0000 (16:00 +0100)]
Use references for parameters of type std::vector.

10 months agoFix mismatched alloc/free.
Arnaud Giersch [Wed, 6 Mar 2019 22:18:11 +0000 (23:18 +0100)]
Fix mismatched alloc/free.

10 months agoRemove duplicated but unused forward declarations.
Arnaud Giersch [Wed, 6 Mar 2019 22:10:10 +0000 (23:10 +0100)]
Remove duplicated but unused forward declarations.

10 months agoDon't hide class member.
Arnaud Giersch [Fri, 8 Mar 2019 09:12:57 +0000 (10:12 +0100)]
Don't hide class member.

10 months agoFix null pointer dereference.
Arnaud Giersch [Thu, 7 Mar 2019 17:21:39 +0000 (18:21 +0100)]
Fix null pointer dereference.

10 months agoSwitch s4u tuto to pajengr as well.
degomme [Fri, 8 Mar 2019 11:05:11 +0000 (12:05 +0100)]
Switch s4u tuto to pajengr as well.

10 months agohopefully fix most issues. thx agier for spotting the main one
Frederic Suter [Fri, 8 Mar 2019 10:11:13 +0000 (11:11 +0100)]
hopefully fix most issues. thx agier for spotting the main one

10 months agopoor damage control for tonight only
Frederic Suter [Thu, 7 Mar 2019 23:13:08 +0000 (00:13 +0100)]
poor damage control for tonight only

10 months agorevalidate another tesh
Frederic Suter [Thu, 7 Mar 2019 16:46:37 +0000 (17:46 +0100)]
revalidate another tesh

10 months agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Thu, 7 Mar 2019 16:40:12 +0000 (17:40 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

10 months agorevalidate tesh
Frederic Suter [Thu, 7 Mar 2019 16:38:51 +0000 (17:38 +0100)]
revalidate tesh

10 months agosimplifications and fixes (forgot properties)
Frederic Suter [Thu, 7 Mar 2019 16:23:54 +0000 (17:23 +0100)]
simplifications and fixes (forgot properties)

10 months agoadapt smpi tuto to use pajengr (+ dockerfile)
degomme [Thu, 7 Mar 2019 16:17:20 +0000 (17:17 +0100)]
adapt smpi tuto to use pajengr (+ dockerfile)

10 months agouse extension for user data in MSG
Frederic Suter [Thu, 7 Mar 2019 15:55:15 +0000 (16:55 +0100)]
use extension for user data in MSG

10 months agoSplit the behavior of ActorImpl::create
Frederic Suter [Thu, 7 Mar 2019 14:10:14 +0000 (15:10 +0100)]
Split the behavior of ActorImpl::create
follow the init->set->start logic

10 months agoSometimes 'free' is not a member of 'std'.
Arnaud Giersch [Wed, 6 Mar 2019 21:06:24 +0000 (22:06 +0100)]
Sometimes 'free' is not a member of 'std'.

10 months agoAdd exception specification for xbt_free_f.
Arnaud Giersch [Wed, 6 Mar 2019 20:49:49 +0000 (21:49 +0100)]
Add exception specification for xbt_free_f.

Take the same exception specification as for std::free. Without that, Intel icc
fails to compile simgrid::xbt::demangle (backtrace.cpp) with:
error \#878: incompatible exception specifications

10 months agoMissing include.
Arnaud Giersch [Wed, 6 Mar 2019 17:52:28 +0000 (18:52 +0100)]
Missing include.

10 months agoUse real pointer type for context wrappers.
Arnaud Giersch [Wed, 6 Mar 2019 16:37:52 +0000 (17:37 +0100)]
Use real pointer type for context wrappers.

10 months ago[sonar] Use unsigned char* for context stacks.
Arnaud Giersch [Wed, 6 Mar 2019 16:51:30 +0000 (17:51 +0100)]
[sonar] Use unsigned char* for context stacks.

10 months ago[sonar] Use std::function.
Arnaud Giersch [Wed, 6 Mar 2019 16:11:02 +0000 (17:11 +0100)]
[sonar] Use std::function.

10 months agoDeprecate some functions.
Arnaud Giersch [Wed, 6 Mar 2019 09:22:01 +0000 (10:22 +0100)]
Deprecate some functions.

10 months agoType consistency.
Arnaud Giersch [Wed, 6 Mar 2019 14:22:32 +0000 (15:22 +0100)]
Type consistency.

10 months agooops
degomme [Wed, 6 Mar 2019 15:20:01 +0000 (16:20 +0100)]
oops

10 months agoWIP - SMPI tuto - add parts about sampling and memory sharing
degomme [Wed, 6 Mar 2019 15:01:02 +0000 (16:01 +0100)]
WIP - SMPI tuto - add parts about sampling and memory sharing

TODO :
- collectives, and more ?

10 months agoTry to help sonar.
degomme [Wed, 6 Mar 2019 14:56:25 +0000 (15:56 +0100)]
Try to help sonar.

10 months agoFix mc liveness examples.
degomme [Wed, 6 Mar 2019 14:56:12 +0000 (15:56 +0100)]
Fix mc liveness examples.

10 months agoObjectify MSG task send
Frederic Suter [Wed, 6 Mar 2019 10:57:40 +0000 (11:57 +0100)]
Objectify MSG task send

10 months agoSimplifications in MSG task execution
Frederic Suter [Wed, 6 Mar 2019 10:14:13 +0000 (11:14 +0100)]
Simplifications in MSG task execution

10 months agoplease sonar
Frederic Suter [Wed, 6 Mar 2019 08:23:10 +0000 (09:23 +0100)]
please sonar

10 months agoremove or deprecate now useless code
Frederic Suter [Wed, 6 Mar 2019 08:08:18 +0000 (09:08 +0100)]
remove or deprecate now useless code

10 months agoplease clang
Frederic Suter [Tue, 5 Mar 2019 23:11:18 +0000 (00:11 +0100)]
please clang

10 months agos4u::Exec now has 2 child classes
Frederic Suter [Tue, 5 Mar 2019 22:43:51 +0000 (23:43 +0100)]
s4u::Exec now has 2 child classes
s4u::ExecSeq and s4u::ExecPar

side effects:
+ no more C-style host list in HostImpl and ptaskLO7
+ Sequential execution can have a timeout
TODO:
+ get rid of ExecImplPtr in MSG
+ check and clean

10 months agoParmap status is simply a boolean.
Arnaud Giersch [Tue, 5 Mar 2019 22:20:38 +0000 (23:20 +0100)]
Parmap status is simply a boolean.

10 months agoUse std::function instead of function pointer.
Arnaud Giersch [Tue, 5 Mar 2019 22:05:02 +0000 (23:05 +0100)]
Use std::function instead of function pointer.

10 months agoUse proper type instead of void*.
Arnaud Giersch [Tue, 5 Mar 2019 21:46:54 +0000 (22:46 +0100)]
Use proper type instead of void*.

10 months agoAssert that the pointer is not null when dereferenced.
Arnaud Giersch [Tue, 5 Mar 2019 12:25:11 +0000 (13:25 +0100)]
Assert that the pointer is not null when dereferenced.

10 months agoField is initialized by constructor.
Arnaud Giersch [Tue, 5 Mar 2019 12:22:08 +0000 (13:22 +0100)]
Field is initialized by constructor.

10 months agothose pimpl are actually never null, stop fooling sonar
Martin Quinson [Tue, 5 Mar 2019 08:29:28 +0000 (09:29 +0100)]
those pimpl are actually never null, stop fooling sonar

10 months agoapply agier fixes for StarPU build
Frederic Suter [Tue, 5 Mar 2019 08:46:35 +0000 (09:46 +0100)]
apply agier fixes for StarPU build

10 months agoMerge branch 'master' of https://framagit.org/simgrid/simgrid
Frederic Suter [Tue, 5 Mar 2019 08:22:35 +0000 (09:22 +0100)]
Merge branch 'master' of https://framagit.org/simgrid/simgrid

10 months agodon't let sonar think that pimpl_ can be null
Martin Quinson [Tue, 5 Mar 2019 07:03:51 +0000 (08:03 +0100)]
don't let sonar think that pimpl_ can be null

10 months agosonar: pass large parameters as const; don't name unused params
Martin Quinson [Tue, 5 Mar 2019 06:29:53 +0000 (07:29 +0100)]
sonar: pass large parameters as const; don't name unused params

10 months agoSanitize the prototype of Actor::on_exit() callbacks
Martin Quinson [Mon, 4 Mar 2019 23:38:28 +0000 (00:38 +0100)]
Sanitize the prototype of Actor::on_exit() callbacks

Changes on_exit(function<void(int failed, void*data)>, data)
into    on_exit(function<void(bool failed)>)

So, we are using bool for boolean values, and we don't force the user
to build a closure on void* data manually. If you want to pass a data
to the callback, just use the C++ formalism: [data](bool failed){...}

Other changes on the way (that excalated quickly)
- Document some recent changes to the internals in ChangeLog
- Document this_actor::on_exit() and Actor::on_exit() in doxygen
- Also sanitize the prototype of MSG_process_on_exit(). Was taking a
  (void*,void*) function; now takes a (int, void*) one. This was too
  weird to use void* to denote integers -- I actually doubt it ever
  worked the way it was written, but the tests are too poor to be
  sure: the only usage of this function ignores the return value.
- Also add a new test in activity-lifetime: test_sleep_restart_end
  Commented for now as it breaks miserably.

10 months agoMove ForcefulKillException to the root namespace, along with the other exceptions
Martin Quinson [Mon, 4 Mar 2019 22:28:38 +0000 (23:28 +0100)]
Move ForcefulKillException to the root namespace, along with the other exceptions

10 months agoRename StopRequest into ForcefulKillException to contribute to #325
Martin Quinson [Mon, 4 Mar 2019 22:01:36 +0000 (23:01 +0100)]
Rename StopRequest into ForcefulKillException to contribute to #325

10 months agofurther convert some bits of the documentation
Martin Quinson [Mon, 4 Mar 2019 21:48:53 +0000 (22:48 +0100)]
further convert some bits of the documentation

10 months agosnake case this bool
Frederic Suter [Mon, 4 Mar 2019 13:55:53 +0000 (14:55 +0100)]
snake case this bool

10 months agocosmetics
Frederic Suter [Mon, 4 Mar 2019 13:15:04 +0000 (14:15 +0100)]
cosmetics

10 months agomore factoring when sending MSG tasks
Frederic Suter [Sun, 3 Mar 2019 17:17:56 +0000 (18:17 +0100)]
more factoring when sending MSG tasks

10 months agoAdd a comment to explain previous changes.
Arnaud Giersch [Sat, 2 Mar 2019 20:50:55 +0000 (21:50 +0100)]
Add a comment to explain previous changes.

10 months agoFix memleak.
Arnaud Giersch [Sat, 2 Mar 2019 13:19:21 +0000 (14:19 +0100)]
Fix memleak.

10 months agoFix use of invalidated iterator.
Arnaud Giersch [Sat, 2 Mar 2019 09:05:58 +0000 (10:05 +0100)]
Fix use of invalidated iterator.

10 months agoUse C++11 <random> for simcall mc_random.
Arnaud Giersch [Fri, 1 Mar 2019 22:16:49 +0000 (23:16 +0100)]
Use C++11 <random> for simcall mc_random.

10 months agoAvoid shadowing outer variables.
Arnaud Giersch [Fri, 1 Mar 2019 13:03:40 +0000 (14:03 +0100)]
Avoid shadowing outer variables.

10 months agoKill unused parameter and please Sonar.
Arnaud Giersch [Fri, 1 Mar 2019 17:37:59 +0000 (18:37 +0100)]
Kill unused parameter and please Sonar.

10 months agoUse specialized vector::swap.
Arnaud Giersch [Fri, 1 Mar 2019 11:49:41 +0000 (12:49 +0100)]
Use specialized vector::swap.

10 months agoUse Rvalue references for exception constructors.
Arnaud Giersch [Fri, 1 Mar 2019 10:27:27 +0000 (11:27 +0100)]
Use Rvalue references for exception constructors.

It seems to be sufficient for now.
Maybe one day we'll need to complete to handle Lvalues.

10 months agoStop setting random seed at initialization.
Arnaud Giersch [Fri, 1 Mar 2019 09:44:14 +0000 (10:44 +0100)]
Stop setting random seed at initialization.

10 months agokill obsolete doc
Martin Quinson [Fri, 1 Mar 2019 22:46:34 +0000 (23:46 +0100)]
kill obsolete doc

There is no need to convert that.

10 months agoconvert another page from old doc to RST
Martin Quinson [Fri, 1 Mar 2019 22:21:58 +0000 (23:21 +0100)]
convert another page from old doc to RST

10 months agodoc improvement
Martin Quinson [Thu, 28 Feb 2019 23:02:27 +0000 (00:02 +0100)]
doc improvement

I hope that this will clarify #325, and #132.

10 months agomv the internal isend function to the class
Frederic Suter [Fri, 1 Mar 2019 19:45:23 +0000 (20:45 +0100)]
mv the internal isend function to the class

10 months agoremove useless simcall for IO too and use better casts
Frederic Suter [Fri, 1 Mar 2019 18:18:14 +0000 (19:18 +0100)]
remove useless simcall for IO too and use better casts

10 months agoone step further not using kernel execution activities in MSG.
Frederic Suter [Fri, 1 Mar 2019 17:58:38 +0000 (18:58 +0100)]
one step further not using kernel execution activities in MSG.

10 months agoThe creation of the pimpl needs no simcall
Frederic Suter [Fri, 1 Mar 2019 17:52:08 +0000 (18:52 +0100)]
The creation of the pimpl needs no simcall

Now that init and start are split, creating the ExecImpl in init (the
constructor) has no impact on the simulation kernel. The action is
created by start().

This slightly modifies the ordering of the output in one tesh file

10 months agoYell when there is an exception, not when there isn't
Frederic Suter [Fri, 1 Mar 2019 17:51:01 +0000 (18:51 +0100)]
Yell when there is an exception, not when there isn't

10 months agomess with MSG tasks
Frederic Suter [Fri, 1 Mar 2019 09:03:36 +0000 (10:03 +0100)]
mess with MSG tasks

10 months agoMake destructors useless.
Arnaud Giersch [Thu, 28 Feb 2019 22:22:03 +0000 (23:22 +0100)]
Make destructors useless.

10 months agoMake capture list explicit.
Arnaud Giersch [Thu, 28 Feb 2019 21:55:04 +0000 (22:55 +0100)]
Make capture list explicit.

10 months agoEmpty callback is optional.
Arnaud Giersch [Thu, 28 Feb 2019 21:51:44 +0000 (22:51 +0100)]
Empty callback is optional.

10 months agoHide std::free to Sonar.
Arnaud Giersch [Thu, 28 Feb 2019 21:43:39 +0000 (22:43 +0100)]
Hide std::free to Sonar.

10 months agoIgnore Sonar issue "Macros should not be used to define constants" in *.h.
Arnaud Giersch [Thu, 28 Feb 2019 21:39:34 +0000 (22:39 +0100)]
Ignore Sonar issue "Macros should not be used to define constants" in *.h.

10 months agoUse default initialization.
Arnaud Giersch [Thu, 28 Feb 2019 21:32:13 +0000 (22:32 +0100)]
Use default initialization.

10 months agoNo static analyzers, myCoords[] and targetCoords[] don't contain garbage.
Arnaud Giersch [Tue, 26 Feb 2019 20:54:53 +0000 (21:54 +0100)]
No static analyzers, myCoords[] and targetCoords[] don't contain garbage.

Save dimensions_.size() in a local variable to help Sonar and Clang, plus other
simplifications.

10 months agoDon't rely on random to generate temporary file names.
Arnaud Giersch [Thu, 28 Feb 2019 14:35:19 +0000 (15:35 +0100)]
Don't rely on random to generate temporary file names.

10 months agoUse C++11 <random> instead of rand().
Arnaud Giersch [Thu, 28 Feb 2019 14:00:06 +0000 (15:00 +0100)]
Use C++11 <random>  instead of rand().

10 months agoRemove never used FindRngStream.cmake.
Arnaud Giersch [Thu, 28 Feb 2019 13:45:22 +0000 (14:45 +0100)]
Remove never used FindRngStream.cmake.

10 months agobetter message for this exception
Frederic Suter [Thu, 28 Feb 2019 12:52:04 +0000 (13:52 +0100)]
better message for this exception

10 months agoadd test related to #220 + fix killsend
Frederic Suter [Thu, 28 Feb 2019 12:46:12 +0000 (13:46 +0100)]
add test related to #220 + fix killsend

If the test and the launched actors share a scheduling round, the
outer test comes first and execute the asserts before the actors are
able to end their execution. As we want to control the status of the
actors when they end, let the outer test wait a bit before asserting.

10 months agochange exception raised if a StopRequest is catched in Host.off()
Frederic Suter [Thu, 28 Feb 2019 09:12:07 +0000 (10:12 +0100)]
change exception raised if a StopRequest is catched in Host.off()

10 months agoactivity-lifecycle: test exec just as we test sleep
Martin Quinson [Thu, 28 Feb 2019 01:34:12 +0000 (02:34 +0100)]
activity-lifecycle: test exec just as we test sleep

We should also try to cancel all these nice actions. And at some
point, we should probably come up with a DSL or find another way to
factorize some code.

10 months agoDon't give actors a chance to survive their exec if their host is turned off
Martin Quinson [Thu, 28 Feb 2019 01:30:53 +0000 (02:30 +0100)]
Don't give actors a chance to survive their exec if their host is turned off

Before, they received an HostFailureException that they could catch to
survive. Now, they are simply killed (once their on_exit callbacks are
executed).

This is more consistent with what happens with sleep actions, and thus
fixes the github issue #325.

10 months agoplease sonar: don't declare an empty callback
Martin Quinson [Wed, 27 Feb 2019 23:09:44 +0000 (00:09 +0100)]
please sonar: don't declare an empty callback

10 months agoFix forwarding of the program arguments.
Arnaud Giersch [Wed, 27 Feb 2019 22:36:42 +0000 (23:36 +0100)]
Fix forwarding of the program arguments.

Use a static storage to avoid dangling pointers, and ensure that there is no
out of bound array access.

10 months agoFix Backtrace::operator=.
Arnaud Giersch [Wed, 27 Feb 2019 20:49:32 +0000 (21:49 +0100)]
Fix Backtrace::operator=.

10 months agoAnonymize unused parameters.
Arnaud Giersch [Wed, 27 Feb 2019 14:55:56 +0000 (15:55 +0100)]
Anonymize unused parameters.

10 months agoEnforce "Rule-of-Three/Five".
Arnaud Giersch [Wed, 27 Feb 2019 14:11:36 +0000 (15:11 +0100)]
Enforce "Rule-of-Three/Five".

10 months agoAvoid null pointer dereference.
Arnaud Giersch [Tue, 26 Feb 2019 21:54:45 +0000 (22:54 +0100)]
Avoid null pointer dereference.