\section{Implementation}

The project was implemented on CM-5 (CMOST 7.3) using the native message 
passing library \cite{cmmd-ref}. This was developed as a proof of concept
that the message passing paradigm was a suitable way of implementing a 
parallel version of the Semi-Lagrangian Transport code.  It is hence
highly modular and has about five levels of subroutine calls.  Though 
this allows for the easy testing of the code, it conflicts with the
requirements of high performance computing in that the overall running 
time drastically increases.  This prompted us in measuring computations
without the function calling overhead.  Therefore the running time of
a production code would be between the timings with the function call
overhead and without the overhead. Ideally we would like it to be 
closer to the timings without the overhead.

The third approach was implemented and 
instrumented for measuring performance as discussed in the next
section.

