updated.
[charm.git] / doc / bigsim / manual.tex
1 \documentclass[10pt]{article}
2 \usepackage{../pplmanual}
3 \input{../pplmanual}
4
5 \title{Parallel Simulator for Large Parallel Machines}
6 \version{1.00}
7 \credits{Charm++ BlueGene Emulator was developed by Arun Singla, Neelam Saboo
8 and Joshua Unger under the guidance of Prof. L. V. Kale. The new Converse 
9 Blue Gene Emulator is completely rewritten by Gengbin Zheng. Converse Blue Gene 
10 Emulator is the only version under maintenance now. Charm++ and Adaptive MPI
11 (AMPI) was ported onto the Blue Gene Emulator by Gengbin Zheng. The parallel
12 performance simulator was developed by Gengbin Zheng and 
13 Gunavardhan Kakulapati.}
14
15 \begin{document}
16 \maketitle
17
18 \section{Introduction}
19
20 One approach for building the next generation of parallel computers
21 is based on large aggregates of multiprocessor chips with support
22 for hardware multithreading. 
23 An initial design for IBM's Blue Gene/C project exemplifies this approach.
24 Blue Gene/C was a proposed one million processor machine from IBM.
25
26 It is important that one can study the programming issues and performance
27 of paralle applications on such machines even before the machine is built.
28 Thus, we have developed a parallel simulator to facilitate this research.
29
30 Since our research was initiated by Blue Gene/C project, in this manual, 
31 we also call our simulator as Blue Gene Simulator.
32 Our simulator is capable of simulating a broad class of "Massively Parallel
33 Processors-In-Memory", or MPPIMs machines. 
34
35 \subsection{Simulator system components:}
36
37 Our simulator system includes these components: 
38 \begin{enumerate}
39 \item a parallel emulator which emulates the low level machine API; 
40 \item a message driven programming language (Charm++) running on top of the emulator; 
41 \item adaptive MPI (an implementation of MPI on top of Charm++) environment; 
42 \item a parallel simulator for performance prediction. 
43 \end{enumerate}
44
45 \subsection{History}
46
47 The first version of Blue Gene emulator was first written in Charm++, a 
48 parallel object language in fall, 2001. 
49
50 The second version of Blue Gene emulator was completely rewritten on top 
51 of Converse instead of Charm++ in spring 2002. 
52 While the API supported by the original emulator remains almost same,
53 many new features were added - support of thread-committed messages that 
54 can be send to a specific thread in a Blue Gene node; support of Blue Gene 
55 node level broadcast.
56 The new emulator was implemented on a lower layer communication 
57 library - Converse in order to achieve better 
58 performance by avoiding the cross layer overhead. 
59 Another advantage is that the lighter weighted emulator makes it easier
60 to port higher level of programming language onto the emulator.
61
62 In the following sections, we will first describe how to download and compile
63 Blue Gene simulator(Sec. ~\ref{install}). Section~\ref{bgemulator} will describe
64 the low level machine API in detail. 
65
66
67 \input{install}
68 \input{emulator}
69
70 \input{index}
71 \end{document}
72
73