-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. SimGrid also provides asynchronous mutex locks for symmetry. 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) 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 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 :ref:`calibrated <models_calibration>`, i.e. 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.