Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Sanitize the API of this_actor::parallel_execute()
authorMartin Quinson <martin.quinson@loria.fr>
Wed, 17 Oct 2018 16:11:12 +0000 (18:11 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Wed, 17 Oct 2018 16:11:12 +0000 (18:11 +0200)
commit4f2d08b0ae4625d32890dc4613e1d842ad0f7b77
tree3ef5bb17313917e988595e64d13a7d3bed20abdc
parent8bc9c439c4a1c367ba66c4d6490c9be7349bd430
Sanitize the API of this_actor::parallel_execute()

- Use std::vector instead of C arrays (old API remains but is not
  documented -- it should be properly deprecated)
- The flop_amounts and comm_amounts arrays are not automatically freed
  by the internal functions, and should be properly cleaned by their
  creator.
  - EXCEPTION: in ptask model, sequential exec and regular comms don't
    have a real caller, so the internal function still has to free
    these arrays... Sick Sad World.
  - The proper solution would be to have the only copy of these arrays
    in the Action instead of having it in s4u.
  - But for now, Actions start as soon as created. So if you want to
    init them without starting, you have to have the data in s4u and
    only create the implementation side when you start the stuff.
  - That should obviously be fixed :) First step in that direction
    would be to have the constructor of each action NOT register the
    action in the LMM, but have an Action::start() in charge of this.
    For each subclass of Action.
examples/s4u/exec-ptask/s4u-exec-ptask.cpp
include/simgrid/s4u/Actor.hpp
src/s4u/s4u_Actor.cpp
src/simix/libsmx.cpp
src/simix/smx_host.cpp
src/surf/HostImpl.cpp
src/surf/ptask_L07.cpp
src/surf/ptask_L07.hpp