Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
12 months agoFix a race condition
Martin Quinson [Mon, 7 Jan 2019 10:34:57 +0000 (11:34 +0100)]
Fix a race condition

When saving the context of maestro, we must ensure that we are
actually thread 0. Otherwise, we may end up saving the context of a
minion (a working thread).

12 months agodoc: fix copy/paste error
Martin Quinson [Mon, 7 Jan 2019 09:01:39 +0000 (10:01 +0100)]
doc: fix copy/paste error

12 months agoplease sonar, add 'explicit'
Martin Quinson [Sun, 6 Jan 2019 16:33:23 +0000 (17:33 +0100)]
please sonar, add 'explicit'

12 months agofactorize where seq_runall and par_runall save maestro context
Martin Quinson [Sun, 6 Jan 2019 14:08:10 +0000 (15:08 +0100)]
factorize where seq_runall and par_runall save maestro context

12 months agochange static fields in SwappedCtx into regular fields of the factory
Martin Quinson [Sun, 6 Jan 2019 13:21:53 +0000 (14:21 +0100)]
change static fields in SwappedCtx into regular fields of the factory

and other cleanups

12 months agoKill the now useless ParallelRawContext and ParallelBoostContext
Martin Quinson [Sun, 6 Jan 2019 12:05:26 +0000 (13:05 +0100)]
Kill the now useless ParallelRawContext and ParallelBoostContext

They were a perfect duplication of ParallelUContext :(

12 months agomerge ParallelUContext into SwappedContext, that can now run parallel or sequential
Martin Quinson [Sun, 6 Jan 2019 11:58:03 +0000 (12:58 +0100)]
merge ParallelUContext into SwappedContext, that can now run parallel or sequential

12 months agoCosmetics in contexts
Martin Quinson [Sun, 6 Jan 2019 11:09:02 +0000 (12:09 +0100)]
Cosmetics in contexts

- Kill useless code
- Move a method to superclass
- Fix clang builds

12 months agomove a static field of SwappedContext into SwappedContextFactory
Martin Quinson [Sun, 6 Jan 2019 11:06:03 +0000 (12:06 +0100)]
move a static field of SwappedContext into SwappedContextFactory

12 months agoIntroduce a SwappedContextFactory to further reduce code duplication, working WIP
Martin Quinson [Sun, 6 Jan 2019 10:54:40 +0000 (11:54 +0100)]
Introduce a SwappedContextFactory to further reduce code duplication, working WIP

The code seems to work (I've run many tests locally), but it's far
from being clean yet. See this as a checkpoint commit.

12 months agocontext: rewrite some comments, and useless cosmetics
Martin Quinson [Sat, 5 Jan 2019 22:28:31 +0000 (23:28 +0100)]
context: rewrite some comments, and useless cosmetics

12 months agoMove Parallel{Boost,Raw,U}Context::{initialize,finalize} to SwappedContext
Martin Quinson [Sat, 5 Jan 2019 22:12:40 +0000 (23:12 +0100)]
Move Parallel{Boost,Raw,U}Context::{initialize,finalize} to SwappedContext

12 months agofurther cleanups in contexts
Martin Quinson [Sat, 5 Jan 2019 21:43:11 +0000 (22:43 +0100)]
further cleanups in contexts

- Kill SerialRawContext and use SwappedContext
- Centralize everything related to the stack pointer in SwappedContext
  Previously, alloc/dealloc was done in functions in Context.cpp while
  the fields were duplicated in all SwappedContext childs

12 months agoChange a subclass into a superclass around contexts
Martin Quinson [Sat, 5 Jan 2019 19:02:13 +0000 (20:02 +0100)]
Change a subclass into a superclass around contexts

SerialUContext was a subclass of UContext. SwappedContext does the
same, as a super class of UContext.

The idea is to make SwappedContext the ancestor of BoostContext and
RawContext too, to factorize as much code as possible.

12 months agomake SIMIX_context_self() useless and use Context::self() instead
Martin Quinson [Sat, 5 Jan 2019 16:10:34 +0000 (17:10 +0100)]
make SIMIX_context_self() useless and use Context::self() instead

12 months agomove ContextFactory::self() into Context::self() and tidy it up
Martin Quinson [Sat, 5 Jan 2019 14:33:22 +0000 (15:33 +0100)]
move ContextFactory::self() into Context::self() and tidy it up

12 months agoPlease sonar
Martin Quinson [Sat, 5 Jan 2019 02:29:33 +0000 (03:29 +0100)]
Please sonar

- Add 'explicit' where needed
- Don't specify the return type of lambdas
- Verify that this != that before everything in the operator=
- Remove ';' in the comments to not fool the commented code detection mechanism

12 months agoreimplement this test in cpp to use standard threads
Martin Quinson [Sat, 5 Jan 2019 02:18:25 +0000 (03:18 +0100)]
reimplement this test in cpp to use standard threads

12 months agomake this test more robust to cruft that may remain on disk
Martin Quinson [Sat, 5 Jan 2019 02:04:53 +0000 (03:04 +0100)]
make this test more robust to cruft that may remain on disk

12 months agomake xbt_os_thread_self() useless, and kill it
Martin Quinson [Sat, 5 Jan 2019 01:28:55 +0000 (02:28 +0100)]
make xbt_os_thread_self() useless, and kill it

Also remove every parts of xbt_os_thread_t that I managed to make useless

12 months agokill the unused xbt_os_thread_self_name()
Martin Quinson [Sat, 5 Jan 2019 01:21:19 +0000 (02:21 +0100)]
kill the unused xbt_os_thread_self_name()

12 months agokill the now useless xbt_os_thread_{get,set}_extra_data()
Martin Quinson [Sat, 5 Jan 2019 01:11:22 +0000 (02:11 +0100)]
kill the now useless xbt_os_thread_{get,set}_extra_data()

12 months agounify how threaded and parallelisable context factories find context_self
Martin Quinson [Sat, 5 Jan 2019 01:02:31 +0000 (02:02 +0100)]
unify how threaded and parallelisable context factories find context_self

12 months agoInline SIMIX_context_get_current()
Martin Quinson [Sat, 5 Jan 2019 00:20:57 +0000 (01:20 +0100)]
Inline SIMIX_context_get_current()

12 months agoanother small simplification now that threads are usable everywhere
Martin Quinson [Sat, 5 Jan 2019 00:08:40 +0000 (01:08 +0100)]
another small simplification now that threads are usable everywhere

12 months agoFurther code simplifications now that the Thread context backend is always available
Martin Quinson [Fri, 4 Jan 2019 23:45:27 +0000 (00:45 +0100)]
Further code simplifications now that the Thread context backend is always available

12 months agoremove unecessary imports to please sonar
Martin Quinson [Fri, 4 Jan 2019 23:18:36 +0000 (00:18 +0100)]
remove unecessary imports to please sonar

12 months agoFix make distcheck
Martin Quinson [Fri, 4 Jan 2019 23:09:51 +0000 (00:09 +0100)]
Fix make distcheck

12 months agokill xbt_os_sem_t and the required cmake-detection cruft
Martin Quinson [Fri, 4 Jan 2019 23:06:02 +0000 (00:06 +0100)]
kill xbt_os_sem_t and the required cmake-detection cruft

12 months agoIntroduce a portable xbt::OsSemaphore using C++11 threads
Martin Quinson [Fri, 4 Jan 2019 22:50:59 +0000 (23:50 +0100)]
Introduce a portable xbt::OsSemaphore using C++11 threads

12 months agotiny simplification: xbt_os_thread_bind is a noop when not HAVE_PTHREAD_SETAFFINITY
Martin Quinson [Fri, 4 Jan 2019 21:41:00 +0000 (22:41 +0100)]
tiny simplification: xbt_os_thread_bind is a noop when not HAVE_PTHREAD_SETAFFINITY

12 months agotrack some remaining CamelCase deep inside the context code
Martin Quinson [Fri, 4 Jan 2019 21:12:45 +0000 (22:12 +0100)]
track some remaining CamelCase deep inside the context code

12 months agosome useless s/process/actor/ in the source code
Martin Quinson [Fri, 4 Jan 2019 21:05:49 +0000 (22:05 +0100)]
some useless s/process/actor/ in the source code

12 months agosonar: ignore another rule as we don't have real security concerns
Martin Quinson [Fri, 4 Jan 2019 21:03:18 +0000 (22:03 +0100)]
sonar: ignore another rule as we don't have real security concerns

12 months agouse strncpy instead of strcpy to please sonar
Martin Quinson [Fri, 4 Jan 2019 16:43:22 +0000 (17:43 +0100)]
use strncpy instead of strcpy to please sonar

12 months agotravis: don't run the tests before the sonar analysis
Martin Quinson [Fri, 4 Jan 2019 13:51:45 +0000 (14:51 +0100)]
travis: don't run the tests before the sonar analysis

We exeed the 40mn timeframe on travis with those tests.
Too bad, we gonna lose the coverage information...

12 months agopy: try to fix MC builds
Martin Quinson [Fri, 4 Jan 2019 13:43:57 +0000 (14:43 +0100)]
py: try to fix MC builds

12 months agosonar: we do have a process to remove deprecated code
Martin Quinson [Fri, 4 Jan 2019 10:58:35 +0000 (11:58 +0100)]
sonar: we do have a process to remove deprecated code

12 months agotypo in comments
Martin Quinson [Fri, 4 Jan 2019 10:13:42 +0000 (11:13 +0100)]
typo in comments

12 months agocmake: mark some variables as advanced to hide them
Martin Quinson [Fri, 4 Jan 2019 10:12:47 +0000 (11:12 +0100)]
cmake: mark some variables as advanced to hide them

12 months agoMerge branch 'master' of github.com:simgrid/simgrid
Martin Quinson [Thu, 3 Jan 2019 22:23:38 +0000 (23:23 +0100)]
Merge branch 'master' of github.com:simgrid/simgrid

12 months agoyet another example: actor-suspend.py
Martin Quinson [Thu, 3 Jan 2019 22:07:16 +0000 (23:07 +0100)]
yet another example: actor-suspend.py

12 months agogitlab-ci: don't build with sonar, as it does not work
Martin Quinson [Thu, 3 Jan 2019 21:54:27 +0000 (22:54 +0100)]
gitlab-ci: don't build with sonar, as it does not work

12 months agorename an example to stick to the function name
Martin Quinson [Thu, 3 Jan 2019 21:42:58 +0000 (22:42 +0100)]
rename an example to stick to the function name

12 months agopy: another example: actor-join
Martin Quinson [Thu, 3 Jan 2019 21:37:56 +0000 (22:37 +0100)]
py: another example: actor-join

12 months agoPython: many improvements; add a new example (actor-migration)
Martin Quinson [Thu, 3 Jan 2019 20:37:12 +0000 (21:37 +0100)]
Python: many improvements; add a new example (actor-migration)

Also, improve a bit the C++ documentation

12 months agosphinx autodoc needs the package to be built before the doc
Martin Quinson [Thu, 3 Jan 2019 18:27:46 +0000 (19:27 +0100)]
sphinx autodoc needs the package to be built before the doc

12 months agoInstall unzip to get sonar on framagit
Martin Quinson [Thu, 3 Jan 2019 15:37:58 +0000 (16:37 +0100)]
Install unzip to get sonar on framagit

12 months agoInstall curl to get sonar on framagit
Martin Quinson [Thu, 3 Jan 2019 15:36:53 +0000 (16:36 +0100)]
Install curl to get sonar on framagit

12 months agotry to activate sonar on framagit
Martin Quinson [Thu, 3 Jan 2019 15:27:23 +0000 (16:27 +0100)]
try to activate sonar on framagit

12 months agopy: Try to add properties to the Host class
Martin Quinson [Thu, 3 Jan 2019 10:34:53 +0000 (11:34 +0100)]
py: Try to add properties to the Host class

12 months agoDocument recent pyton examples
Martin Quinson [Thu, 3 Jan 2019 10:34:21 +0000 (11:34 +0100)]
Document recent pyton examples

12 months agotravis: more parallelism (extend previous commit).
Arnaud Giersch [Wed, 2 Jan 2019 20:33:07 +0000 (21:33 +0100)]
travis: more parallelism (extend previous commit).

12 months agotypo
Martin Quinson [Wed, 2 Jan 2019 15:38:34 +0000 (16:38 +0100)]
typo

12 months agopy: document the this_actor submodule
Martin Quinson [Wed, 2 Jan 2019 15:20:07 +0000 (16:20 +0100)]
py: document the this_actor submodule

12 months agotravis: increase the build paralelism
Martin Quinson [Wed, 2 Jan 2019 00:51:12 +0000 (01:51 +0100)]
travis: increase the build paralelism

12 months agotravis: pybind11 is not in xenial either
Martin Quinson [Tue, 1 Jan 2019 22:16:20 +0000 (23:16 +0100)]
travis: pybind11 is not in xenial either

12 months agotravis: don't specify the boost version we need, to get the latest
Martin Quinson [Tue, 1 Jan 2019 22:11:40 +0000 (23:11 +0100)]
travis: don't specify the boost version we need, to get the latest

12 months agotravis: try to activate xenial images
Martin Quinson [Tue, 1 Jan 2019 22:02:05 +0000 (23:02 +0100)]
travis: try to activate xenial images

12 months agoRevert "try to hide a bug in tesh"
Martin Quinson [Tue, 1 Jan 2019 21:57:11 +0000 (22:57 +0100)]
Revert "try to hide a bug in tesh"

This reverts commit 2e7d753e6a256c3561db39a22aa5e2a5f502400a.

12 months agoAdd a missing file in the archive
Martin Quinson [Tue, 1 Jan 2019 21:56:56 +0000 (22:56 +0100)]
Add a missing file in the archive

12 months agotry to hide a bug in tesh
Martin Quinson [Tue, 1 Jan 2019 18:59:54 +0000 (19:59 +0100)]
try to hide a bug in tesh

It seems to lose the CWD for some reasons. Here is a log example:

[Tesh/INFO] change directory to /builds/workspace/SimGrid/build_mode/ModelChecker/node/simgrid-ubuntu-xenial-32/build/SimGrid-3.21.90/examples/python/actor-create
[...]
[actor-create.tesh:3] python3 /builds/workspace/SimGrid/build_mode/ModelChecker/node/simgrid-ubuntu-xenial-32/build/SimGrid-3.21.90/examples/python/actor-create/actor-create.py
[...]
+[...]  [xbt/CRITICAL] Unable to open 'actor-create_d.xml' from '/builds/workspace/SimGrid/build_mode/ModelChecker/node/simgrid-ubuntu-xenial-32/build/SimGrid-3.21.90/examples/python'

12 months agouse named parameters instead of overloads for py::execute
Martin Quinson [Tue, 1 Jan 2019 10:57:24 +0000 (11:57 +0100)]
use named parameters instead of overloads for py::execute

12 months agotesh: try harder to not loose the cwd between threads
Martin Quinson [Tue, 1 Jan 2019 10:22:21 +0000 (11:22 +0100)]
tesh: try harder to not loose the cwd between threads

12 months agoxbt::Path: do not ignore the return value of getcwd
Martin Quinson [Mon, 31 Dec 2018 18:22:00 +0000 (19:22 +0100)]
xbt::Path: do not ignore the return value of getcwd

12 months agoimprove an error message when a file cannot be open
Martin Quinson [Mon, 31 Dec 2018 17:38:16 +0000 (18:38 +0100)]
improve an error message when a file cannot be open

12 months agoNew function: xbt::Path() gets the CWD
Martin Quinson [Mon, 31 Dec 2018 17:37:41 +0000 (18:37 +0100)]
New function: xbt::Path() gets the CWD

12 months agopython: reorg to allow 'from simgrid import *' in scripts
Martin Quinson [Mon, 31 Dec 2018 14:59:55 +0000 (15:59 +0100)]
python: reorg to allow 'from simgrid import *' in scripts

12 months ago[travis] Add -j2 here too.
Arnaud Giersch [Mon, 31 Dec 2018 14:40:35 +0000 (15:40 +0100)]
[travis] Add -j2 here too.

12 months ago[travis] Try to improve running time with parallel executions.
Arnaud Giersch [Mon, 31 Dec 2018 14:16:31 +0000 (15:16 +0100)]
[travis] Try to improve running time with parallel executions.

12 months ago[sonar] Remove deprecated properties.
Arnaud Giersch [Mon, 31 Dec 2018 14:11:38 +0000 (15:11 +0100)]
[sonar] Remove deprecated properties.

12 months agodisable python on travis, as Trusty is too old
Martin Quinson [Mon, 31 Dec 2018 01:59:16 +0000 (02:59 +0100)]
disable python on travis, as Trusty is too old

12 months agotrailing spaces
Martin Quinson [Mon, 31 Dec 2018 01:56:39 +0000 (02:56 +0100)]
trailing spaces

12 months agopy: fix out of tree build testing
Martin Quinson [Mon, 31 Dec 2018 01:48:41 +0000 (02:48 +0100)]
py: fix out of tree build testing

12 months agopython: two more examples, the basics are here
Martin Quinson [Mon, 31 Dec 2018 01:31:47 +0000 (02:31 +0100)]
python: two more examples, the basics are here

12 months agopython: rename register_function into register_actor as it takes classes too
Martin Quinson [Mon, 31 Dec 2018 01:28:37 +0000 (02:28 +0100)]
python: rename register_function into register_actor as it takes classes too

12 months agopython: fix register_function when passed a class
Martin Quinson [Mon, 31 Dec 2018 01:26:07 +0000 (02:26 +0100)]
python: fix register_function when passed a class

12 months agopython: extend the bindings
Martin Quinson [Mon, 31 Dec 2018 00:33:57 +0000 (01:33 +0100)]
python: extend the bindings

WORKING:

- Mailbox::put and Mailbox::get
- simgrid.Actor.create("name", Fafard, callable)
  (with callable being either a function or an object implementing __call__(self)
- simgrid.Actor.create("name", Fafard, callable, param1, param2)
  (with callable taking 2 parameters)
- e.register_function("name", fun)
  (with fun being a function taking a tuple parameter)

NOT WORKING
- e.register_function("name", class)
  (with class being a class name implementing __init__(self, *args))

12 months agoemission does not seem to be the correct word here
Martin Quinson [Mon, 31 Dec 2018 00:32:55 +0000 (01:32 +0100)]
emission does not seem to be the correct word here

12 months agopython: improve the documentation
Martin Quinson [Fri, 28 Dec 2018 00:32:10 +0000 (01:32 +0100)]
python: improve the documentation

12 months agocosmetics.
Augustin Degomme [Fri, 28 Dec 2018 17:09:36 +0000 (18:09 +0100)]
cosmetics.

12 months agoupdate description of SImgrid ci job with NS3 and Python
Augustin Degomme [Fri, 28 Dec 2018 11:26:54 +0000 (12:26 +0100)]
update description of SImgrid ci job with NS3 and Python

12 months agocompile simgrid_python with c++14
Martin Quinson [Thu, 27 Dec 2018 20:26:22 +0000 (21:26 +0100)]
compile simgrid_python with c++14

- Was with gnu++14, but icc does not seem to love it.
- Also remove -Wno-attributes now that the problematic templates are gone

12 months agofix out of tree builds
Martin Quinson [Thu, 27 Dec 2018 19:42:38 +0000 (20:42 +0100)]
fix out of tree builds

12 months agoOld pybind11 cannot be used
Martin Quinson [Thu, 27 Dec 2018 19:39:04 +0000 (20:39 +0100)]
Old pybind11 cannot be used

We need PYBIND11_MODULE, that do not seem usable before v2.2.0

12 months agowe cannot use PYBIND11 without PYTHONLIBS
Martin Quinson [Thu, 27 Dec 2018 18:29:03 +0000 (19:29 +0100)]
we cannot use PYBIND11 without PYTHONLIBS

No idea why pybind11 does not do it automatically. Maybe they think
that pybind11 can work (ie generate code) even if that code cannot be
compiled, but that's a bit ... strange.

12 months agokill deprecated templates that don't compile in C++14
Martin Quinson [Thu, 27 Dec 2018 18:10:55 +0000 (19:10 +0100)]
kill deprecated templates that don't compile in C++14

12 months agoDrop sg_cmdline. Please use xbt_cmdline instead (+include reduction)
Martin Quinson [Thu, 27 Dec 2018 10:32:03 +0000 (11:32 +0100)]
Drop sg_cmdline. Please use xbt_cmdline instead (+include reduction)

12 months agoMerge branch 'master' of github.com:simgrid/simgrid
Martin Quinson [Thu, 27 Dec 2018 09:27:51 +0000 (10:27 +0100)]
Merge branch 'master' of github.com:simgrid/simgrid

12 months agoOnly test python bindings if they are enabled
Martin Quinson [Thu, 27 Dec 2018 09:19:34 +0000 (10:19 +0100)]
Only test python bindings if they are enabled

But still include their files in the archive in all cases

12 months agoactually include the python examples in the archive
Martin Quinson [Thu, 27 Dec 2018 09:03:44 +0000 (10:03 +0100)]
actually include the python examples in the archive

12 months agoa host and not an host
Frederic Suter [Thu, 27 Dec 2018 08:46:28 +0000 (09:46 +0100)]
a host and not an host

12 months agofix make dist
Martin Quinson [Thu, 27 Dec 2018 00:39:16 +0000 (01:39 +0100)]
fix make dist

12 months agons3: comment asserts that fail on clusters
Martin Quinson [Thu, 27 Dec 2018 00:32:53 +0000 (01:32 +0100)]
ns3: comment asserts that fail on clusters

12 months agopython: First working example
Martin Quinson [Wed, 26 Dec 2018 23:46:44 +0000 (00:46 +0100)]
python: First working example

12 months agoeven more ignorable cruft
Martin Quinson [Wed, 26 Dec 2018 23:46:18 +0000 (00:46 +0100)]
even more ignorable cruft

12 months agofix make dist
Martin Quinson [Wed, 26 Dec 2018 23:00:15 +0000 (00:00 +0100)]
fix make dist

12 months agopython: add the docstrings
Martin Quinson [Wed, 26 Dec 2018 22:59:05 +0000 (23:59 +0100)]
python: add the docstrings

12 months agoinitial support for pybind11: Python bindings of S4U are underway
Martin Quinson [Wed, 26 Dec 2018 22:25:27 +0000 (23:25 +0100)]
initial support for pybind11: Python bindings of S4U are underway

12 months agoIgnore more stuff
Martin Quinson [Wed, 26 Dec 2018 22:12:23 +0000 (23:12 +0100)]
Ignore more stuff