Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make-up
authoralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 6 Dec 2005 14:49:35 +0000 (14:49 +0000)
committeralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 6 Dec 2005 14:49:35 +0000 (14:49 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1861 48e7efb5-ca39-0410-a469-dd3cf9ba447f

doc/Doxyfile.in
doc/FAQ.doc
doc/Makefile.am
doc/index.doc
doc/publis.doc [new file with mode: 0644]

index 89bd3c0..5876793 100644 (file)
@@ -396,6 +396,7 @@ WARN_LOGFILE           =
 
 INPUT                  = @srcdir@/index.doc \
                          @srcdir@/FAQ.doc \
+                         @srcdir@/publis.doc \
                          @srcdir@/index-API.doc \
                         \
                          @srcdir@/modules.doc \
index b792970..330b22e 100644 (file)
@@ -471,6 +471,52 @@ keep using the 2.18.5 versions until somebody has ported SG on top of SURF.
 Note however that SURF will be slower than the old SG to handle traces with
 a lots of variations (there is no trace integration anymore).
 
+\subsection faq_SG_future Is there a chance for SG to come back one day in the maintained branch?
+
+Sure. In fact, we already have thought about a new and cleaner API:
+\verbatim
+void*       SG_link_get_data(SG_link_t link);
+void        SG_link_set_data(SG_link_t link, void *data);
+const char* SG_link_get_name(SG_link_t link);
+double      SG_link_get_capacity(SG_link_t link);
+double      SG_link_get_current_bandwidth(SG_link_t link);
+double      SG_link_get_current_latency(SG_link_t link);
+
+SG_workstation_t  SG_workstation_get_by_name(const char *name);
+SG_workstation_t* SG_workstation_get_list(void);
+int               SG_workstation_get_number(void);
+void              SG_workstation_set_data(SG_workstation_t workstation, void *data);
+void *            SG_workstation_get_data(SG_workstation_t workstation);
+const char*       SG_workstation_get_name(SG_workstation_t workstation);
+SG_link_t*        SG_workstation_route_get_list(SG_workstation_t src, SG_workstation_t dst);
+int               SG_workstation_route_get_size(SG_workstation_t src, SG_workstation_t dst);
+double            SG_workstation_get_power(SG_workstation_t workstation);
+double            SG_workstation_get_available_power(SG_workstation_t workstation);
+
+SG_task_t         SG_task_create(const char *name, void *data, double amount);
+int               SG_task_schedule(SG_task_t task, int workstation_nb,
+                                    SG_workstation_t **workstation_list, double *computation_amount,
+                                    double *communication_amount, double rate);
+
+void*             SG_task_get_data(SG_task_t task);
+void              SG_task_set_data(SG_task_t task, void *data);
+const char*       SG_task_get_name(SG_task_t task);
+double            SG_task_get_amount(SG_task_t task);
+double            SG_task_get_remaining_amount(SG_task_t task);
+void              SG_task_dependency_add(const char *name, void *data, SG_task_t src, SG_task_t dst);
+void              SG_task_dependency_remove(SG_task_t src, SG_task_t dst); 
+e_SG_task_state_t SG_task_state_get(SG_task_t task); /* e_SG_task_state_t can be either SG_SCHEDULED, SG_RUNNING, SG_DONE, or SG_FAILED */
+void              SG_task_watch(SG_task_t task, e_SG_task_state_t state); /* SG_simulate will stop as soon as the state of this task is the one given in argument. Watch-poin
+t is then automatically removed */
+void              SG_task_unwatch(SG_task_t task, e_SG_task_state_t state);
+
+void              SG_task_unschedule(SG_task_t task); /* change state and rerun.. */
+
+SG_task_t        *SG_simulate(double how_long); /* returns a NULL-terminated array of SG_task_t whose state has changed */
+\endverbatim
+
+We're just looking for somebody to implement it... :)
+
 \section faq_dynamic Dynamic resources and platform building
 
 \subsection faq_platform Building a realistic platform
index f896887..5ae7c34 100644 (file)
@@ -2,7 +2,7 @@ DOCSOURCES = $(shell find @top_srcdir@/tools/gras  @top_srcdir@/src @top_srcdir@
  $(shell find @srcdir@ -name "*.doc")
 
 EXTRA_DIST = html Doxyfile \
- modules.doc FAQ.doc index.doc footer.html simgrid_logo.png simgrid_modules.png
+ modules.doc FAQ.doc index.doc publis.doc footer.html simgrid_logo.png simgrid_modules.png
 
 DISTCLEANFILES = index-API.doc simgrid.tag
 MAINTAINERCLEANFILES = html
@@ -22,10 +22,20 @@ html: $(DOCSOURCES) Doxyfile logcategories.doc simgrid_modules.map simgrid_modul
        doxygen Doxyfile >/dev/null
        ../tools/doxygen/index_create.pl simgrid.tag index-API.doc
        ../tools/doxygen/toc_create.pl FAQ.doc FAQ.toc
+       ../tools/doxygen/toc_create.pl index.doc index.toc
        doxygen Doxyfile >/dev/null
        cp @srcdir@/simgrid_logo.png @srcdir@/simgrid_modules.png html/
        cp @srcdir@/Paje_MSG_screenshot_thn.jpg @srcdir@/Paje_MSG_screenshot.jpg html/
-       for i in `find html -name '*.html'` ; do cp $$i $$i.bak ; sed 's|<li><a href="index.html"><span>Main\&nbsp;Page</span></a></li>|<li><a href="index.html"><span>Main\&nbsp;Page</span></a></li>       <li><a href="faq.html"><span>FAQ</span></a></li>|' $$i.bak > $$i ; rm $$i.bak ; done
+       for i in `find html -name '*.html'` ; do \
+            cp $$i $$i.bak ; \
+            cat $$i.bak |  \
+               sed -e 's|<li><a href="index.html"><span>Main\&nbsp;Page</span></a></li>|<li><a href="index.html"><span>Main\&nbsp;Page</span></a></li>       <li><a href="faq.html"><span>FAQ</span></a></li>|' \
+                   -e 's|<li><a href="annotated.html"><span>Data\&nbsp;Structures</span></a></li>|<li><a href="publis.html"><span>Publications</span></a></li>|g' \
+                   -e 's|<span>Modules</span>|<span>Modules API</span>|g' \
+                   -e 's|<li><a href="dirs.html"><span>Directories</span></a></li>||g' \
+            > $$i ; \
+            rm $$i.bak ; \
+        done
 endif
 #      for i in `find html -name '*.html'` ; do cp $$i $$i.bak ; sed 's/Modules<\/a> | <a class="qindex" href="annotated.html">.*Fields<\/a>/Modules Tree<\/a> /g' $$i.bak > $$i ; rm $$i.bak ; done
 
index 761e156..5ffe4d9 100644 (file)
@@ -6,6 +6,8 @@
 \endhtmlonly
 </center>
 
+\htmlinclude index.toc
+
 \section hot_news HOT NEWS
 
 <b>SimGrid 3.0.1 was released on 22st of October 2005. Get it from
@@ -164,156 +166,4 @@ authors of SimGrid are:
 
 <hr>
 
-\section publications Selected publications
-
-When citing SimGrid, the prefered reference paper is <i>Scheduling
-Distributed Applications: the SimGrid Simulation Framework</i>, even if it's
-a bit old now. We are actively working on improving this.
-
-\subsection simulation About simulation
-
-\li <b>Scheduling Distributed Applications: the
-       SimGrid Simulation Framework</b>\n
-    by <em>Henri Casanova and Arnaud Legrand and Loris Marchal</em>\n
-    Proceedings of the third IEEE International Symposium
-    on Cluster Computing and the Grid (CCGrid'03)\n
-    Since the advent of distributed computer systems an active field
-    of research has been the investigation of scheduling strategies
-    for parallel applications.  The common approach is to employ
-    scheduling heuristics that approximate an optimal
-    schedule. Unfortunately, it is often impossible to obtain
-    analytical results to compare the efficacy of these heuristics.
-    One possibility is to conducts large numbers of back-to-back
-    experiments on real platforms.  While this is possible on
-    tightly-coupled platforms, it is infeasible on modern distributed
-    platforms (i.e. Grids) as it is labor-intensive and does not
-    enable repeatable results. The solution is to resort to
-    simulations. Simulations not only enables repeatable results but
-    also make it possible to explore wide ranges of platform and
-    application scenarios.\n
-    In this paper we present the SimGrid framework which enables the
-    simulation of distributed applications in distributed computing
-    environments for the specific purpose of developing and evaluating
-    scheduling algorithms.  This paper focuses on SimGrid v2, which
-    greatly improves on the first version of the software with more
-    realistic network models and topologies.  SimGrid v2 also enables
-    the simulation of distributed scheduling agents, which has become
-    critical for current scheduling research in large-scale platforms.
-    After describing and validating these features, we present a case
-    study by which we demonstrate the usefulness of SimGrid for
-    conducting scheduling research.
-
-
-\li <b>A Network Model for Simulation of Grid Application</b>\n
-    by <em>Henri Casanova and Loris Marchal</em>\n
-    \anchor paper_tcp
-    In this work we investigate network models that can be
-    potentially employed in the simulation of scheduling algorithms for
-    distributed computing applications. We seek to develop a model of TCP
-    communication which is both high-level and realistic. Previous research
-    works show that accurate and global modeling of wide-area networks, such
-    as the Internet, faces a number of challenging issues. However, some
-    global models of fairness and bandwidth-sharing exist, and can be link
-    withthe behavior of TCP. Using both previous results and simulation (with
-    NS), we attempt to understand the macroscopic behavior of
-    TCP communications. We then propose a global model of the network for the
-    Grid platform. We perform partial validation of this model in
-    simulation. The model leads to an algorithm for computing
-    bandwidth-sharing. This algorithm can then be implemented as part of Grid
-    application simulations. We provide such an implementation for the
-    SimGrid simulation toolkit.\n
-    ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-40.ps.gz
-
-
-\li <b>MetaSimGrid : Towards realistic scheduling simulation of
-        distributed applications</b>\n
-    by <em>Arnaud Legrand and Julien Lerouge</em>\n
-    Most scheduling problems are already hard on homogeneous
-    platforms, they become quite intractable in an heterogeneous
-    framework such as a metacomputing grid. In the best cases, a
-    guaranteed heuristic can be found, but most of the time, it is
-    not possible. Real experiments or simulations are often
-    involved to test or to compare heuristics. However, on a
-    distributed heterogeneous platform, such experiments are
-    technically difficult to drive, because of the genuine
-    instability of the platform. It is almost impossible to
-    guarantee that a platform which is not dedicated to the
-    experiment, will remain exactly the same between two tests,
-    thereby forbidding any meaningful comparison. Simulations are
-    then used to replace real experiments, so as to ensure the
-    reproducibility of measured data. A key issue is the
-    possibility to run the simulations against a realistic
-    environment. The main idea of trace-based simulation is to
-    record the platform parameters today, and to simulate the
-    algorithms tomorrow, against the recorded data: even though it
-    is not the current load of the platform, it is realistic,
-    because it represents a fair summary of what happened
-    previously. A good example of a trace-based simulation tool is
-    SimGrid, a toolkit providing a set of core abstractions and
-    functionalities that can be used to easily build simulators for
-    specific application domains and/or computing environment
-    topologies. Nevertheless, SimGrid lacks a number of convenient
-    features to craft simulations of a distributed application
-    where scheduling decisions are not taken by a single
-    process. Furthermore, modeling a complex platform by hand is
-    fastidious for a few hosts and is almost impossible for a real
-    grid. This report is a survey on simulation for scheduling
-    evaluation purposes and present MetaSimGrid, a simulator built
-    on top of SimGrid.\n
-    ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-28.ps.gz
-
-\li <b>SimGrid: A Toolkit for the Simulation of Application
-        Scheduling</b>\n
-    by <em>Henri Casanova</em>\n
-    Advances in hardware and software technologies have made it
-    possible to deploy parallel applications over increasingly large
-    sets of distributed resources. Consequently, the study of
-    scheduling algorithms for such applications has been an active area
-    of research. Given the nature of most scheduling problems one must
-    resort to simulation to effectively evaluate and compare their
-    efficacy over a wide range of scenarios. It has thus become
-    necessary to simulate those algorithms for increasingly complex
-    distributed, dynamic, heterogeneous environments. In this paper we
-    present SimGrid, a simulation toolkit for the study of scheduling
-    algorithms for distributed application. This paper gives the main
-    concepts and models behind SimGrid, describes its API and
-    highlights current implementation issues. We also give some
-    experimental results and describe work that builds on SimGrid's
-    functionalities.\n
-    http://grail.sdsc.edu/papers/simgrid_ccgrid01.ps.gz
-
-\subsection research Papers using SimGrid results
-
-\li <b> A study of meta-scheduling architectures for high throughput
-        computing: Pull vs. Push</b>\n
-    by <em> Vincent Garonne, Andrei Tsaregorodtsev, and Eddy Caron </em>\n
-    Proceedings of 4th Internationnal Symposium on Parallel and
-    Distributed Computing Job Scheduling Strategies for Parallel
-    Processing (ISPDC'05), July 2005.\n
-    Preliminary version in http://marwww.in2p3.fr/~garonne/garonne-meta.pdf
-
-\li <b>Exploiting Replication and Data Reuse to Efficiently Schedule
-       Data-intensive Applications on Grids</b>\n
-    by <em> E. Santos-Neto, W. Cirne, F. Brasileiro, A. Lima.</em>\n
-    Proceedings of 10th Job Scheduling Strategies for Parallel Processing, June 2004.\n
-    http://www.lsd.ufcg.edu.br/~elizeu/articles/jsspp.v6.pdf
-
-\li <b>Optimal algorithms for scheduling divisible workloads on 
-       heterogeneous systems</b>\n
-    by <em>Olivier Beaumont and Arnaud Legrand and Yves Robert</em>\n
-    in Proceedings of the 17th International Parallel and Distributed Processing Symposium (IPDPS'03).\n
-    Preliminary version on ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-36.ps.gz
-
-\li <b>On-line Parallel Tomography</b>\n
-    by <em>Shava Smallen</em>\n
-    Masters Thesis, UCSD, May 2001
-\li <b>Applying Scheduling and Tuning to On-line Parallel Tomography </b>\n
-     by <em>Shava Smallen, Henri Casanova, Francine Berman</em>\n
-     in Proceedings of Supercomputing 2001
-\li <b>Heuristics for Scheduling Parameter Sweep applications in
-         Grid environments</b>\n
-    by <em>Henri Casanova, Arnaud Legrand, Dmitrii Zagorodnov and 
-            Francine Berman</em>\n
-    in Proceedings of the 9th Heterogeneous Computing workshop 
-    (HCW'2000), pp349-363.
 */
diff --git a/doc/publis.doc b/doc/publis.doc
new file mode 100644 (file)
index 0000000..05cd746
--- /dev/null
@@ -0,0 +1,153 @@
+/*! \page publis Publications
+
+When citing SimGrid, the prefered reference paper is <i>Scheduling
+Distributed Applications: the SimGrid Simulation Framework</i>, even if it's
+a bit old now. We are actively working on improving this.
+
+\subsection pub_simulation About simulation
+
+\li <b>Scheduling Distributed Applications: the
+       SimGrid Simulation Framework</b>\n
+    by <em>Henri Casanova and Arnaud Legrand and Loris Marchal</em>\n
+    Proceedings of the third IEEE International Symposium
+    on Cluster Computing and the Grid (CCGrid'03)\n
+    Since the advent of distributed computer systems an active field
+    of research has been the investigation of scheduling strategies
+    for parallel applications.  The common approach is to employ
+    scheduling heuristics that approximate an optimal
+    schedule. Unfortunately, it is often impossible to obtain
+    analytical results to compare the efficacy of these heuristics.
+    One possibility is to conducts large numbers of back-to-back
+    experiments on real platforms.  While this is possible on
+    tightly-coupled platforms, it is infeasible on modern distributed
+    platforms (i.e. Grids) as it is labor-intensive and does not
+    enable repeatable results. The solution is to resort to
+    simulations. Simulations not only enables repeatable results but
+    also make it possible to explore wide ranges of platform and
+    application scenarios.\n
+    In this paper we present the SimGrid framework which enables the
+    simulation of distributed applications in distributed computing
+    environments for the specific purpose of developing and evaluating
+    scheduling algorithms.  This paper focuses on SimGrid v2, which
+    greatly improves on the first version of the software with more
+    realistic network models and topologies.  SimGrid v2 also enables
+    the simulation of distributed scheduling agents, which has become
+    critical for current scheduling research in large-scale platforms.
+    After describing and validating these features, we present a case
+    study by which we demonstrate the usefulness of SimGrid for
+    conducting scheduling research.
+
+
+\li <b>A Network Model for Simulation of Grid Application</b>\n
+    by <em>Henri Casanova and Loris Marchal</em>\n
+    \anchor paper_tcp
+    In this work we investigate network models that can be
+    potentially employed in the simulation of scheduling algorithms for
+    distributed computing applications. We seek to develop a model of TCP
+    communication which is both high-level and realistic. Previous research
+    works show that accurate and global modeling of wide-area networks, such
+    as the Internet, faces a number of challenging issues. However, some
+    global models of fairness and bandwidth-sharing exist, and can be link
+    withthe behavior of TCP. Using both previous results and simulation (with
+    NS), we attempt to understand the macroscopic behavior of
+    TCP communications. We then propose a global model of the network for the
+    Grid platform. We perform partial validation of this model in
+    simulation. The model leads to an algorithm for computing
+    bandwidth-sharing. This algorithm can then be implemented as part of Grid
+    application simulations. We provide such an implementation for the
+    SimGrid simulation toolkit.\n
+    ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-40.ps.gz
+
+
+\li <b>MetaSimGrid : Towards realistic scheduling simulation of
+        distributed applications</b>\n
+    by <em>Arnaud Legrand and Julien Lerouge</em>\n
+    Most scheduling problems are already hard on homogeneous
+    platforms, they become quite intractable in an heterogeneous
+    framework such as a metacomputing grid. In the best cases, a
+    guaranteed heuristic can be found, but most of the time, it is
+    not possible. Real experiments or simulations are often
+    involved to test or to compare heuristics. However, on a
+    distributed heterogeneous platform, such experiments are
+    technically difficult to drive, because of the genuine
+    instability of the platform. It is almost impossible to
+    guarantee that a platform which is not dedicated to the
+    experiment, will remain exactly the same between two tests,
+    thereby forbidding any meaningful comparison. Simulations are
+    then used to replace real experiments, so as to ensure the
+    reproducibility of measured data. A key issue is the
+    possibility to run the simulations against a realistic
+    environment. The main idea of trace-based simulation is to
+    record the platform parameters today, and to simulate the
+    algorithms tomorrow, against the recorded data: even though it
+    is not the current load of the platform, it is realistic,
+    because it represents a fair summary of what happened
+    previously. A good example of a trace-based simulation tool is
+    SimGrid, a toolkit providing a set of core abstractions and
+    functionalities that can be used to easily build simulators for
+    specific application domains and/or computing environment
+    topologies. Nevertheless, SimGrid lacks a number of convenient
+    features to craft simulations of a distributed application
+    where scheduling decisions are not taken by a single
+    process. Furthermore, modeling a complex platform by hand is
+    fastidious for a few hosts and is almost impossible for a real
+    grid. This report is a survey on simulation for scheduling
+    evaluation purposes and present MetaSimGrid, a simulator built
+    on top of SimGrid.\n
+    ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-28.ps.gz
+
+\li <b>SimGrid: A Toolkit for the Simulation of Application
+        Scheduling</b>\n
+    by <em>Henri Casanova</em>\n
+    Advances in hardware and software technologies have made it
+    possible to deploy parallel applications over increasingly large
+    sets of distributed resources. Consequently, the study of
+    scheduling algorithms for such applications has been an active area
+    of research. Given the nature of most scheduling problems one must
+    resort to simulation to effectively evaluate and compare their
+    efficacy over a wide range of scenarios. It has thus become
+    necessary to simulate those algorithms for increasingly complex
+    distributed, dynamic, heterogeneous environments. In this paper we
+    present SimGrid, a simulation toolkit for the study of scheduling
+    algorithms for distributed application. This paper gives the main
+    concepts and models behind SimGrid, describes its API and
+    highlights current implementation issues. We also give some
+    experimental results and describe work that builds on SimGrid's
+    functionalities.\n
+    http://grail.sdsc.edu/papers/simgrid_ccgrid01.ps.gz
+
+\subsection pub_research Papers using SimGrid results
+
+\li <b> A study of meta-scheduling architectures for high throughput
+        computing: Pull vs. Push</b>\n
+    by <em> Vincent Garonne, Andrei Tsaregorodtsev, and Eddy Caron </em>\n
+    Proceedings of 4th Internationnal Symposium on Parallel and
+    Distributed Computing Job Scheduling Strategies for Parallel
+    Processing (ISPDC'05), July 2005.\n
+    Preliminary version in http://marwww.in2p3.fr/~garonne/garonne-meta.pdf
+
+\li <b>Exploiting Replication and Data Reuse to Efficiently Schedule
+       Data-intensive Applications on Grids</b>\n
+    by <em> E. Santos-Neto, W. Cirne, F. Brasileiro, A. Lima.</em>\n
+    Proceedings of 10th Job Scheduling Strategies for Parallel Processing, June 2004.\n
+    http://www.lsd.ufcg.edu.br/~elizeu/articles/jsspp.v6.pdf
+
+\li <b>Optimal algorithms for scheduling divisible workloads on 
+       heterogeneous systems</b>\n
+    by <em>Olivier Beaumont and Arnaud Legrand and Yves Robert</em>\n
+    in Proceedings of the 17th International Parallel and Distributed Processing Symposium (IPDPS'03).\n
+    Preliminary version on ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-36.ps.gz
+
+\li <b>On-line Parallel Tomography</b>\n
+    by <em>Shava Smallen</em>\n
+    Masters Thesis, UCSD, May 2001
+\li <b>Applying Scheduling and Tuning to On-line Parallel Tomography </b>\n
+     by <em>Shava Smallen, Henri Casanova, Francine Berman</em>\n
+     in Proceedings of Supercomputing 2001
+\li <b>Heuristics for Scheduling Parameter Sweep applications in
+         Grid environments</b>\n
+    by <em>Henri Casanova, Arnaud Legrand, Dmitrii Zagorodnov and 
+            Francine Berman</em>\n
+    in Proceedings of the 9th Heterogeneous Computing workshop 
+    (HCW'2000), pp349-363.
+*/
\ No newline at end of file