Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / docs / source / Calibrating_the_models.rst
1 .. raw:: html
2
3    <object id="TOC" data="graphical-toc.svg" type="image/svg+xml"></object>
4    <script>
5    window.onload=function() { // Wait for the SVG to be loaded before changing it
6      var elem=document.querySelector("#TOC").contentDocument.getElementById("PlatformBox")
7      elem.style="opacity:0.93999999;fill:#ff0000;fill-opacity:0.1;stroke:#000000;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1";
8    }
9    </script>
10    <br/>
11    <br/>
12
13 .. _models_calibration:
14
15 Calibrating the models
16 ######################
17
18 The simulation models in SimGrid have been object of thorough validation/invalidation campaigns, but the default values may
19 not be appropriate for simulating a particular system.
20
21 They are configured
22 through parameters from the :ref:`XML platform description file <platform>` and parameters passed via
23 :ref:`--cfg=Item:Value command-line arguments <options>`. A simulator may also include any number of custom model
24 parameters that are used to instantiate particular simulated activities (e.g., a simulator developed with the S4U API
25 typically defines volumes of computation, communication, and time to pass to methods such as :cpp:func:`execute()
26 <simgrid::s4u::this_actor::execute>`, :cpp:func:`put() <simgrid::s4u::Mailbox::put>`, or :cpp:func:`sleep_for()
27 <simgrid::s4u::this_actor::sleep_for>`). Regardless of the potential accuracy of the simulation models, if they are
28 instantiated with unrealistic parameter values, then the simulation will be inaccurate.
29
30 Given the above, an integral and crucial part of simulation-driven research is **simulation calibration**: the process by
31 which one picks simulation parameter values based on observed real-world executions so that simulated executions have high
32 accuracy. We then say that a simulator is "calibrated". Once a simulator is calibrated for a real-world system, it can be
33 used to simulate that system accurately. But it can also be used to simulate different but structurally similar systems
34 (e.g., different scales, different basic hardware characteristics, different application workloads) with high confidence.
35
36 Research conclusions derived from simulation results obtained with an uncalibrated simulator are questionable in terms of
37 their relevance for real-world systems. Unfortunately, because simulation calibration is often a painstaking process, is it
38 often not performed sufficiently thoroughly (or at all!). We strongly urge SimGrid users to perform simulation calibration.
39 Here is an example of a research publication in which the authors have calibrated their (SimGrid) simulators:
40 https://hal.inria.fr/hal-01523608
41
42 .. include:: tuto_network_calibration/network_calibration_tutorial.rst
43
44 .. include:: tuto_disk/analysis.irst