SimGrid
3.14.159
Versatile Simulation of Distributed Systems
|
Functions to declare the kind of models that you want to use.
Functions | |
void | surf_cpu_model_init_Cas01 () |
Initializes the CPU model with the model Cas01. More... | |
void | surf_cpu_model_init_ti () |
Initializes the CPU model with trace integration [Deprecated]. More... | |
void | surf_network_model_init_SMPI () |
Same as network model 'LagrangeVelho', only with different correction factors. More... | |
void | surf_network_model_init_IB () |
Same as network model 'LagrangeVelho', only with different correction factors. More... | |
void | surf_network_model_init_LegrandVelho () |
Initializes the platform with the network model 'LegrandVelho'. More... | |
void | surf_network_model_init_Constant () |
Initializes the platform with the network model 'Constant'. More... | |
void | surf_network_model_init_CM02 () |
Initializes the platform with the network model CM02. More... | |
void | surf_network_model_init_NS3 () |
Initializes the platform with the network model NS3. More... | |
void | surf_network_model_init_Reno () |
Initializes the platform with the network model Reno. More... | |
void | surf_network_model_init_Reno2 () |
Initializes the platform with the network model Reno2. More... | |
void | surf_network_model_init_Vegas () |
Initializes the platform with the network model Vegas. More... | |
void | surf_storage_model_init_default () |
The storage model. More... | |
void | surf_host_model_init_compound () |
Initializes the platform with a compound host model. More... | |
void | surf_host_model_init_current_default () |
Initializes the platform with the current best network and cpu models at hand. More... | |
void | surf_host_model_init_ptask_L07 () |
Initializes the platform with the model L07. More... | |
void | surf_vm_model_init_HL13 () |
Initializes the platform with the current best network and cpu models at hand. More... | |
void surf_cpu_model_init_Cas01 | ( | ) |
Initializes the CPU model with the model Cas01.
By default, this model uses the lazy optimization mechanism that relies on partial invalidation in LMM and a heap for lazy action update. You can change this behavior by setting the cpu/optim configuration variable to a different value.
You shouldn't have to call it by yourself.
void surf_cpu_model_init_ti | ( | ) |
Initializes the CPU model with trace integration [Deprecated].
You shouldn't have to call it by yourself.
void surf_network_model_init_SMPI | ( | ) |
Same as network model 'LagrangeVelho', only with different correction factors.
This model is proposed by Pierre-Nicolas Clauss and Martin Quinson and Stéphane Génaud based on the model 'LV08' and different correction factors depending on the communication size (< 1KiB, < 64KiB, >= 64KiB). See comments in the code for more information.
void surf_network_model_init_IB | ( | ) |
Same as network model 'LagrangeVelho', only with different correction factors.
This model impelments a variant of the contention model on Infinband networks based on the works of Jérôme Vienne : http://mescal.imag.fr/membres/jean-marc.vincent/index.html/PhD/Vienne.pdf
void surf_network_model_init_LegrandVelho | ( | ) |
Initializes the platform with the network model 'LegrandVelho'.
This model is proposed by Arnaud Legrand and Pedro Velho based on the results obtained with the GTNets simulator for onelink and dogbone sharing scenarios. See comments in the code for more information.
void surf_network_model_init_Constant | ( | ) |
Initializes the platform with the network model 'Constant'.
In this model, the communication time between two network cards is constant, hence no need for a routing table. This is particularly useful when simulating huge distributed algorithms where scalability is really an issue. This function is called in conjunction with surf_host_model_init_compound.
void surf_network_model_init_CM02 | ( | ) |
Initializes the platform with the network model CM02.
You sould call this function by yourself only if you plan using surf_host_model_init_compound. See comments in the code for more information.
void surf_network_model_init_NS3 | ( | ) |
Initializes the platform with the network model NS3.
This function is called by surf_host_model_init_NS3 or by yourself only if you plan using surf_host_model_init_compound
void surf_network_model_init_Reno | ( | ) |
Initializes the platform with the network model Reno.
The problem is related to max( sum( arctan(C * Df * xi) ) ).
Reference: [LOW03] S. H. Low. A duality model of TCP and queue management algorithms. IEEE/ACM Transaction on Networking, 11(4):525-536, 2003.
Call this function only if you plan using surf_host_model_init_compound.
void surf_network_model_init_Reno2 | ( | ) |
Initializes the platform with the network model Reno2.
The problem is related to max( sum( arctan(C * Df * xi) ) ).
Reference: [LOW01] S. H. Low. A duality model of TCP and queue management algorithms. IEEE/ACM Transaction on Networking, 11(4):525-536, 2003.
Call this function only if you plan using surf_host_model_init_compound.
void surf_network_model_init_Vegas | ( | ) |
Initializes the platform with the network model Vegas.
This problem is related to max( sum( a * Df * ln(xi) ) ) which is equivalent to the proportional fairness.
Reference: [LOW03] S. H. Low. A duality model of TCP and queue management algorithms. IEEE/ACM Transaction on Networking, 11(4):525-536, 2003.
Call this function only if you plan using surf_host_model_init_compound.
void surf_storage_model_init_default | ( | ) |
The storage model.
void surf_host_model_init_compound | ( | ) |
Initializes the platform with a compound host model.
This function should be called after a cpu_model and a network_model have been set up.
void surf_host_model_init_current_default | ( | ) |
Initializes the platform with the current best network and cpu models at hand.
This platform model separates the host model and the network model. The host model will be initialized with the model compound, the network model with the model LV08 (with cross traffic support) and the CPU model with the model Cas01. Such model is subject to modification with warning in the ChangeLog so monitor it!
void surf_host_model_init_ptask_L07 | ( | ) |
Initializes the platform with the model L07.
With this model, only parallel tasks can be used. Resource sharing is done by identifying bottlenecks and giving an equal share of the model to each action.
void surf_vm_model_init_HL13 | ( | ) |
Initializes the platform with the current best network and cpu models at hand.
This platform model seperates the host model and the network model. The host model will be initialized with the model compound, the network model with the model LV08 (with cross traffic support) and the CPU model with the model Cas01. Such model is subject to modification with warning in the ChangeLog so monitor it!
surf_cpu_model_t surf_cpu_model_pm |
The CPU model object for the physical machine layer.
surf_cpu_model_t surf_cpu_model_vm |
The CPU model object for the virtual machine layer.
s_surf_model_description_t surf_optimization_mode_description[] |
The list of all available optimization modes (both for cpu and networks).
These optimization modes can be set using –cfg=cpu/optim:... and –cfg=network/optim:...
s_surf_model_description_t surf_cpu_model_description[] |
The list of all available cpu model models.
surf_network_model_t surf_network_model |
The network model.
When creating a new API on top on SURF, you shouldn't use the network model unless you know what you are doing. Only the host model should be accessed because depending on the platform model, the network model can be NULL.
s_surf_model_description_t surf_network_model_description[] |
The list of all available network model models.
s_surf_model_description_t surf_storage_model_description[] |
The list of all available storage modes.
This storage mode can be set using –cfg=storage/model:...
surf_host_model_t surf_host_model |
The host model.
Note that when you create an API on top of SURF, the host model should be the only one you use because depending on the platform model, the network model and the CPU model may not exist.
s_surf_model_description_t surf_host_model_description[] |
The list of all available host model models.
std::vector<surf_model_t>* all_existing_models |
List of initialized models.