X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/gpc2011.git/blobdiff_plain/9d2bedb765159fa0135d334f703c85fb2384a859..57be57e49ce2eee18399dfa373e4aea6ad73ce61:/gpc2011.tex

diff --git a/gpc2011.tex b/gpc2011.tex
index eaf7101..83a04b4 100644
--- a/gpc2011.tex
+++ b/gpc2011.tex
@@ -46,21 +46,21 @@
 \title{Gridification of a Radiotherapy Dose Computation Application with the XtremWeb-CH Environment}
 
 
-\author{Nabil Abdennhader\inst{1} \and Mohamed Ben Belgacem{1} \and RaphaÃ«l Couturier\inst{2} \and
+\author{Nabil Abdennhader\inst{1} \and Mohamed Ben Belgacem\inst{1} \and RaphaÃ«l Couturier\inst{2} \and
   David Laiymani\inst{2} \and SÃ©bastien  MiquÃ©e\inst{2} \and Marko Niinimaki\inst{1} \and Marc Sauget\inst{2}}
 
 \institute{
 University of Applied Sciences Western Switzerland, hepia Geneva,
 Switzerland \\
-\email{nabil.abdennadher@hesge.ch, mohamed.benbelgacem@unige.ch, markopekka.niinimaeki@hesge.ch}
+\email{nabil.abdennadher@hesge.ch,mohamed.benbelgacem@unige.ch,markopekka.niinimaeki@hesge.ch}
 \and
 Laboratoire d'Informatique de l'universit\'{e}
   de Franche-Comt\'{e} \\
   IUT Belfort-MontbÃ©liard, Rue Engel Gros, 90016 Belfort - France \\
-\email{raphael.couturier, david.laiymani, sebastien.miquee@univ-fcomte.fr}
+\email{\{raphael.couturier,david.laiymani,sebastien.miquee\}@univ-fcomte.fr}
 \and
  FEMTO-ST, ENISYS/IRMA, F-25210 Montb\'{e}liard , FRANCE\\
-\email{marc.sauget@femtost.fr}
+\email{marc.sauget@femto-st.fr}
 }
 
 
@@ -70,11 +70,12 @@ Laboratoire d'Informatique de l'universit\'{e}
   This paper presents the design and the evaluation of the
   gridification of a radiotherapy dose computation application. Due to
   the inherent characteristics of the application and its execution,
-  we choose the architectural context of global (or volunteer) computing.
-  For this, we used the XtremWeb-CH environement. Experiments were
-  conducted on a real global computing testbed and show good speed-ups
-  and very acceptable platform overhead letting XtremWeb-CH a good candidate
-for deploying parallel applications over a global computing environment. 
+  we choose the architectural context of global (or volunteer)
+  computing.  For this, we used the XtremWeb-CH
+  environment. Experiments were conducted on a real global computing
+  testbed and show good speed-ups and very acceptable platform
+  overhead letting XtremWeb-CH be a good candidate for deploying
+  parallel applications over a global computing environment.
 \end{abstract}
 
 
@@ -94,14 +95,14 @@ techniques, using analytic methods, models and databases, are rapid
 but lack precision. Enhanced precision can be achieved by using
 calculation codes based, for example, on Monte Carlo methods. The main
 drawback of these methods is their computation times which can be
-rapidly be huge. In [] the authors proposed a novel approach, called
+rapidly huge. In \cite{} the authors proposed a novel approach, called
 Neurad, using neural networks. This approach is based on the
 collaboration of computation codes and multi-layer neural networks
 used as universal approximators. It provides a fast and accurate
 evaluation of radiation doses in any given environment for given
 irradiation parameters. As the learning step is often very time
-consuming, in \cite{bcvsv08:ip} the authors proposed a parallel
-algorithm that enable to decompose the learning domain into
+consuming, in \cite{} the authors proposed a parallel
+algorithm that enables to decompose the learning domain into
 subdomains. The decomposition has the advantage to significantly
 reduce the complexity of the target functions to approximate.
 
@@ -113,15 +114,15 @@ approach. Here, the computing power is obtained by aggregating unused
 (or volunteer) public resources connected to the Internet. For our
 case, we can imagine for example, that a part of the architecture will
 be composed of some of the different computers of the hospital. This
-approach present the advantage to be clearly cheaper than a more
+approach presents the advantage to be clearly cheaper than a more
 dedicated approach like the use of supercomputers or clusters.
 
 The aim of this paper is to propose and evaluate a gridification of
 the Neurad application (more precisely, of the most time consuming
 part, the learning step) using a Global Computing approach. For this,
-we focus on the XtremWeb-CH environment []. We choose this environment
+we focus on the XtremWeb-CH environment\cite{}. We choose this environment
 because it tackles the centralized aspect of other global computing
-environments such as XtremWeb [] or Seti []. It tends to a
+environments such as XtremWeb\cite{} or Seti\cite{}. It tends to a
 peer-to-peer approach by distributing some components of the
 architecture. For instance, the computing nodes are allowed to
 directly communicate. Experiments were conducted on a real Global
@@ -130,7 +131,7 @@ interesting speed-up and show that the overhead induced by the use of
 XtremWeb-CH is very acceptable.
 
 The paper is organized as follows. In Section 2 we present the Neurad
-application and particularly it most time consuming part i.e. the
+application and particularly its most time consuming part, i.e. the
 learning step. Section 3 details the XtremWeb-CH environment and
 Section 4 exposes the gridification of the Neurad
 application. Experimental results are presented in Section 5 and we
@@ -148,26 +149,26 @@ end in Section 6 by some concluding remarks and perspectives.
 The \emph{Neurad}~\cite{Neurad} project presented in this paper takes
 place in a multi-disciplinary project, involving medical physicists
 and computer scientists whose goal is to enhance the treatment
-planning of cancerous tumors by external radiotherapy. In our
-previous works~\cite{RADIO09,ICANN10,NIMB2008}, we have proposed an
-original approach to solve scientific problems whose accurate modeling
-and/or analytical description are difficult. That method is based on
-the collaboration of computational codes and neural networks used as
+planning of cancerous tumors by external radiotherapy. In our previous
+works~\cite{RADIO09,ICANN10,NIMB2008}, we have proposed an original
+approach to solve scientific problems whose accurate modeling and/or
+analytical description are difficult. That method is based on the
+collaboration of computational codes and neural networks used as
 universal interpolator. Thanks to that method, the \emph{Neurad}
 software provides a fast and accurate evaluation of radiation doses in
 any given environment (possibly inhomogeneous) for given irradiation
 parameters. We have shown in a previous work (\cite{AES2009}) the
 interest to use a distributed algorithm for the neural network
-learning. We use a classical RPROP algorithm with a HPU topology to do
-the training of our neural network.
+learning. We use a classical RPROP (DEFINITION)algorithm with a HPU
+topology to do the training of our neural network.
 
 Figure~\ref{f_neurad} presents the {\it{Neurad}} scheme. Three parts
 are clearly independent: the initial data production, the learning
 process and the dose deposit evaluation. The first step, the data
-production, is outside the {\it{Neurad}} project. They are many
+production, is outside of the {\it{Neurad}} project. They are many
 solutions to obtain data about the radiotherapy treatments like the
 measure or the simulation. The only essential criterion is that the
-result must be obtain in a homogeneous environment. 
+result must be obtained in an homogeneous environment. 
 
 % We have chosen to
 % use only a Monte Carlo simulation because this kind of tool is the
@@ -187,30 +188,30 @@ result must be obtain in a homogeneous environment.
 % \end{figure}
 
 The secondary stage of the {\it{Neurad}} project is the learning step
-and this is the most time consuming step. This step is off-line but it
-is important to reduce the time used for the learning process to keep
-a workable tool. Indeed, if the learning time is too huge (for the
-moment, this time could reach one week for a limited domain), this
-process should not be launched at any time, but only when a major
-modification occurs in the environment, like a change of context for
-instance. However, it is interesting to update the knowledge of the
-neural network, by using the learning process, when the domain evolves
-(evolution in material used for the prosthesis or evolution on the
-beam (size, shape or energy)). The learning time is related to the
-volume of data who could be very important in a real medical context.
-A work has been done to reduce this learning time with the
-parallelization of the learning process by using a partitioning method
-of the global dataset. The goal of this method is to train many neural
-networks on sub-domains of the global dataset. After this training,
-the use of these neural networks all together allows to obtain a
-response for the global domain of study.
+and this is the most time consuming step. This step is performed
+off-line but it is important to reduce the time used for the learning
+process to keep a workable tool. Indeed, if the learning time is too
+huge (for the moment, this time could reach one week for a limited
+domain), this process should not be launched at any time, but only
+when a major modification occurs in the environment, like a change of
+context for instance. However, it is interesting to update the
+knowledge of the neural network, by using the learning process, when
+the domain evolves (evolution in material used for the prosthesis or
+evolution on the beam (size, shape or energy)). The learning time is
+related to the volume of data who could be very important in a real
+medical context.  A work has been done to reduce this learning time
+with the parallelization of the learning process by using a
+partitioning method of the global dataset. The goal of this method is
+to train many neural networks on sub-domains of the global
+dataset. After this training, the use of these neural networks all
+together allows to obtain a response for the global domain of study.
 
 
 \begin{figure}[h]
   \centering
   \includegraphics[width=0.5\columnwidth]{figures/overlap.pdf}
   \caption{Overlapping for a sub-network  in a two-dimensional domain with ratio
-    $\alpha$.}
+    $\alpha$}
   \label{fig:overlap}
 \end{figure}
 
@@ -252,27 +253,27 @@ The second step of the application, and the most time consuming, is
 the learning itself. This is the one which has been parallelized,
 using the XWCH environment. As exposed in the section 2, the
 parallelization relies on a partitionning of the global
-dataset. Following this partitionning all learning tasks execute in
-parallel independently with their own local data part, with no
-communication, following the fork-join model. Clearly, this
+dataset. Following this partitionning all learning tasks are executed
+in parallel independently with their own local data part, with no
+communication, following the fork/join model. Clearly, this
 computation fits well with the model of the chosen middleware.
 
 The execution scheme is then the following (see Figure
 \ref{fig:neurad_grid}):
 \begin{enumerate}
-\item we first send the learning application and its data to the
+\item We first send the learning application and its data to the
   middleware (more precisely on warehouses (DW)) and create the
-  computation module,
-\item when a worker (W) is ready to compute, it requests a task to
-  execute to the coordinator (Coord.),
+  computation module;
+\item When a worker (W) is ready to compute, it requests a task to
+  execute to the coordinator (Coord.);
 \item The coordinator assigns the worker a task. This last one retrieves the
 application and its assigned data and so can start the computation. 
-\item At the end of the learning process, the worker sends the result,, to a warehouse.
+\item At the end of the learning process, the worker sends the result to a warehouse.
 \end{enumerate}
 
 The last step of the application is to retrieve these results (some
 weighted neural networks) and exploit them through a dose distribution
-process.
+process. This latter step is out of the scope of this paper.
 
 
 \begin{figure}[ht]
@@ -285,7 +286,7 @@ process.
 \section{Experimental results}
 \label{sec:neurad_xp}
 
-The aim of this section is to describe and analyse the experimental
+The aim of this section is to describe and analyze the experimental
 results we have obtained with the parallel Neurad version previously
 described. Our goal was to carry out this application with real input
 data and on a real global computing testbed.
@@ -294,17 +295,17 @@ data and on a real global computing testbed.
 \label{sec:neurad_cond}
 
 The size of the input data is about 2.4Gb. In order to avoid that data
-noise appears and disturb the learning process, these data can be
-divided into 25 part, at most. This generates input data parts of
+noise appears and disturbs the learning process, these data can be
+divided into, at most, 25 parts. This generates input data parts of
 about 15Mb (in a compressed format). The output data, which are
 retrieved after the process, are about 30Kb for each
 part. Unfortunately, the data decomposition limitation does not allow
 us to use more than 25 computers (XWCH workers). Nevertheless, we used two
-distincts deployments of XWCH:
+distinct deployments of XWCH:
 \begin{enumerate} 
 
-\item In the first one, called ``ditributed XWCH'' in the following,
-  the XWCH coordinator and the warehouses were situated in Geneva,
+\item In the first one, called ``distributed XWCH'' in the following,
+  the XWCH coordinator and the warehouses were located in Geneva,
   Switzerland while the workers were running in the same local cluster
   in Belfort, France.
 
@@ -313,7 +314,7 @@ distincts deployments of XWCH:
   the same local cluster.  
 
 \end{enumerate}
-For the both deployments, during the day these machines were used by
+For both deployments, during the day these machines were used by
 students of the Computer Science Department of the IUT of Belfort.
 
 In order to evaluate the overhead induced by the use of the platform
@@ -324,7 +325,7 @@ by the use of shell scripts. No specific middleware was used and the
 workers were in the same local cluster.
 
 Finally, five computation precisions were used: $1e^{-1}$, $0.75e^{-1}$,
-$0.50e^{-1}$, $0.25e^{-1}$ and $1e^{-2}$.
+$0.50e^{-1}$, $0.25e^{-1}$, and $1e^{-2}$.
 
 
 \subsubsection{Results}
@@ -332,17 +333,19 @@ $0.50e^{-1}$, $0.25e^{-1}$ and $1e^{-2}$.
 
 Table \ref{tab:neurad_res} presents the execution times of the Neurad
 application on 25 machines with XWCH (local and distributed
-deployment) and without XWCH. These results correspond to the measure
-of the same step for both kind of execution i.e. sending of local data and the
-executable, the learning process, and retrieving the results. The
-results represent the average time of $x$ executions.
+deployment) and without XWCH. These results correspond to the measures
+of the same steps for both kinds of execution, i.e. sending of local
+data and the executable, the learning process, and retrieving the
+results. Results represent the average time of $?? x ??$ executions.
 
 
 \begin{table}[h!]
+  \renewcommand{\arraystretch}{1.7}
   \centering
   \begin{tabular}[h!]{|c|c|c|c|c|}
     \hline
-    Precision & 1 machine & Without XWCH & With XWCH & With local XWCH\\
+    ~Precision~ & ~1 machine~ & ~Without XWCH~ & ~With XWCH~ & ~With
+    local XWCH~ \\
     \hline
      $1e^{-1}$ & 5190 & 558 & 759 & 629\\
     $0.75e^{-1}$ & 6307 & 792 & 1298 & 801 \\
@@ -351,6 +354,7 @@ results represent the average time of $x$ executions.
     $1e^{-2}$ & 11030 & 1035 & 1447 & 1108 \\
     \hline
   \end{tabular}
+  \vspace{0.3cm}
 \caption{Execution time in seconds of the Neurad application, with and without using the XWCH platform}
   \label{tab:neurad_res}
 \end{table}
@@ -381,12 +385,12 @@ though the same steps were done, all transfer processes are inside a
 local cluster with a high bandwidth and a low latency. Whereas when
 using XWCH, all transfer processes (between datawarehouses, workers,
 and the coordinator) used a wide network area with a smaller
-bandwidth.  In addition, in executions without XWCH, all the machines
+bandwidth. In addition, in executions without XWCH, all the machines
 started immediately the computation, whereas when using the XWCH
 platform, a latency is introduced by the fact that a computation
 starts on a machine, only when this one requests a task.
 
-This underline that, unsurprisingly, deploying a local
+This underlines that, unsurprisingly, deploying a local
 coordinator and one or more warehouses near a cluster of workers can
 enhance computations and platform performances. 
 
@@ -396,15 +400,15 @@ enhance computations and platform performances.
 In this paper, we have presented a gridification of a real medical
 application, the Neurad application. This radiotherapy application
 tries to optimize the irradiated dose distribution within a
-patient. Based on a multi-layer neural network, this applications
-present a very time consuming step i.e. the learning step. Due to the
+patient. Based on a multi-layer neural network, this application
+presents a very time consuming step, i.e. the learning step. Due to the
 computing characteristics of this step, we choose to parallelize it
 using the XtremWeb-CH global computing environment. Obtained
 experimental results show good speed-ups and underline that overheads
 induced by XWCH are very acceptable, letting it be a good candidate
 for deploying parallel applications over a global computing environment.
 
-Our future works, include the testing of the application on a more
+Our future works include the testing of the application on a more
 large scale testbed. This implies, the choice of a data input set
 allowing a finer decomposition. Unfortunately, this choice of input
 data is not trivial and relies on a large number of parameters
