From: alegrand Date: Tue, 6 Dec 2005 14:49:35 +0000 (+0000) Subject: make-up X-Git-Tag: v3.3~3497 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/2ec2fb8f0e24bc6201d2b6d5d82aafaf69a004e7 make-up git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1861 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 89bd3c01e4..5876793c1a 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -396,6 +396,7 @@ WARN_LOGFILE = INPUT = @srcdir@/index.doc \ @srcdir@/FAQ.doc \ + @srcdir@/publis.doc \ @srcdir@/index-API.doc \ \ @srcdir@/modules.doc \ diff --git a/doc/FAQ.doc b/doc/FAQ.doc index b792970746..330b22eb1f 100644 --- a/doc/FAQ.doc +++ b/doc/FAQ.doc @@ -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 diff --git a/doc/Makefile.am b/doc/Makefile.am index f89688713a..5ae7c34226 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -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|
  • Main\ Page
  • |
  • Main\ Page
  • FAQ
  • |' $$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|
  • Main\ Page
  • |
  • Main\ Page
  • FAQ
  • |' \ + -e 's|
  • Data\ Structures
  • |
  • Publications
  • |g' \ + -e 's|Modules|Modules API|g' \ + -e 's|
  • Directories
  • ||g' \ + > $$i ; \ + rm $$i.bak ; \ + done endif # for i in `find html -name '*.html'` ; do cp $$i $$i.bak ; sed 's/Modules<\/a> | .*Fields<\/a>/Modules Tree<\/a> /g' $$i.bak > $$i ; rm $$i.bak ; done diff --git a/doc/index.doc b/doc/index.doc index 761e1561e1..5ffe4d9754 100644 --- a/doc/index.doc +++ b/doc/index.doc @@ -6,6 +6,8 @@ \endhtmlonly +\htmlinclude index.toc + \section hot_news HOT NEWS SimGrid 3.0.1 was released on 22st of October 2005. Get it from @@ -164,156 +166,4 @@ authors of SimGrid are:
    -\section publications Selected publications - -When citing SimGrid, the prefered reference paper is Scheduling -Distributed Applications: the SimGrid Simulation Framework, even if it's -a bit old now. We are actively working on improving this. - -\subsection simulation About simulation - -\li Scheduling Distributed Applications: the - SimGrid Simulation Framework\n - by Henri Casanova and Arnaud Legrand and Loris Marchal\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 A Network Model for Simulation of Grid Application\n - by Henri Casanova and Loris Marchal\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 MetaSimGrid : Towards realistic scheduling simulation of - distributed applications\n - by Arnaud Legrand and Julien Lerouge\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 SimGrid: A Toolkit for the Simulation of Application - Scheduling\n - by Henri Casanova\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 A study of meta-scheduling architectures for high throughput - computing: Pull vs. Push\n - by Vincent Garonne, Andrei Tsaregorodtsev, and Eddy Caron \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 Exploiting Replication and Data Reuse to Efficiently Schedule - Data-intensive Applications on Grids\n - by E. Santos-Neto, W. Cirne, F. Brasileiro, A. Lima.\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 Optimal algorithms for scheduling divisible workloads on - heterogeneous systems\n - by Olivier Beaumont and Arnaud Legrand and Yves Robert\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 On-line Parallel Tomography\n - by Shava Smallen\n - Masters Thesis, UCSD, May 2001 -\li Applying Scheduling and Tuning to On-line Parallel Tomography \n - by Shava Smallen, Henri Casanova, Francine Berman\n - in Proceedings of Supercomputing 2001 -\li Heuristics for Scheduling Parameter Sweep applications in - Grid environments\n - by Henri Casanova, Arnaud Legrand, Dmitrii Zagorodnov and - Francine Berman\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 index 0000000000..05cd746f78 --- /dev/null +++ b/doc/publis.doc @@ -0,0 +1,153 @@ +/*! \page publis Publications + +When citing SimGrid, the prefered reference paper is Scheduling +Distributed Applications: the SimGrid Simulation Framework, even if it's +a bit old now. We are actively working on improving this. + +\subsection pub_simulation About simulation + +\li Scheduling Distributed Applications: the + SimGrid Simulation Framework\n + by Henri Casanova and Arnaud Legrand and Loris Marchal\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 A Network Model for Simulation of Grid Application\n + by Henri Casanova and Loris Marchal\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 MetaSimGrid : Towards realistic scheduling simulation of + distributed applications\n + by Arnaud Legrand and Julien Lerouge\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 SimGrid: A Toolkit for the Simulation of Application + Scheduling\n + by Henri Casanova\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 A study of meta-scheduling architectures for high throughput + computing: Pull vs. Push\n + by Vincent Garonne, Andrei Tsaregorodtsev, and Eddy Caron \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 Exploiting Replication and Data Reuse to Efficiently Schedule + Data-intensive Applications on Grids\n + by E. Santos-Neto, W. Cirne, F. Brasileiro, A. Lima.\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 Optimal algorithms for scheduling divisible workloads on + heterogeneous systems\n + by Olivier Beaumont and Arnaud Legrand and Yves Robert\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 On-line Parallel Tomography\n + by Shava Smallen\n + Masters Thesis, UCSD, May 2001 +\li Applying Scheduling and Tuning to On-line Parallel Tomography \n + by Shava Smallen, Henri Casanova, Francine Berman\n + in Proceedings of Supercomputing 2001 +\li Heuristics for Scheduling Parameter Sweep applications in + Grid environments\n + by Henri Casanova, Arnaud Legrand, Dmitrii Zagorodnov and + Francine Berman\n + in Proceedings of the 9th Heterogeneous Computing workshop + (HCW'2000), pp349-363. +*/ \ No newline at end of file