Added POSE configuration section.
authorTerry L. Wilmarth <wilmarth@uiuc.edu>
Thu, 10 Jun 2004 21:05:00 +0000 (21:05 +0000)
committerTerry L. Wilmarth <wilmarth@uiuc.edu>
Thu, 10 Jun 2004 21:05:00 +0000 (21:05 +0000)
doc/pose/manual.tex

index 158d2c2323a7d86c7030da67483d5847d2133d2c..fb758fe23fb4f171d632b018f98525de87a311bf 100644 (file)
@@ -517,6 +517,48 @@ Makefile that shows this process.
 
 \section{Configuring \pose{}}
 
+Currently, \pose{} is configured by altering values in the {\tt
+pose\_config.h} file in the \pose{} installation, and rebuilding
+\pose{}.  The following configuration options are available.
+
+\begin{itemize}
+\item {\tt {\bf POSE\_STATS\_ON}}\\
+       $\circ$ Turn on timing and statistics gathering for internal \pose{}
+       operations.  Produces a small slowdown in program.\\
+\item {\tt {\bf POSE\_DOP\_ON}}\\
+       $\circ$ Turn on timing and statistics gathering for degree of parallelism calculations.  Generates log files that can be loaded by ploticus scripts to produce graphs plotting active entities over time.  Slows down program dramatically.\\
+\item {\tt {\bf POSE\_COMM\_ON}}\\
+       $\circ$ Turn on streaming communication optimization for small message packing.\\
+\item {\tt {\bf COMM\_TIMEOUT}}\\
+       $\circ$ Used by streaming communication library. Time to wait (in ?) before sending buffered messages.\\
+\item {\tt {\bf COMM\_MAXMSG}}\\
+       $\circ$ Used by streaming communication library.  Number of messages to buffer before packing and sending as one.\\
+\item {\tt {\bf LB\_ON}}\\
+       $\circ$ Turn on \pose{} load balancing.\\
+\item {\tt {\bf STORE\_RATE}}\\
+       $\circ$ Default checkpointing rate: 1 for every {\tt STORE\_RATE} events.\\
+\item {\tt {\bf MAX\_ITERATIONS}}\\
+       $\circ$ Maximum forward execution operations a poser can perform when it has control.\\
+\item {\tt {\bf SPEC\_WINDOW}}\\
+       $\circ$ Speculative window size: this is how far (in virtual time units) ahead of GVT posers are allowed to go.\\
+\item {\tt {\bf MIN\_LEASH}} and {\tt {\bf MAX\_LEASH}}\\
+       $\circ$ Bounds on the speculative window, these are adjusted by adaptive synchronization strategies.\\
+\item {\tt {\bf LEASH\_FLEX}}\\
+       $\circ$ Granularity of flexibility when speculative window is shrunk or expanded.\\
+\item {\tt {\bf MAX\_POOL\_SIZE}}\\
+       $\circ$ Memory used by event messages is recycled.  This controls how many messages of a particular size will be kept on hand.
+\item {\tt {\bf MAX\_RECYCLABLE}}\\
+       $\circ$ This is the largest size of message that will be recycled.
+\item {\tt {\bf LB\_SKIP}}\\
+       $\circ$ This controls the frequency of load balance invocation.  1 in every {\tt LB\_SKIP} executions of the GVT algorithm will invoke load balancing.
+\item {\tt {\bf LB\_THRESHOLD}}\\
+       $\circ$ What the heck does this number mean?  I can't remember.  I'll have to look through the code... later.  Meanwhile, I think this indicates some sort of threshold a single processor has to cross before we even bother with analyzing the load.\\
+\item {\tt {\bf LB\_DIFF}}\\
+       $\circ$ Once the load has been analyzed, we compute the difference between the max and min PE loads.  Only if this difference exceeds {\tt LB\_DIFF} do we bother migrating posers.\\
+\end{itemize}
+
+Several of the above flags and constants will be eliminated as the adaptive strategy is expanded.  What remains will eventually become run-time options.
+
 \section{Communication Optimizations}
 
 \section{Load Balancing}