move the models to the right directory (empty src/surf a bit) The remaining parts of src/surf need to be cleaned before being moved Also, remove almost all #include "surf_interface.hpp"
Further factorization: introduce ModuleGroup::init_from_flag_value()
15 years later, I finally managed to kill host/model:compound
Objectif the disk model
Objectifies the host models
Objectifies the CPU model
Convert the network models to the new plugin-like mechanism
Update copyright lines for 2023.
Kill useless computation.
Completely revise the way to deal with Streamed I/Os Do not implement a new funky HostModel but handle the io_stream call in CLM03. Basic idea (thx alegrand): start from a regular NetworkAction and add some extra constraints if it is an I/O stream. + Pros: easy to implement and inherit of all the complexity of the network part. This would have been too much work and redundancy with a new model. No extra flag, just a new type of I/Os (similar to the Comm::sendto spirit) + Cons: had to cheat a bit to NOT inherit some of the network model (LV08) complexity for the I/O part (bandwidth factor). Still has to find a way to not pay the network latency if the stream starts from a disk. Had to add a little hack to reserve more space in communicate for the extra constraints. This new type of I/O is tested in teshsuite/s4u/io-stream (with the basic CM02 model without crosstraffic to verify if bottlenecks are correctly handled, and then with the default config)
Have the disk model be part of the host models
Concatenate nested namespaces (sonar).
Separate NetworkModel from LinkImpl. Fix memleak in internal loopback link
Minor improv in threads Let the user_bound for bounds given by S4U user (if any). For the requested_cores, the bound is already configured when creating the action at CpuCas01Action. Also, the current implementation for threads use the same mechanism used by VMs, for a N-thread action: - priority/sharing_penalty: 1/N to increase the amount of CPU given to action. - individual bound: speed < N*C: to limit the action speed to the number of cores.
introduce thread_execute
Update copyright lines for 2022.
move surf_presolve, surf_solve, and surf_get_clock to EngineImpl
say bye to simgrid::surf namespace
include cleanups (mostly surf/surf.hpp)
simplify writing in model setup + may fix issue with unit-tests