Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
7 years agoMerge pull request #124 from mpoquet/master
Martin Quinson [Thu, 1 Dec 2016 19:45:56 +0000 (20:45 +0100)]
Merge pull request #124 from mpoquet/master

[Energy platform parsing] assert + memory leak

7 years agoMerge branch 'master' of https://github.com/mpoquet/simgrid
Millian Poquet [Wed, 30 Nov 2016 13:08:01 +0000 (14:08 +0100)]
Merge branch 'master' of https://github.com/mpoquet/simgrid

7 years agoEnergy: Fixed host parsing assertion + mem leak
Millian Poquet [Wed, 30 Nov 2016 12:58:18 +0000 (13:58 +0100)]
Energy: Fixed host parsing assertion + mem leak

When parsing the platform file with energy,
using the old watt description syntax
"watt_min:watt_max" instead of
"watt_idle:watt_min:watt_max" led to obscure
OOB error, the error message should now be
clearer.

Also found a little memory leak,
msg_idle was not freed.

7 years agofix lua build
Martin Quinson [Wed, 23 Nov 2016 21:20:25 +0000 (22:20 +0100)]
fix lua build

7 years agomove VM into their namespace, and greatly reduce the amount of sg_host_get_name ...
Martin Quinson [Tue, 22 Nov 2016 23:24:20 +0000 (00:24 +0100)]
move VM into their namespace, and greatly reduce the amount of sg_host_get_name (prefer C++)

7 years agoinline yet another function in the VM
Martin Quinson [Tue, 22 Nov 2016 18:00:05 +0000 (19:00 +0100)]
inline yet another function in the VM

7 years agovm: kill some useless static functions
Martin Quinson [Tue, 22 Nov 2016 14:43:06 +0000 (15:43 +0100)]
vm: kill some useless static functions

7 years agoinline 4 more VM simcalls
Martin Quinson [Tue, 22 Nov 2016 11:09:23 +0000 (12:09 +0100)]
inline 4 more VM simcalls

I had to add some methods to s4u::VM, such as getRamsize()

7 years agoVM: improve error messages, and prefer C++ over MSG
Martin Quinson [Tue, 22 Nov 2016 10:44:32 +0000 (11:44 +0100)]
VM: improve error messages, and prefer C++ over MSG

7 years agoVM: keep inlining dummy functions
Martin Quinson [Tue, 22 Nov 2016 10:37:01 +0000 (11:37 +0100)]
VM: keep inlining dummy functions

I could merge my commits, but these changes are really hard to review
so don't make it more complex than needed

7 years agoVM: inline a function
Martin Quinson [Tue, 22 Nov 2016 10:30:20 +0000 (11:30 +0100)]
VM: inline a function

7 years agoVM: code simplification. Much more needed :(
Martin Quinson [Tue, 22 Nov 2016 10:15:04 +0000 (11:15 +0100)]
VM: code simplification. Much more needed :(

7 years agogive s4u::Host a cname() that returns a char*
Martin Quinson [Tue, 22 Nov 2016 09:54:09 +0000 (10:54 +0100)]
give s4u::Host a cname() that returns a char*

7 years agokill commented code, anonymous blocs and reindent. No real change
Martin Quinson [Tue, 22 Nov 2016 09:43:39 +0000 (10:43 +0100)]
kill commented code, anonymous blocs and reindent. No real change

7 years agoVM: getters should not be simcalls
Martin Quinson [Tue, 22 Nov 2016 09:37:07 +0000 (10:37 +0100)]
VM: getters should not be simcalls

Removing a simcall changes a bit the output, but that's ok

7 years agoThe VirtualMachineImpl is stored in VirtualMachine->pimpl_vm_, not in Host->pimpl_
Martin Quinson [Mon, 21 Nov 2016 07:33:38 +0000 (08:33 +0100)]
The VirtualMachineImpl is stored in VirtualMachine->pimpl_vm_, not in Host->pimpl_

7 years agostore the VMs by their interface, not by their implementation
Martin Quinson [Mon, 21 Nov 2016 07:22:08 +0000 (08:22 +0100)]
store the VMs by their interface, not by their implementation

7 years agodon't let the impl mess up with the fields of the interface
Martin Quinson [Mon, 21 Nov 2016 07:05:08 +0000 (08:05 +0100)]
don't let the impl mess up with the fields of the interface

7 years agoinline all VM tracing functions
Martin Quinson [Mon, 21 Nov 2016 01:34:54 +0000 (02:34 +0100)]
inline all VM tracing functions

7 years agocode simplification in the VM tracing code
Martin Quinson [Mon, 21 Nov 2016 01:21:05 +0000 (02:21 +0100)]
code simplification in the VM tracing code

7 years agothe VM constructor does not take any storage as parameter anyway
Martin Quinson [Mon, 21 Nov 2016 01:11:24 +0000 (02:11 +0100)]
the VM constructor does not take any storage as parameter anyway

7 years agothe implementation should not mess with the fields of the interface
Martin Quinson [Mon, 21 Nov 2016 01:09:45 +0000 (02:09 +0100)]
the implementation should not mess with the fields of the interface

7 years agoVM: move things from MSG to the C++ plugin
Martin Quinson [Mon, 21 Nov 2016 00:55:16 +0000 (01:55 +0100)]
VM: move things from MSG to the C++ plugin

7 years agocode simplification in the VM creation + inline a function
Martin Quinson [Mon, 21 Nov 2016 00:20:06 +0000 (01:20 +0100)]
code simplification in the VM creation + inline a function

7 years agoinline another VM function, and kill another one, unused
Martin Quinson [Sun, 20 Nov 2016 19:12:50 +0000 (20:12 +0100)]
inline another VM function, and kill another one, unused

7 years agohow many functions will I inline in the VMs????
Martin Quinson [Sun, 20 Nov 2016 18:42:50 +0000 (19:42 +0100)]
how many functions will I inline in the VMs????

7 years agoKill a VM-related function out of HostImpl
Martin Quinson [Sun, 20 Nov 2016 18:35:50 +0000 (19:35 +0100)]
Kill a VM-related function out of HostImpl

7 years ago(hopefully) fix the memory issues in the VMs
Martin Quinson [Sun, 20 Nov 2016 18:18:49 +0000 (19:18 +0100)]
(hopefully) fix the memory issues in the VMs

- Create and populate an host extension, used by the VM plugin to
  check the total amount of memory of that host and whether this host
  allows overcommiting VM above this value.
- This is a great step toward the pluginization of the VMs
- Unfortunately, there is no way to change these values for an host
  yet :-|

7 years agodon't use deprecated functions, and don't hide the corresponding warnings
Martin Quinson [Sun, 20 Nov 2016 18:13:19 +0000 (19:13 +0100)]
don't use deprecated functions, and don't hide the corresponding warnings

7 years agoavoid using C exceptions as valgrind don't like them too much
Martin Quinson [Sun, 20 Nov 2016 17:27:46 +0000 (18:27 +0100)]
avoid using C exceptions as valgrind don't like them too much

7 years agomore VM functions inlining (plus, getters don't need to be a simcall)
Martin Quinson [Sun, 20 Nov 2016 17:21:06 +0000 (18:21 +0100)]
more VM functions inlining (plus, getters don't need to be a simcall)

7 years agoinline 2 more VM functions, and kill a simcall
Martin Quinson [Sun, 20 Nov 2016 16:59:16 +0000 (17:59 +0100)]
inline 2 more VM functions, and kill a simcall

7 years agoinline a bunch of VM functions
Martin Quinson [Sat, 19 Nov 2016 21:54:47 +0000 (22:54 +0100)]
inline a bunch of VM functions

7 years agomore verbose checks
Martin Quinson [Fri, 18 Nov 2016 21:56:29 +0000 (22:56 +0100)]
more verbose checks

7 years agocosmetics
Martin Quinson [Fri, 18 Nov 2016 21:56:09 +0000 (22:56 +0100)]
cosmetics

7 years agotest to suspend an exec too
Martin Quinson [Fri, 18 Nov 2016 21:49:44 +0000 (22:49 +0100)]
test to suspend an exec too

7 years agofix copy/paste errors (found by sonar as dupplicated blocks ;)
Martin Quinson [Thu, 17 Nov 2016 22:18:17 +0000 (23:18 +0100)]
fix copy/paste errors (found by sonar as dupplicated blocks ;)

7 years agofinalize the traces in SD_exit also
Martin Quinson [Thu, 17 Nov 2016 10:59:43 +0000 (11:59 +0100)]
finalize the traces in SD_exit also

Thanks to Alexey Nazarenko for the bug report and the fix.

7 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Thu, 17 Nov 2016 10:41:46 +0000 (11:41 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

7 years agokill useless simcall handlers
Martin Quinson [Thu, 17 Nov 2016 10:34:35 +0000 (11:34 +0100)]
kill useless simcall handlers

7 years agono need to know who's resuming an actor
Martin Quinson [Thu, 17 Nov 2016 10:23:26 +0000 (11:23 +0100)]
no need to know who's resuming an actor

7 years agokill 2 dumb functions in simix_vm
Martin Quinson [Thu, 17 Nov 2016 10:02:37 +0000 (11:02 +0100)]
kill 2 dumb functions in simix_vm

7 years agokill a bunch of brain-dead functions in surf
Martin Quinson [Thu, 17 Nov 2016 09:50:55 +0000 (10:50 +0100)]
kill a bunch of brain-dead functions in surf

7 years agoinline a stupid function
Martin Quinson [Thu, 17 Nov 2016 09:38:30 +0000 (10:38 +0100)]
inline a stupid function

7 years agodon't store the VM implem where the host stores its implem
Martin Quinson [Thu, 17 Nov 2016 09:34:54 +0000 (10:34 +0100)]
don't store the VM implem where the host stores its implem

7 years agoinline a stupid function
Martin Quinson [Thu, 17 Nov 2016 09:25:43 +0000 (10:25 +0100)]
inline a stupid function

7 years agomove an enum to the right location
Martin Quinson [Thu, 17 Nov 2016 09:19:26 +0000 (10:19 +0100)]
move an enum to the right location

7 years agonote for next time: try to not forget half of the commit when pushing.
degomme [Thu, 17 Nov 2016 05:46:57 +0000 (22:46 -0700)]
note for next time: try to not forget half of the commit when pushing.

7 years agoReplace deque by boost:circular_buffer_space_optimized for memory reasons.
degomme [Thu, 17 Nov 2016 05:05:48 +0000 (22:05 -0700)]
Replace deque by boost:circular_buffer_space_optimized for memory reasons.
Deques are pre-allocated to a specific size and use ~1KB of memory, even when empty.
As we need 2 deques per mailbox, this was quite a lot in the end.

7 years agofix dist
degomme [Wed, 16 Nov 2016 23:53:03 +0000 (16:53 -0700)]
fix dist

7 years agokill two more useless functions in VM
Martin Quinson [Wed, 16 Nov 2016 22:44:21 +0000 (23:44 +0100)]
kill two more useless functions in VM

7 years agokill 2 unused fields in MSG_Global o_O
Martin Quinson [Wed, 16 Nov 2016 22:36:21 +0000 (23:36 +0100)]
kill 2 unused fields in MSG_Global o_O

7 years agoremove unused functions in the VMs
Martin Quinson [Wed, 16 Nov 2016 22:32:35 +0000 (23:32 +0100)]
remove unused functions in the VMs

7 years agomove virtual machines to the directory src/plugins/vm
Martin Quinson [Wed, 16 Nov 2016 22:19:35 +0000 (23:19 +0100)]
move virtual machines to the directory src/plugins/vm

7 years agomove the VM-related data out of MSG's private data for hosts
Martin Quinson [Wed, 16 Nov 2016 21:49:18 +0000 (22:49 +0100)]
move the VM-related data out of MSG's private data for hosts

This is the beginning of turning the VMs into a separate plugin. I'm
sure that reconcentrating all VM code into a few files will greatly
simplify it.

This change is really messy because I did not want to be too intrusive
in msg_vm.c and had to expose much much of the VM internals for that.
It will be improved in the future (it cannot get any worse).

This reveals a little bug where the dirtyPages things of a VM that
runs on a host which turns down are not properly cleaned up. There is
nothing I can do right now as I don't have a onHostOff event or
something, so I simply spit a warning in this case. For now.

7 years agorename AsImpl::getRouteRecursive to AsImpl::getGlobalRoute (+doc improvment)
Martin Quinson [Wed, 16 Nov 2016 07:46:51 +0000 (08:46 +0100)]
rename AsImpl::getRouteRecursive to AsImpl::getGlobalRoute (+doc improvment)

7 years agorename As::getRouteAndLatency into As::getLocalRoute
Martin Quinson [Wed, 16 Nov 2016 07:28:21 +0000 (08:28 +0100)]
rename As::getRouteAndLatency into As::getLocalRoute

+ many small cleanups

7 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Wed, 16 Nov 2016 01:40:51 +0000 (02:40 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

7 years agovarious small cosmetics in the routing
Martin Quinson [Wed, 16 Nov 2016 01:28:45 +0000 (02:28 +0100)]
various small cosmetics in the routing

7 years agoreduce the visibility of some functions
Martin Quinson [Wed, 16 Nov 2016 01:12:36 +0000 (02:12 +0100)]
reduce the visibility of some functions

7 years agoreduce the visibility of one field
Martin Quinson [Wed, 16 Nov 2016 01:01:35 +0000 (02:01 +0100)]
reduce the visibility of one field

7 years agooops, add the previously documented option to the list.
degomme [Wed, 16 Nov 2016 00:55:39 +0000 (17:55 -0700)]
oops, add the previously documented option to the list.

7 years agoremove another now useless function from RoutingPlat
Martin Quinson [Wed, 16 Nov 2016 00:54:20 +0000 (01:54 +0100)]
remove another now useless function from RoutingPlat

7 years agoI switched to NS 3.26 locally
Martin Quinson [Wed, 16 Nov 2016 00:53:21 +0000 (01:53 +0100)]
I switched to NS 3.26 locally

7 years agoadd missing include (only for osx?)
degomme [Wed, 16 Nov 2016 00:50:00 +0000 (17:50 -0700)]
add missing include (only for osx?)

7 years agothat was useless.
degomme [Wed, 16 Nov 2016 00:42:16 +0000 (17:42 -0700)]
that was useless.

7 years agocode simplification: write the recursivity properly
Martin Quinson [Wed, 16 Nov 2016 00:40:07 +0000 (01:40 +0100)]
code simplification: write the recursivity properly

7 years agoDon't allocate 5KB per host created when it's not needed.
degomme [Wed, 16 Nov 2016 00:26:23 +0000 (17:26 -0700)]
Don't allocate 5KB per host created when it's not needed.
These were for VM and files only, which are optional. Instead they are now allocated when needed.

7 years agodocument new option
degomme [Wed, 16 Nov 2016 00:24:54 +0000 (17:24 -0700)]
document new option

7 years agounXBTize a bit
Martin Quinson [Wed, 16 Nov 2016 00:19:55 +0000 (01:19 +0100)]
unXBTize a bit

7 years agocosmetics
Martin Quinson [Tue, 15 Nov 2016 23:38:36 +0000 (00:38 +0100)]
cosmetics

7 years agolet's do standard C++ here
Martin Quinson [Tue, 15 Nov 2016 23:16:23 +0000 (00:16 +0100)]
let's do standard C++ here

7 years agocosmetics
Martin Quinson [Tue, 15 Nov 2016 23:05:48 +0000 (00:05 +0100)]
cosmetics

7 years agoreduce the amount of dynars created by getOneLinkRoutes()
Martin Quinson [Tue, 15 Nov 2016 23:02:38 +0000 (00:02 +0100)]
reduce the amount of dynars created by getOneLinkRoutes()

7 years agoless void*
Martin Quinson [Tue, 15 Nov 2016 22:54:10 +0000 (23:54 +0100)]
less void*

7 years agokill a now useless function
Martin Quinson [Tue, 15 Nov 2016 22:41:10 +0000 (23:41 +0100)]
kill a now useless function

7 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Tue, 15 Nov 2016 22:35:26 +0000 (23:35 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

7 years agoempty RoutingPlatf: move the loopback link to the network_model(s)
Martin Quinson [Tue, 15 Nov 2016 22:35:16 +0000 (23:35 +0100)]
empty RoutingPlatf: move the loopback link to the network_model(s)

7 years agoAdd a smpi/grow-injected-times option.
degomme [Mon, 14 Nov 2016 23:04:53 +0000 (16:04 -0700)]
Add a smpi/grow-injected-times option.
This is to allow triggering off the default behavior of injected timings growth in MPI_Iprobe and MPI_Test.
This behavior allows to simulate faster and avoid looping too much over these calls. But it could also hurt precision of the simulation.

7 years agosome more tiny optims for the smpirun generation
degomme [Mon, 14 Nov 2016 03:18:23 +0000 (20:18 -0700)]
some more tiny optims for the smpirun generation

7 years agoAdd a hint about a non trivial error.
degomme [Sun, 13 Nov 2016 22:35:54 +0000 (15:35 -0700)]
Add a hint about a non trivial error.
mmap reports no memory left, while the error is actually the number of allowed mappings per process.

7 years agocosmetics
Arnaud Legrand [Mon, 22 Aug 2016 22:54:48 +0000 (00:54 +0200)]
cosmetics

7 years agoget rid of most of the awfully slow cut commands in smpirun.
degomme [Sun, 13 Nov 2016 19:11:19 +0000 (12:11 -0700)]
get rid of most of the awfully slow cut commands in smpirun.

Those for smpi_replay are still here, though, as the set solution only works one list at a time.
Let's hope this works everywhere.

7 years agoless strdup/free
Martin Quinson [Sun, 13 Nov 2016 15:18:20 +0000 (16:18 +0100)]
less strdup/free

7 years agoalso take future releases of NS3
Martin Quinson [Sun, 13 Nov 2016 15:13:40 +0000 (16:13 +0100)]
also take future releases of NS3

7 years agoreindent, no change
Martin Quinson [Sun, 13 Nov 2016 14:27:50 +0000 (15:27 +0100)]
reindent, no change

7 years agothe property holder does not take a dict in its constructor
Martin Quinson [Sun, 13 Nov 2016 11:17:46 +0000 (12:17 +0100)]
the property holder does not take a dict in its constructor

7 years agodon't give the properties to the Link constructor either
Martin Quinson [Sun, 13 Nov 2016 10:54:57 +0000 (11:54 +0100)]
don't give the properties to the Link constructor either

7 years agodon't pass property set to the storage constructor, there is no need
Martin Quinson [Sun, 13 Nov 2016 10:42:28 +0000 (11:42 +0100)]
don't pass property set to the storage constructor, there is no need

7 years agoMove some content out of HostImpl (into VirtualMachineImpl)
Martin Quinson [Sat, 12 Nov 2016 20:28:02 +0000 (21:28 +0100)]
Move some content out of HostImpl (into VirtualMachineImpl)

7 years agothe AS can now create hosts.
Martin Quinson [Sat, 12 Nov 2016 18:15:31 +0000 (19:15 +0100)]
the AS can now create hosts.

7 years agouseless cosmetics around the host creation
Martin Quinson [Sat, 12 Nov 2016 18:09:16 +0000 (19:09 +0100)]
useless cosmetics around the host creation

7 years agodocument my last changes
Martin Quinson [Sat, 12 Nov 2016 17:51:45 +0000 (18:51 +0100)]
document my last changes

7 years agocode simplification: we don't use non-LMM resources
Martin Quinson [Sat, 12 Nov 2016 00:50:17 +0000 (01:50 +0100)]
code simplification: we don't use non-LMM resources

there was a specific constructor for non-LMM resources that was not
given the lmm constraint, which leaded to many dupplicated code.

But actually, this is not needed: NetworkConstant does not create a
link resource anyway, and NS3 can easily pass nullptr to the
constructor of its ancestor.

7 years agoless useless new and explicit mallocs
Martin Quinson [Sat, 12 Nov 2016 00:28:31 +0000 (01:28 +0100)]
less useless new and explicit mallocs

7 years agoNew function: MSG_parallel_task_execute_with_timeout
Martin Quinson [Fri, 11 Nov 2016 23:15:16 +0000 (00:15 +0100)]
New function: MSG_parallel_task_execute_with_timeout

This is the fist time that executions can finish with a timeout, and
I'm not really proud of the resulting code. Sorry, that's just a quick
(fix #115) while I was fixing the platform generation.

At some point the whole activity thingy should be reworked, too.

7 years agoMake a proper extension out of the Vivaldi coordinates
Martin Quinson [Tue, 8 Nov 2016 14:38:58 +0000 (15:38 +0100)]
Make a proper extension out of the Vivaldi coordinates

7 years agosmall cleanups in Java advised by eclipse
Martin Quinson [Tue, 8 Nov 2016 14:35:23 +0000 (15:35 +0100)]
small cleanups in Java advised by eclipse

7 years agonormalize a bit the inst callbacks
Martin Quinson [Mon, 7 Nov 2016 21:38:58 +0000 (22:38 +0100)]
normalize a bit the inst callbacks

7 years agoSpell check, again O:-)
Martin Quinson [Sun, 6 Nov 2016 22:27:28 +0000 (23:27 +0100)]
Spell check, again O:-)