\chapter{NeSI Benchmark S.O.P}\label{ch:NeSISOP}
NeSI (New Zealand eScience Infrastructure) provides HPC facilities to support the researches in New Zealand. We have
applied for the NeSI account and conducted our benchmark experiments on the Pan cluster, which at this moment 80 
16-core machines and 80 12-core machines with more than 90 GB RAM per node. The center of eResearch wiki website
describes how to get started with the NeSI Pan Cluster (\url{https://wiki.auckland.ac.nz/display/CERES/Getting+started}).
But to benchmark the JStar programs on the NeSI requires the following steps:
\begin{enumerate}
  \item Prerequisite
  \begin{itemize}
    \item Fill out the application form on the NeSI web site (\url{https://www.nesi.org.nz/}). 
    \item Apply for the research project on the NeSI Pan Cluster. By using \texttt{Puttygen} on Windows, the SSH public key and
    private key are generated on the local machine. And email the NeSI administrator with the username and public key
    for the account access. Install the \texttt{WinSCP}\footnote{http://winscp.net/eng/index.php} to upload the local
    files to and download the files from the Pan cluster.
  	\item Install JDK 1.7 on the home directory. Upload and uncompress the latest version of JDK 1.7 to the HOME
  	directory.
  	\item Set up the JAVA\_HOME and PATH environment variables by editing the bash profile (\texttt{.bash\_profile}) on
  	the HOME directory with the following commands:
  	\texttt{export JAVA\_HOME=$\textdollar$HOME/jdk1.7.0\_17}\\
	\texttt{PATH=$\textdollar$JAVA\_HOME/bin:$\textdollar$PATH:$\textdollar$HOME/bin}
  	\item Open the \texttt{Putty} to activate the new settings and verify the java with the following command:\\
  	\texttt{$\textdollar$ . ~/.bash\_profile}\\
  	\texttt{$\textdollar$ which java}
   \end{itemize}
  \item Run the \texttt{Hello World} LoadLeveler job, printing out the ``Hello World''  and the java version. 
  \begin{itemize}
    \item Write a LoadLeveler job file. and name it as the helloworld.11.
    \begin{spacing}{1.0} 
  	\lstinputlisting[language=sh,label=jobconfigofhelloworld,caption=The LoadLevel Job of the Hellow World Program.]
  	{./appendix/NeSI/helloworld.11}
  	\end{spacing}
  	\item Submit the job file to the Pan cluster through the following commands:\\
  	\texttt{$\textdollar$llsubmit helloworld.11}
  	\item Check the job status by using the following commands:\\
  	\texttt{$\textdollar$llq -u whoami}
  	\item Verify the output files (\texttt{stdout.txt and stderr.txt}) by the Java version.
 \end{itemize}
  \item Upload the required libraries and the Jar file (the JStar Java source code) to the NeSI cluster.
  \item Submit the LoadLeveler job file by using the \texttt{lsubmit} command.
  \begin{spacing}{1.0}
	\lstinputlisting[language=sh,label=jobconfigofpvwatts,caption=The LoadLevel Job of the JStar PvWatts Program.]
	{./appendix/NeSI/pvwatts_job.11}
  \end{spacing}
\item Download the benchmark results and plot the speedup graphs with the AWK program and LibreOffice Calc.
\end{enumerate}
\cleardoublepage