\documentclass{llncs} 
%\usepackage{latex8}
%\usepackage{times}
%\documentclass[a4paper,11pt]{article}
%\usepackage{fullpage}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx,subfigure,graphics}
\usepackage{epsfig}
%\usepackage[usenames]{color}
%\usepackage{latexsym,stmaryrd}
%\usepackage{amsfonts,amssymb}
\usepackage{verbatim,theorem,moreverb}
%\usepackage{float,floatflt}
\usepackage{boxedminipage}
\usepackage{url}
%\usepackage{psfig}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{algorithm}
\usepackage{algorithmic}
%\usepackage{floatfig}
%\usepackage{picins}


\def\sfixme#1{\fbox{\textbf{FIXME: }#1}}
 
\newcommand{\fixme}[1]{%
  \begin{center}
    \begin{boxedminipage}{.8\linewidth}
      \textsl{{\bf #1}}
    \end{boxedminipage}
  \end{center}
}
\newcommand{\FIXME}[1]{\marginpar[\null\hspace{2cm} FIXME]{FIXME} \fixme{#1}}

%\psfigurepath{.:fig:IMAGES}  
\graphicspath{{.}{fig/}{IMAGES/}}

%\initfloatingfigs

\begin{document}

\title{Gridification of a Radiotherapy Dose Computation Application with the XtremWeb-CH Environment}

\author{Nabil Abdennhader\inst{1} \and Raphaël Couturier\inst{1}  \and
  Julien  Henriet\inst{2} \and  David Laiymani\inst{1}  \and Sébastien  Miquée\inst{1}
  \and Marc Sauget\inst{2}}

\institute{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}
\and
 FEMTO-ST, ENISYS/IRMA, F-25210 Montb\'{e}liard , FRANCE\\
}
%\email{\texttt{[delfabbro,laiymani,nicod,philippe]@lifc.univ-fcomte.fr}}}


\maketitle

\begin{abstract} 
  
\end{abstract}

%-------------INTRODUCTION--------------------
\section{Introduction}

The use of distributed architectures for solving large scientific problems seems
to  become  mandatory  in  a  lot  of  cases. For  example,  in  the  domain  of
radiotherapy dose computation the problem  is crucial. The main goal of external
beam  radiotherapy is  the treatment  of  tumours while  minimizing exposure  to
healthy tissue. Dosimetric  planning has to be carried out  in order to optimize
the dose distribution within the patient is necessary. Thus, for determining the
most accurate dose distribution during  treatment planning, a compromise must be
found between  the precision and  the speed of calculation.  Current 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. In [] the authors proposed a novel approach
based on the use of neural  networks. The 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 consumming, in \cite{bcvsv08:ip} the authors proposed a parallel
algorithm  that enable  to decompose  the learning  domain into  subdomains. The
decomposition has  the advantage to  significantly reduce the complexity  of the
target functions to approximate.

Now,  as  there  exist  several classes  of  distributed/parallel  architectures
(supercomputers,  clusters, global  computing...)  we have  to  choose the  best
suited  one  for  the  parallel  Neurad application.  The  Global  or  Volunteer
computing model seems  to be an interesting approach.  Here, the computing power
is obtained  by agregating 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
dedicated approach like the use of supercomputer 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
environnement []. We choose this  environnent because it tackles the centralized
aspect of other global computing environments such as XTremWeb [] or Seti []. 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.   Experimentations  were  conducted  on  a  real  Global  Computing
testbed. The results are very  encouraging. They exhibit an 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  learning
step.  Section 3 details  the XtremWeb-CH  environnement while  in section  4 we
expose  the gridification of  the Neurad  application. Experimental  results are
presented in section  5 and we end  in section 6 by some  concluding remarks and
perspectives.

\section{The Neurad application}

\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$.}
  \label{fig:overlap}
\end{figure}

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 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.

In  addition  to the  possibility  to design  a  simple  and efficient  parallel
algorithm, the domain decomposition  presents another important advantage in the
context  of neural  learning. It  significantly  reduces the  complexity of  the
target functions  to approximate.   Indeed, it is  much easier to  approximate a
function on  a small  interval than on  a large  one, especially if  it contains
sharp  variations.  Thus,  a  better  accuracy  can even  be  expected  on  each
sub-domain.

However, performing the learnings on sub-domains constituting a partition of the
initial domain is  not satisfying according to the quality  of the results. This
comes from the fact that the accuracy of the approximation performed by a neural
network is not  constant over the learned domain.  Thus, it  is necessary to use
an  overlapping  of the  sub-domains.   The  overall  principle is  depicted  in
Figure~\ref{fig:overlap}.   In this  way, each  sub-network has  an exploitation
domain  smaller than its  training domain  and the  differences observed  at the
borders  are  no  longer  relevant.   Nonetheless,  in  order  to  preserve  the
performances of  the parallel  algorithm, it is  important to carefully  set the
overlapping  ratio $\alpha$.   It must  be large  enough to  avoid  the border's
errors, and as small as possible to limit the size increase of the data subsets.



%% Je ne pense que cette partie soit nécessaire. Il faudrait essayer de %détailler la partie apprentissage d'un point de vue données en entrée et %données en sorties. Puis décomposition de ces données pour la parallélisation.
\subsection{Data description}


In the context of external radiotherapy,  an essential parameter is the width of
the beam.  The radiation result is directly dependant of this parameter. Indeed,
if the beam has  a small width, it cannot reach the  electronic balance and does
not present a tray as large as could be seen in Figure~\ref{f_tray} representing
the classical behavior for a deposit curve.

\begin{figure}[http]
  \centering
  \includegraphics[width=0.7\columnwidth]{figures/testC.pdf}
  \caption{Dose deposit by a photon beam  of 24 mm of width in water (Normalised value). }
  \label{f_tray}
\end{figure}

The evolution  of the behaviour of  the energy deposit during  an irradiation is
shown in  Figure~\ref{f_beam} which represents  the energy deposit  at different
depths for different widths of beam.  The main characteristics of a dose deposit
curve are  the regularity of the central  part followed by the  sharpness of the
beam  sides.  The  main  constraint in  the scope  of  our work  is the  limited
tolerance about the final learning error.

\begin{figure}[http]
  \centering
  \includegraphics[width=0.45\columnwidth]{figures/eau_02_to_24.pdf}
  \includegraphics[width=0.45\columnwidth]{figures/ta6v4_02_to_24.pdf}
  \caption{Dose deposits  at the depth  of 60 mm  in water phantom and  in ta6v4
    (titanium) (Normalised value)}
  \label{f_beam}
\end{figure}

Indeed, the neural network described here  represents one tool in a very complex
chain of  treatment for  the global  evaluation of the  dose deposit  in complex
environments.  The use  of the neural network is central  in our overall project
and a too large  error at this stage could imply that  our final solution may be
out of the medical error tolerance.



\section{The XtremWeb-CH environment}



\section{Neurad gridification with XTremWeb-CH}

%The Neurad application can be divided into three parts. The first one
%aims at dividing data representing dose distribution on an area. This
%area contains various parameters, like the density of the medium and
%its nature. Multiple ``views'' can be superposed in order to obtain a
%more accurate learning.

As exposed before, we only focus in these works on the most time consuming part of Neurad i.e. the neural learning part. 
These computations fit well with the model of the middleware -- all learning tasks execute in
parallel independently with their own local data part, with no
communication, following the fork-join model. 

As described on Figure
\ref{fig:neurad_grid}, we first send the learning application and data
to the middleware (more precisely on warehouses (DW)) and create the
computation module. When a worker (W) is ready to compute, it requests
a task to execute to the coordinator (Coord.). This latter assigns it
a task. The worker retrieves the application and its assigned data,
and can start the computation. At the end of the learning process, it
sends the result, a weighted neural network which will be used in a
dose distribution process, to a warehouse. The last step of the
application is to retrieve these results and exploit them.


\begin{figure}[ht]
  \centering
  \includegraphics[width=7cm]{figures/neurad_gridif}
  \caption{Neurad gridification}
  \label{fig:neurad_grid}
\end{figure}


\section{Experimental results}



\section{Conclusion and future works}



\bibliographystyle{plain}
\bibliography{biblio}



\end{document}
