-Another orthogonal crux of the SimGrid design is the parsimonious
-versatility in modeling. For that, we tend to unify all resource and
-activity kinds. As you have seen, we parallel the classical notion of
-**computational power** with the more original **communication power** and
-**I/O power**. Asynchronous executions are less common than the
-asynchronous communications that proliferate in MPI but they are still
-provided for sake of symmetry: they even prove useful to efficiently
-simulate thread pools. Note that asynchronous mutex locking is still to be
-added to SimGrid atm. The notion of **pstate** was introduced to model
-the stepwise variation of computational speed depending on the DVFS,
-and was reused to model the bootup and shutdown phases of a CPU: the
-computational speed is 0 at these specific pstates. This pstate notion
-was extended to represent the fact that the bandwidth provided by a
-wifi link to a given station depends on its signal-noise ratio (SNR).
-
-Further on this line, all provided resource models are very comparable
-internally. They :ref:`rely on linear inequation systems <models-lmm>`, stating for
-example that the sum of the computational power received by all
-computation activities located on a given CPU cannot overpass the
-computational power provided by this resource. This extends nicely to
-multi-resources activities such as communications using several links,
-and also to the so-called parallel tasks (abstract activities
-representing a parallel execution kernel consuming both the
-communication and computational power of a set of machines). Specific
-coefficients are added to the linear system to reflect how the real
-resources are shared between concurrent usages. The resulting system
-is then solved using a max-min objective function that maximizes the
-minimum of all shares allocated to activities. Our experience shows
-that this approach can successfully be used for fast yet accurate
-simulations of complex phenomena, provided that the model's
-coefficients and constants are carefully tailored and instantiated to
-that phenomenon.
+Another main design goal of SimGrid is parsimonious versatility in
+modeling, that is, aiming to simulate very different things using the same
+simulation abstractions. To achieve this goal, the SimGrid implementation
+tends to unify all resource kinds and activity kinds. For instance, the
+classical notion of **computational power** is mirrored for
+**communication power** and **I/O power**. Asynchronous executions are less
+common than the asynchronous communications that proliferate in MPI but
+they are still provided for sake of symmetry: they even prove useful to
+simulate thread pools efficiently. SimGrid also provides asynchronous mutex
+locks for symmetry. The notion of **pstate** was introduced to model the
+step-wise variation of computational speed depending on the DVFS, and was
+reused to model the bootup and shutdown phases of a CPU: the computational
+speed is 0 at these specific pstates. This pstate notion was extended to
+represent the fact that the bandwidth provided by a wifi link to a given
+station depends on its signal-noise ratio (SNR). In summary, simulation
+abstractions are re-used and/or generalized as much as possible to serve a
+wide range of purposes.
+
+Furthermore, all provided resource models are very similar internally. They
+:ref:`rely on linear inequation systems <models-lmm>`, stating for example
+that the sum of the computational power received by all computation
+activities located on a given CPU cannot exceed the computational power
+provided by this CPU. This extends nicely to multi-resources activities
+such as communications that use several links, and also to parallel tasks
+(abstract activities representing a parallel execution kernel that consumes
+both the communication and computational power of a set of machines) or
+fluid I/O streams (abstract activities representing a data stream from disk
+to disk through the network). Specific coefficients are added to the linear
+system to mimic how the resources behavior in the real world. The resulting
+system is then solved using a max-min objective function that maximizes the
+minimum of all shares allocated to activities. Our experience shows that
+this approach can successfully be used for fast yet accurate simulations of
+complex phenomena, provided that the model's coefficients and constants are
+carefully :ref:`calibrated <models_calibration>`, i.e. tailored and
+instantiated to that phenomenon.