offprint
offprint
RESEARCH ARTICLE
JASMIN: a parallel software infrastructure for scientific
computing
Zeyao MO (✉), Aiqing ZHANG, Xiaolin CAO, Qingkai LIU, Xiaowen XU,
Hengbin AN, Wenbing PEI, Shaoping ZHU
Laboratory of Computational Physics, High Performance Computing Center, Institute of Applied Physics and Computational Mathematics,
Beijing 100088, China
© Higher Education Press and Springer-Verlag Berlin Heidelberg 2010
Abstract The exponential growth of computer power in
the last 10 years is now creating a great challenge for
parallel programming toward achieving realistic perfor-
mance in the field of scientific computing. To improve on
the traditional program for numerical simulations of laser
fusion in inertial confinement fusion (ICF), the Institute of
Applied Physics and Computational Mathematics
(IAPCM) initializes a software infrastructure named J
Adaptive Structured Meshes applications INfrastructure
(JASMIN) in 2004. The main objective of JASMIN is to
accelerate the development of parallel programs for large
scale simulations of complex applications on parallel
computers. Now, JASMIN has released version 1.8 and
has achieved its original objectives. Tens of parallel
programs have been reconstructed or developed on
thousands of processors. JASMIN promotes a new
paradigm of parallel programming for scientific comput-
ing. In this paper, JASMIN is briefly introduced.
Keywords J Adaptive Structured Meshes applications
INfrastructure (JASMIN), parallel computing, scientific
computing
1 Background
Computers have been indispen sable for scientific
research. In the past ten years, the growth of computer
power has increased by over one thousand times [1]. Such
growth is now launching a new field of computational
science [2]. Computational simulation has the great
potential to join theory and experim ents as a third
powerful research methodology. In recent years, the new
discipline has already begun yielding important and
exciting results to simulate phenomena such as supernova
explosions, inertial confinement fusion (ICF), nuclear
explosions, the effect of space weather, and so forth [3,4].
However, it is clear so far, that much computational
science is troublingly immature. In particular, program-
ming is becoming a great challenge as was reported five
years ago [5], and will be even more challenging in the
future [6].
The programming challenges mainly arise from two
types of increasing complexity [7,8]. The first is the
computer architecture. The memory wall is still the key
bottleneck for realistic performance; the increasing
number of cores in each CPU increases the seriousness
of this bottleneck. The data structures should be matched
to a cached-based memory hierarchy. However, aggrega-
tion techniques are indispensable for the construction of
computers. More and more cores are integrated into each
CPU, and more and more CPUs are clustered into each
computing node, and hundreds or thousands of nodes are
interconnected. Parallel algorithms should have sufficient
parallelism to utilize so many cores. The design of such
data structures and parallel algorithms are too professional
for the application users.
The second complexity is the application system. Large
scale simulations are mainly used to study the character-
istics of complex systems. With the increasing of
computer capabilities, the complexity of the application
system should also increase simultaneously. However, the
Received June 1, 2010; accepted September 13, 2010
E-mail: zeyao_mo@iapcm.ac.cn
Front. Comput. Sci. China 2010, 4(4): 480–488
DOI 10.1007/s11704-010-0120-5
THE AUTHORS WARRANT THAT THEY WILL NOT POST THE E-OFFPRINT OF THE PAPER ON PUBLIC WEBSITES.