

% Template for a simple journal or conference style article

\documentstyle[12pt,fullpage]{article}
\begin{document}
\pagestyle{plain}
\title{\bf CIS 631: Project Design Documentation\\ \ \\ Implementation of Farming Under PVM}
\author {Sameer S. Shende}
\maketitle

\section*{Order of Implementation}
\begin{enumerate}
\item Implement a class of List with member functions to append , delete, search, pop an item with constructor and destructor.
\item Test this out.
\item Implement a List of Farmer where each item specifies a farmer task and 
its attributes
\item Implement a List of Worker Class with different worker classes getting a 
separate item and define the methods to acccess an element (by name, id), and 
other methods specific to the worker class
\item Implement a list of Work packets pending on each worker class (the list
information is contained in the worker class item). The methods should include a
way to add new items to the list and remove from the top (First come first served)
\item Implement a list of Worker tasks associated with a particular worker class
item and define methods to access the task items.
\item Implement a list of pending requests where each item contains a request 
(from Farmer or worker task) and attributes of the request.
\item Implement a skeletal farm daemon which consists of taking a request 
examining an opcode and sending the request to a function associated with the
opcode. The arguments should specify all the informantion, so that it doesnot
need to receive information from the tasks. It could send results however.
This way, it the pending request or current request could both be served by the
function.
\item Implement connection establishment module for both the client portion and
the server module.                    
\item Implement the API of Farming at the client end following the design 
described in the design documentation.
\item Implement the server code of the functions for each of the functions in
farming.
\item Implement the client code in the form of a single farming library and the server code in the form of a task to be spawned under PVM (called pvmfarmd).
\item Put everything together and run a program and see that the client server
communication is in proper order (System integration).
\item Implement test cases to test each of the functions of the library and the
return values. (Unit test procedures).
\item Implement test cases to test collective interaction of the whole system
to see that its behaving as expected. (System test cases) 
\item Implement test cases which test the volume of data transferred and 
checks the maximum limits of the system both in terms of the data transfer as
well as the number of workers in a worker class, different combinations of 
worker classes and different number of farmers in an application. (Volume testing).
\item Write programmers documentation which should include the design documentation (pseudo code) and the definition of the API (Documentation).

\item Write a sample application which uses farming and test it for correctness. Make two versions, viz., one which does not use farming and the other that uses farming. Keep identical number of processors, and communication pattern and grow the problem size of the problem.
\item Compare the results on a range of problem sizes (this could be something like a matrix multiplication algorithm). And interpret the result obtained.
\item Make transparencies for the presentation.

\end{enumerate}

\end{document}

% ------------ end of document ----------------------

% here are some templates of different environments you can cut and paste:

\begin{figure}
\vspace{3in}
\caption{}
\end{figure}

\begin{itemize}
\item
...
\end{itemize}

\begin{enumerate}
\item
...
\end{enumerate}

