fixed a lot of minor errors
authorAbhinav Bhatele <bhatele@illinois.edu>
Tue, 17 Jan 2006 21:12:23 +0000 (21:12 +0000)
committerAbhinav Bhatele <bhatele@illinois.edu>
Tue, 17 Jan 2006 21:12:23 +0000 (21:12 +0000)
doc/bigsim/emulator.tex
doc/bigsim/install.tex
doc/bigsim/manual.tex

index b9fc5330a84bc723e0d501d5503b622fdd9af183..ef62c85fd8dfce31abbef42e8a2106d617f26df7 100644 (file)
@@ -45,8 +45,8 @@ example programs and instructions for executing them.
 \subsection{Blue Gene Programming Environment}
 
 The basic philosophy of the Blue Gene Emulator is to hide intricate details
-of Blue Gene machine from
-application developer.Thus, the application developer needs to provide
+of the Blue Gene machine from the
+application developer. Thus, the application developer needs to provide
 intialization details and handler
 functions only and gets the result as though running on a real machine.
 Communication, Thread creation,
@@ -107,10 +107,10 @@ All the functions defined in API Level 0 are used internally for the
 implementation of bluegene node communication and worker threads.
 
 From this level, the functions defined are exposed to users to write bluegene
-program on emulator.
+programs on the emulator.
 
-Considering that the emulator machine will emulator several Bluegene nodes on
-each physical node, the emulator program define this function 
+Considering that the emulator machine will emulate several Bluegene nodes on
+each physical node, the emulator program defines this function 
 \function{BgEmulatorInit(int argc, char **argv)} to initialize each emulator
 node. In this function, user program can define the Bluegene machine size,
 number of communication/worker threads, and check the command line arguments.
@@ -136,18 +136,18 @@ functions:
 
 \function{int BgRegisterHandler(BgHandler h)}
 \desc{
-       reister user message handler functions; 
+       register user message handler functions; 
 }
 
 For each Blue Gene node, the execution starts at 
-\function{BgNodeStart(int argc, char **argv)} called by emulator for each 
-bluegene node, where application handlers can be registered and computation 
+\function{BgNodeStart(int argc, char **argv)} called by the emulator,
+where application handlers can be registered and computation 
 is triggered by creating a task at required nodes.
 
-Similar to pthread's thread specifc data, each bluegene node can has its
-own node specific data associated with it. To do this, user need to define its 
-own the Node Specific Variables encapsulated in a struct definition and register
- the pointer to the data to the emulator by following function:
+Similar to pthread's thread specifc data, each bluegene node has its
+own node specific data associated with it. To do this, the user needs to define its 
+own node-specific variables encapsulated in a struct definition and register
+ the pointer to the data with the emulator by following function:
 
 \function{void BgSetNodeData(char *data)}
 
@@ -163,8 +163,8 @@ to terminate the emulator.
 
 \subsubsection{Handler Function API: Level 1a}
 
-The following functions can be called in user's application program to retrie
-ve the BleneGene machine information, get thread execution time, and perform
+The following functions can be called in user's application program to retrieve
+the Blue Gene machine information, get thread execution time, and perform
 the communication.
 
 \function{void BgGetSize(int *sx, int *sy, int *sz);}
@@ -179,11 +179,12 @@ the communication.
 
 \function{void BgSendPacket(int x, int y, int z, int threadID, int handlerID, WorkType type, int numbytes, char* data);}
 \desc{
-Sends a trunk of data to Node[x,y,z] and also specifies the
-handler function to be used for this message ie. handlerID;
-threadID specifes the desired thread ID to handle the message, ANYTHREAD means
+This sends a trunk of data to Node[x, y, z] and also specifies the
+handler function to be used for this message i.e. the handlerID;
+threadID specifes the desired thread to handle the message, ANYTHREAD means
 no preference.
-specify the thread category:
+
+To specify the thread category:
 \begin{description}
 \item[1:] a small piece of work that can be done by
 communication thread itself, so NO scheduling overhead.
index ec48b48ce423399d0fbeda4dc5b3bc20af28cada..d0433ccd2ffb7f5c4bb2d8a93fae1edea163cead 100644 (file)
@@ -6,12 +6,12 @@
 BigSim Simulator is part of Charm++ distribution as a runtime 
 library. One needs to download Charm++ and compile BigSim simulator.
 
-You should begin with downloading Charm++ from website:
+You should begin with downloading Charm++ from the website:
 http://charm.cs.uiuc.edu
 
-Please refer to "Charm++ Installation and Usage Manual" and also the README
-in the source code for detailed instruction on how to compile Charm++.
-In short, the "build" script is the main tool for compiling \charmpp{}.
+Please refer to ``Charm++ Installation and Usage Manual" and also the file README
+in the source code for detailed instructions on how to compile Charm++.
+In short, the ``build" script is the main tool for compiling \charmpp{}.
 You need to provide target and platform options:
 \begin{verbatim}
 ./build <target> <platform> [options ...] [charmc-options ...]
@@ -24,7 +24,7 @@ For example, to compile on a Linux machine, type:
 
 which builds essential \charmpp{} kernel using UDP sockets as 
 communication method, 
-alternatively, you can build Charm++ kernel on MPI like:
+alternatively, you can build Charm++ kernel on MPI using:
 \begin{verbatim}
 ./build charm++ mpi-linux -O
 \end{verbatim}
@@ -34,8 +34,8 @@ on. See the charm/README file for a complete list of supported platforms.
 
 \subsubsection{Compile Charm++ Emulator Only}
 
-BigSIm emulator is implemented on top of Converse in Charm++, 
-to compile BigSim emualtor only, one can compile emulator libraries
+BigSim emulator is implemented on top of Converse in Charm++, 
+to compile BigSim emulator only, one can compile emulator libraries
 directly on top of normal Charm++ using ``bluegene'' as the compilation
 target, like
 \begin{verbatim}
@@ -54,25 +54,25 @@ needs to be specified:
 ./build bluegene net-linux bluegene -O
 \end{verbatim}
 
-The first "bluegene" is the compilation target that tells "build" to
+The first ``bluegene" is the compilation target that tells ``build" to
 compile BigSim emulator libraries in addition to \charmpp{} kernel;
-The second "bluegene" is a build option to platform "net-linux", which tells
-"build" to compile the Charm++ on top of BigSim Emulator. 
-To build AMPI on BigSim, use "bgampi" as make target, which subsumes target
-of "bluegene":
+The second ``bluegene" is a build option to platform ``net-linux", which tells
+``build" to compile the Charm++ on top of BigSim Emulator. 
+To build AMPI on BigSim, use ``bgampi" as make target, which subsumes target
+of ``bluegene":
 \begin{verbatim}
 ./build bgampi net-linux bluegene -O
 \end{verbatim}
 
-For the above "build" command, it creates a directory named 
-"net-linux-bluegene" under charm, which contains all the header files and
+For the above ``build" command, it creates a directory named 
+``net-linux-bluegene" under charm, which contains all the header files and
 libraries needed for compiling a user application.
 
 \subsection{Compiling BigSim Applications}
 
 \charmpp{} provides a compiler script {\tt charmc} to compile all programs.
 
-There are three methods to write a BigSim applicaiton:
+There are three methods to write a BigSim application:
 
 \subsubsection{Writing a BigSim application using low level machine API}
 The low level machine API mimics the actual machine low level programming
@@ -116,7 +116,7 @@ One can also write a MPI application for Blue Gene Simulator.
 The Adaptive MPI, or AMPI is implemented on top of Charm++ that supports
 dynamic load balancing and multithreading for MPI applications. This is based
 on the user-level migrating threads and load balancing capabilities provided
-by the \charmpp{} framework. This allows legacy MPI program to run 
+by the \charmpp{} framework. This allows legacy MPI programs to run 
 on top of Blue Gene \charmpp{} and take advantage of the \charmpp{}'s
 virtualization and adaptive load balancing capability.
 
@@ -139,14 +139,14 @@ charm/pgms/charm++/ampi, specifically charm/pgms/charm++/Cjacobi3D.
 To run a parallel Blue Gene application, \charmpp{} provides a utility program
 called {\tt charmrun} to start the parallel program. 
 For detailed description on how to run a \charmpp{} application, 
-refer to file charm/README in the source code distribution.
+refer to the file charm/README in the source code distribution.
 
 To run a Blue Gene application, you need to specify these parameters to 
 {\tt charmrun} to define the simulated Blue Gene machine size:
 \begin{enumerate}
-\item {\tt +x, +y} and {\tt +z}:  define the size of of machine in three dimensions, these define the number of nodes along each dimension of the machine;
+\item {\tt +x, +y} and {\tt +z}:  define the size of the machine in three dimensions, these define the number of nodes along each dimension of the machine;
 \item {\tt +wth} and {\tt +cth}:  For one node, these two parameters define the number of worker processors({\tt +wth}) and the number of communication processors({\tt +cth}).
-\item {\tt +bgcorrect}: starts the simulation mode for performance prediction. Otherwise the program is running without doing parallel event simulation for performance prediction of the application.
+\item {\tt +bgcorrect}: starts the simulation mode for performance prediction. Otherwise the program runs without doing parallel event simulation for performance prediction of the application.
 \item {\tt +bgwalltime}: used only in simulation mode, when specified, use wallclock measurement of the time taken on the simulating machine to estimate the time it takes to run on the target machine.
 \item {\tt +bgcounter}:  used only in simulation mode, when specified, use the performance counter to estimate the time on target machine. This is currently only supported when perfex is installed, like Origin2000.
 \end{enumerate}
index e1dcebb947e5035f2fd8eb31c505795b32504c5b..9c7194d5db44769956ed7ddd0d3e2e2beef2e449 100644 (file)
@@ -34,13 +34,13 @@ targeting 1 petaflops of peak performance.
 
 
 It is important that one can study the programming issues and performance
-of paralle applications on such machines even before the machine is built.
-Thus, we have developed a parallel simulator --- BigSim to facilitate this research.
+of parallel applications on such machines even before the machine is built.
+Thus, we have developed a parallel simulator -- BigSim to facilitate this research.
 
 Since our research was initiated by Blue Gene/C project, in this manual, 
 we also call our simulator as Blue Gene Simulator.
 Our simulator is capable of simulating a broad class of "Massively Parallel
-Processors-In-Memory", or MPPIMs machines. 
+Processors-In-Memory", or MPPIM machines. 
 
 \subsection{Simulator system components}
 
@@ -55,7 +55,7 @@ Our simulator system includes these components:
 
 \subsection{History}
 
-The first version of Blue Gene emulator was first written in Charm++, a 
+The first version of Blue Gene emulator was written in Charm++, a 
 parallel object language in fall, 2001. 
 
 The second version of Blue Gene emulator was completely rewritten on top 
@@ -71,17 +71,17 @@ performance by avoiding the cross layer overhead.
 %Another advantage is that the lighter weighted emulator makes it easier
 %to port higher level of programming language onto the emulator.
 
-Charm++ was soon ported to the emulator later in 2002 which provided
-first parallel language model on top of the emulator.
+Charm++ was soon ported to the emulator in 2002 which provided the
+ first parallel language model on top of the emulator.
 
 A performance simulation capability was added to the emulator in spring 2003.
 The new simulator was renamed to BigSim at the same time.
-During the same year, we developed a POSE-based postmoterm mode network
+During the same year, we developed a POSE-based postmortem mode network
 simulator called BigNetSim.
 
 
 In the following sections, we will first describe how to download and compile
-Blue Gene simulator(Sec. ~\ref{install}). Section~\ref{bgemulator} will describe
+Blue Gene simulator(Section ~\ref{install}). Section~\ref{bgemulator} will describe
 the low level machine API in detail.