-/*! \page platform %Model the underlying platform
+/*! \page platform Model the underlying platform
@tableofcontents
In order to run any simulation, SimGrid must be provided with three things:
-something to run (i.e., your code), a description of the platform on which you
-want to simulate your application and lastly information about the deployment
-process: Which process should be deployed to which processor/core?
+something to run (i.e., your code), a description of the platform on which you want to simulate your application, and
+information about the deployment of the application: Which process should be executed onto which processor/core?
-For the last two items, there are essentially two possible ways you can provide
+For the last two items, there are essentially three possible ways you can provide
this information as an input:
-\li You can program, if you're using MSG, some of MSG's platform and
- deployment functions (\ref msg_simulation). If you want to use this,
- check the particular documentation. (You can also check the section
- \ref pf_flexml_bypassing, however, this documentation is deprecated;
- there is a new, but undocumented, way to do it properly).
-\li You can use two XML files: one contains the platform description while
- the other contains the deployment instructions. The platform description
- can also be in Lua format.
-
-For more information on SimGrid's deployment features, please refer to
-the \ref deployment documentation.
-
-The platform description may be intricate. This documentation is all
-about how to write this file: The basic concepts are introduced. Furthermore,
-advanced options are explained. Additionally, some hints and tips on how to
-write a good platform description are given.
+\li You can program, if you're using MSG, some of the platform and
+ deployment functions. If you choose to follow this approach, check the dedicated documentation
+ (\ref msg_simulation).
+\li You can use two XML files: one for the platform description and the other for the deployment.
+\li You can program the description of your platform in Lua format.
+
+For more information on SimGrid's deployment features, please refer to the \ref deployment section.
+
+The platform description may be intricate. This documentation is all about how to write this file. First, the basic
+concepts are introduced. Then, advanced options are explained. Finally, some hints and tips on how to write a better
+platform description are given.
\section pf_overview Some words about XML and DTD
-We chose to use XML not only because it's extensible but also because many
-tools (and plugins for existing tools) are available that facilitate editing and
-validating XML files. Furthermore, libraries that parse XML are often already
+We opted for XML not only because it is extensible but also because many tools (and plugins for existing tools) are
+available that facilitate editing and validating XML files. Furthermore, libraries that parse XML are often already
available and very well tested.
-The XML checking is done based on the Document Type Definition (DTD) file,
-available at
-<a href="http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd</a>.
+The XML checking is done based on the [simgrid.dtd](http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd) Document Type
+Definition (DTD) file.
If you read the DTD, you should notice the following:
-\li The platform tags contain a version attribute; the current version is 4.
- This property might be used in the future to provide backwards
- compatibility.
-\li The DTD contains definitions for the two files used by SimGrid (i.e.,
- platform description and deployment).
+\li The platform tag has a version attribute. The current version is <b>4</b>. This attribute might be used in the
+ provide backward compatibility.
+\li The DTD contains definitions for both the platform description and deployment files used by SimGrid.
\section pf_basics Basic concepts
async-waitany cloud-capping cloud-masterworker cloud-migration cloud-multicore cloud-simple cloud-two-tasks
dht-chord dht-pastry exception energy-consumption energy-onoff energy-pstate energy-ptask energy-vm failures
io-file io-remote io-storage task-priority process-kill process-migration process-suspend
- properties set-maestro process-startkilltime synchro trace-categories
+ platform-properties set-maestro process-startkilltime synchro trace-categories
trace-link-srcdst-user-variables trace-link-user-variables trace-masterworker trace-platform
trace-process-migration trace-simple trace-user-variables)
add_executable (${x} ${x}/${x}.c)
foreach(x actions-comm actions-storage app-bittorrent app-chainsend app-masterworker app-pingpong app-token-ring
async-wait async-waitall async-waitany cloud-capping cloud-masterworker cloud-migration cloud-simple
cloud-two-tasks dht-chord dht-kademlia failures io-file io-remote io-storage task-priority
- process-kill process-migration process-suspend properties synchro process-startkilltime)
+ process-kill process-migration process-suspend platform-properties synchro process-startkilltime)
ADD_TESH_FACTORIES(msg-${x} "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/${x} ${x}.tesh)
endforeach()