From: Martin Quinson Date: Thu, 19 May 2016 11:33:21 +0000 (+0200) Subject: documentation shuffeling X-Git-Tag: v3_14~1206 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/b96ca38c1b2f4ac542ae921e3645f78c640765fc documentation shuffeling --- diff --git a/doc/doxygen/application.doc b/doc/doxygen/application.doc index d34891966e..d95ea26f00 100644 --- a/doc/doxygen/application.doc +++ b/doc/doxygen/application.doc @@ -1,5 +1,5 @@ /** -@page app Describing your application +@page application Describing your application TBD diff --git a/doc/doxygen/getting_started.doc b/doc/doxygen/getting_started.doc index 134e446f68..1426d49783 100644 --- a/doc/doxygen/getting_started.doc +++ b/doc/doxygen/getting_started.doc @@ -2,28 +2,35 @@ @tableofcontents -SimGrid is a simulator of distributed computer systems. It can be used -to either assess abstract algorithms, or to profile and debug real -distributed applications. SimGrid enables studies in the domains of -(data-)Grids, Clusters, IaaS Clouds, High Performance Computing, -Volunteer Computing and Peer-to-Peer. - -SimGrid is a feature rich framework, with many options and -possibilities. Hopefully its documentation will help you getting at -full gear. But nothing's perfect, and this documentation is really no -exception here. Please help us improving it by reporting the issues -that you see. +SimGrid is a framework to simulate distributed computer systems. + +It can be used to either assess abstract algorithms, or to profile and +debug real distributed applications. SimGrid enables studies in the +domains of (data-)Grids, Clusters, IaaS Clouds, High Performance +Computing, Volunteer Computing and Peer-to-Peer. + +Technically speaking, SimGrid is a library. It is not a graphical +interface nor a command-line simulator running user scripts. You +interact with SimGrid by writting programs with the exposed functions +to build your own simulator. + +SimGrid have many features, many options and many possibilities. The +documentation aims at smoothing the learning curve. But nothing's +perfect, and this documentation is really no exception here. Please +help us improving it by reporting the issues that you see and +proposing the content that is still missing. SimGrid is a Free Software distributed under the LGPL licence. It means that you are welcome to use it as you wish, or even to modify and distribute your version (as long as your version is as free as ours). It also means that SimGrid is developed by a vivid community of -users and developers. We hope that you will join the community! +users and developers. We hope that you will come and join us! -SimGrid beneficied of many fundings from various research instances, -including: the ANR, Inria, CNRS, University of Lorraine, University of -Hawai'i at Manoa, ENS Rennes and many others. Thanks to our generous -donators! SimGrid would not exist without the research that they funded. +SimGrid is the result of over 15 years of research from several +groups, both in France and in the USA. It benefited of many fundings +from various research instances, including the ANR, Inria, CNRS, +University of Lorraine, University of Hawai'i at Manoa, ENS Rennes and +many others. Many thanks to our generous donators! @section starting_components Typical Study based on SimGrid @@ -71,12 +78,12 @@ The questions that SimGrid can solve include the following: platform for testing purpose. SimGrid also allows co-design of the platform and the application by modifying both of them. - - **Debug Real Applications**. With real platforms, is sometimes + - **Debug Real Applications**. With real systems, is sometimes difficult to reproduce the exact run leading to the bug that you are tracking. SimGrid gives you experimental reproducibility, - clairevoyance (you can explore every part of the system in no - [simulated] time without modifying it). It makes it very easy to - mock some parts of the real system that are not under study. + clairevoyance (you can explore every part of the system, and your + probe will not change the simulated state). It also makes it easy + to mock some parts of the real system that are not under study. @section starting_gears SimGrid Execution Gears @@ -97,7 +104,7 @@ explored. In some sense, this gear tests your application for all possible platforms that you could imagine (and more). You just provide the application and its deployment (amount of -processes and parameters), and the model-checker will literally +processes and parameters), and the model-checker will litterally explore all possible outcomes by testing all possible message interleaving: if at some point a given process can either receive the message A first or the message B depending on the platform @@ -125,6 +132,16 @@ example that the application took 42 steps to run, but there is no way to know the amount of seconds that it took or the amount of watts that it dissipated. +Finally, the model checker only explores the interleavings of +computations and communications. Other factors such as thread +execution interleaving are not considered by the SimGrid model +checker. + +The model checker may well miss existing issues, as it computes the +possible outcomes *from a given initial situation*. There is no way to +prove the correction of your application in all generality with this +tool. + ** **Benchmark Recording Gear**. During debug sessions, continuous integration testing and other similar use cases, you are often only interested in the control flow. If your application apply filters to @@ -140,6 +157,15 @@ the real hosting machine to benchmark it. TBD +- Many publications +- Accurate speedup prediction for the Mont-Blanc cluster +- It already happened that a divergence between the simulated outcome + and the reality resulted from a testbed misconfiguration. In some + sense, we fixed the reality because it was not getting the result + that SimGrid correctly computed :) +- Star-PU, BigDFT, TomP2P use SimGrid to chase their bugs and improve + their efficiency. + @section starting_limits SimGrid Limits This framework is by no means the perfect holly grail able to solve @@ -151,6 +177,10 @@ SimGrid for such studies (or the framework could possibily be extended in this direction), but another framework specifically targeting this usecase would probably be more suited. +** **There is currently no support for IoT studies and wireless networks**. +The framework could certainly be improved in this direction, but this +is still to be done. + ** **There is no perfect model, only models adapted to your study.** The SimGrid models target fast, large studies yet requesting a realistic results. In particular, our models abstract away parameters @@ -172,7 +202,7 @@ with SimGrid**: Now that you know about the basic concepts of SimGrid, you can give it a try. If it's not done yet, first @ref install "install it". Then, -proceed to the section on @ref app "describing the application" that +proceed to the section on @ref application "describing the application" that you want to study. */ \ No newline at end of file diff --git a/doc/doxygen/index.doc b/doc/doxygen/index.doc index 7f6f4fb1f9..b3d247e12b 100644 --- a/doc/doxygen/index.doc +++ b/doc/doxygen/index.doc @@ -12,17 +12,16 @@ - @subpage getting_started - @subpage install - - @ref contact -- @subpage tutorial +- @subpage application - @subpage platform - - @subpage options - @subpage deployment + - @subpage options + - @subpage tutorial - @subpage examples - @subpage advanced - @ref bindings - @ref pls - @ref tracing -- @subpage FAQ - @subpage inside - @ref inside_tests - @ref inside_doxygen @@ -30,6 +29,8 @@ - @ref inside_cmake - @ref inside_release - @subpage contributing + - @ref contact +- @subpage FAQ @htmlonly diff --git a/src/simix/smx_deployment.cpp b/src/simix/smx_deployment.cpp index 7ab2788962..4edcc9d396 100644 --- a/src/simix/smx_deployment.cpp +++ b/src/simix/smx_deployment.cpp @@ -57,7 +57,7 @@ void SIMIX_launch_application(const char *file) } /** - * \brief Registers a #smx_process_code_t code in a global table. + * \brief Registers a #xbt_main_func_t code in a global table. * * Registers a code function in a global table. * This table is then used by #SIMIX_launch_application. @@ -72,15 +72,14 @@ void SIMIX_function_register(const char *name, xbt_main_func_t code) static xbt_main_func_t default_function = NULL; /** - * \brief Registers a #smx_process_code_t code as default value. + * \brief Registers a #xbt_main_func_t code as default value. * * Registers a code function as being the default value. This function will get used by SIMIX_launch_application() when there is no registered function of the requested name in. * \param code the function */ void SIMIX_function_register_default(xbt_main_func_t code) { - xbt_assert(simix_global, - "SIMIX_global_init has to be called before SIMIX_function_register."); + xbt_assert(simix_global, "SIMIX_global_init has to be called before SIMIX_function_register."); default_function = code; } diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index a8e1ea8a2f..e42a2ebf5c 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -139,9 +139,9 @@ public: /** @brief Mark that the action is now finished */ void finish(); - /** @brief Get the [state](\ref e_surf_action_state_t) of the current Action */ + /** @brief Get the [state](\ref simgrid::surf::Action::State) of the current Action */ Action::State getState(); /**< get the state*/ - /** @brief Set the [state](\ref e_surf_action_state_t) of the current Action */ + /** @brief Set the [state](\ref simgrid::surf::Action::State) of the current Action */ virtual void setState(Action::State state); /** @brief Get the bound of the current Action */