Adding more file formats for the variants of latex out there which don't like some...
[charm.git] / doc / bigsim / manual.tex
1 \documentclass[10pt]{article}
2 \usepackage{../pplmanual}
3 \input{../pplmanual}
4
5 \title{BigSim Parallel Simulator for Extremely Large Parallel Machines}
6 \version{1.01}
7 % #CLM# \credits{Charm++ BigSim Emulator was developed by Arun Singla, Neelam Saboo
8         \credits{The Charm++ BigSim Emulator was developed by Arun Singla, Neelam Saboo
9 and Joshua Unger under the guidance of Prof. L. V. Kale. The new Converse 
10 % #CLM# BigSim Emulator is completely rewritten by Gengbin Zheng. Converse BigSim 
11         BigSim Emulator was completely rewritten by Gengbin Zheng. The Converse BigSim 
12 Emulator is the only version under maintenance now. Charm++ and Adaptive MPI
13 % #CLM# (AMPI) was ported onto the BigSim Emulator by Gengbin Zheng. The parallel
14         (AMPI) were ported onto the BigSim Emulator by Gengbin Zheng. The parallel
15 performance simulator was developed by Gengbin Zheng and 
16 Gunavardhan Kakulapati. A postmortem network simulator was developed by 
17 Terry Wilmarth, Eric Bohm and Gengbin Zheng}
18
19 \begin{document}
20 \maketitle
21
22 \section{Introduction}
23
24 %One approach for building the next generation of parallel computers
25 %is based on large aggregates of multiprocessor chips with support
26 %for hardware multithreading. 
27 %An initial design for IBM's Blue Gene/C project exemplifies this approach.
28 %Blue Gene/C was a proposed one million processor machine from IBM.
29
30 Parallel machines with an extremely large number of processors are now
31 being designed and built. For example, the BlueGene/L (BG/L) machine
32 % #CLM# being built by IBM will have 64,000 dual-processor nodes with 360 teraflops
33 built by IBM has 64,000 dual-processor nodes with 360 teraflops of
34 peak performance. Another more radical design from IBM,
35 code-named Cyclops (BlueGene/C), had over one million floating point units,
36 fed by 8 million instructions streams supported by individual thread units,
37 targeting 1 petaflops of peak performance.
38
39
40 It is important that one can study the programming issues and performance
41 of parallel applications on such machines even before the machine is built.
42 Thus, we have developed a parallel simulator -- BigSim, to facilitate this research.
43
44 % #CLM# Since our research was initiated by Blue Gene/C project, in this manual, 
45 Since our research was initiated by the BlueGene/C project, in previous editions of this manual
46 we also called our simulator as Blue Gene Simulator.
47 Our simulator is capable of simulating a broad class of "Massively Parallel
48 Processors-In-Memory", or MPPIM machines. 
49
50 \subsection{Simulator system components}
51
52 Our simulator system includes these components: 
53 \begin{enumerate}
54 % #CLM# \item a parallel emulator which emulates the low level machine API; 
55         \item a parallel emulator which emulates a low level machine API targeting an architecture like BlueGene; 
56 \item a message driven programming language (Charm++) running on top of the emulator; 
57 % #CLM# \item adaptive MPI (an implementation of MPI on top of Charm++) environment; 
58         \item the Adaptive MPI (an implementation of MPI on top of Charm++) environment; 
59 % #CLM# Remove support for Online Simulator
60 % #CLM# \item a parallel online mode simulator for performance prediction; 
61 % #CLM# \item a parallel post-mortem mode network simulator for performance prediction. 
62         \item a parallel post-mortem mode simulator for performance prediction, including network simulation. 
63 \end{enumerate}
64
65 \subsection{History}
66
67 % #CLM# The first version of Blue Gene emulator was written in Charm++, a 
68         The first version of the BlueGene emulator was written in Charm++, a 
69 parallel object language, in fall 2001. 
70
71 % #CLM# The second version of Blue Gene emulator was completely rewritten on top 
72         The second version of the BlueGene emulator was completely rewritten on top 
73 of Converse instead of Charm++ in spring 2002. 
74 % #CLM# While the API supported by the original emulator remains almost same,
75         While the API supported by the original emulator remains almost the same,
76 many new features were added.
77 % - support of thread-committed messages that 
78 %can be send to a specific thread in a Blue Gene node; support of Blue Gene 
79 %node level broadcast.
80 The new emulator was implemented on a portable low layer communication 
81 library - Converse, in order to achieve better 
82 performance by avoiding the cross layer overhead.
83 %Another advantage is that the lighter weighted emulator makes it easier
84 %to port higher level of programming language onto the emulator.
85
86 % #CLM# Charm++ was soon ported to the emulator in 2002 which provided the
87         Charm++ was ported to the emulator in 2002, providing the
88  first parallel language model on top of the emulator.
89
90 A performance simulation capability was added to the emulator in spring 2003.
91 The new simulator was renamed to BigSim at the same time.
92 During the same year, we developed a POSE-based postmortem mode network
93 simulator called BigNetSim. In fall 2006, we renamed BigNetSim as simply
94 BigSim simulator.
95
96 In the following sections, we will first describe how to download and compile
97 % #CLM# Blue Gene simulator(Section ~\ref{install}). Section~\ref{bgemulator} will describe
98     the BigSim system (Section~\ref{install}). Section~\ref{bgemulator} describes
99 % #CLM# the low level machine API in detail. 
100     the BigSim Emulator and the low level machine API in detail. 
101
102
103 \input{install}
104 \input{emulator}
105 % #CLM# REMOVE ONLINE SIMULATOR; MOVE BGAPI HERE
106 % #CLM# \input{simulator}
107
108 %\input{interpolation}
109 \input{bgapi}
110 \input{bignetsim}
111
112 \input{index}
113 \end{document}
114
115