receive a signal from a worker, it will simply remove it from the
scheduling list, and if a job had been assigned to that worker, it
will be re-assigned to another one. A schema of the architecture is
-shown in Figure 4.
+shown in Figure \ref{xwch}.
\begin{figure}[htp]
+\label{xwch}
\begin{centering}
\includegraphics [scale=0.2]{figures/xwcharchitecture.pdf}
\caption{The XWCH Architecture}
Job submission is done by a client program which is written using a
flexible API, available for Java and C/C++ programs. The client
program runs on a “client node” and calls the user services to submit
-jobs (Figure 1, (1)). The main flexibility provided by the use of this
+jobs (Figure \ref{xwch}, (1)). The main flexibility provided by the use of this
architecture is to control and generate dynamically jobs especially
when their number cannot be known in advance. Communications between
the coordinator and the workers are always initiated by the workers
-following a pull model (Figure 1, (2)):
+following a pull model (Figure \ref{xwch}, (2)):
\begin{itemize}
-\item Workers receive jobs (Figure 1, (3)) only if they send a “work
+\item Workers receive jobs (Figure \ref{xwch}, (3)) only if they send a “work
request” signal;
\item When a worker finishes its job, it stores its output file on
warehouse and sends a “work result” signal to the coordinator;
warehouse services) to report itself to the coordinator.
\end{itemize}
-As a whole, XWCH is easy to install, maintain ans use. Its components
+As a whole, XWCH is easy to install, maintain and use. Its components
are programmed mainly using Java, and their process memory sizes in a
typical 32-bit GNU/Linux computer are:
\begin{itemize}