Allow for multiple network models
Inria Forge bug #18536: https://gforge.inria.fr/tracker/index.php?func=detail&aid=18536&group_id=12&atid=165
From: Samuel Thibault
Date: 04/02/2015 13:36
In the StarPU-MPI/SimGrid case, we'd need to be running two network models: a standard network model for the MPI network, and a PCI-like network model (TCP_gamma=-1, latency_factor=1, bandwidth_factor=1) for the intra-node CPU-GPU communications. For simplicity, we can say that the two models do not interact, i.e. no communication task will involve both MPI network and PCI transfers, i.e. we'll neglect the effect of the RAM-NIC transfer on the PCI bus.
This is not blocking us, but will most probably be needed to get proper simulation of StarPU-MPI.
From: Martin Quinson
Date: 16/10/2019 08:15
See also https://gforge.inria.fr/tracker/index.php?func=detail&aid=17382&group_id=12&atid=165 that is a dupplicate.
Title: [#17382] Allow users to declare some options private to an AS
From: Augustin Degomme
Date: 07/05/2014 17:34
Some options are meant to be global in SimGrid (networking ones for instance). but in some case, we want to make "hybrid" simulations, maybe with different network models or some changes in some parts of the platform (for example if we want to separate intra/inter node capabilities and behaviors)
It would be useful in those cases to have some networking options private to the current AS. We already discussed the use of prop, and I think the DTD already allows the definition of properties in some tags.
But lots of these global parameters are stored in global variables. Replacing the use of these variables by calls to functions to find the current value of the parameter, and use it if a non global one was set may be a good idea
This would help cleaning up and unifying the way we use options, also, and remove some global variables, at the cost of a slight performance loss maybe.
A given example would be the use of
<prop id='network/TCP_gamma' value='-1'></prop>
<prop id='network/latency_factor' value='1'></prop>
<prop id='network/bandwidth_factor' value='1'></prop>
in a part (some AS) of the platform, and other values elsewhere.