Immersed Boundary Method Generic Software in Titanium

Simon Yau
(Professor Katherine A. Yelick)
(ASCI-3 LLNL) W-7405-ENG-48 and (NSF) PACI ACI-9619020

The Immersed Boundary Method (IBM) is a numerical method developed by Charles Peskin and David McQueen of the Courant Institute of Mathematical Sciences (CIMS) to simulate a class of biological systems [1]. The method is an efficient way to simulate systems that can be represented by elastic fibers immersed in an incompressible fluid. Using this method, McQueen and Peskin have been able to write a simulation of the mammalian heartbeat [2], which has been used in medical research.

Since this method was developed, many groups have found other uses for the immersed boundary method. For example, George Oster used the IBM to simulate sea urchin embryo cells [3]; Ed Givelberg and Julian Bunn used IBM to simulate the cochlea [4]; and John Stockie used IBM to simulate pulp fibers for his PhD thesis.

However, the simulation software can only be run on shared memory parallel machines, which limits the number of processors to which their code can scale. Moreover, each research group that wants to write its own immersed boundary simulation has to replicate the core simulation code from the CIMS. To remedy this situation, we are implementing a generic immersed boundary software package written in Titanium for distributed architectures. Titanium is a java-like language that supports the Single Program Multiple Data (SPMD) programming model, and is portable to most communication back-ends [5]. A research group that wants to write immersed boundary simulation software can simply take this package and add in its simulation specific code.

Currently, we have written and tuned the generic software package, and have used it to run a contractile torus simulation and the original mammalian heart simulation. The package scales up to 64 processors, and has run on distributed parallel machines such as the Cray T3E and the Millennium cluster. The performance of the heart simulation that is written using the generic package is comparable with the original CIMS code written in FORTRAN. We are currently working on adapting the generic software to run a cochlea simulation, as well as porting it to IBMís Blue Horizon.

Additional information on this project can be found at:

  • NPACI alpha project description
  • Project page
  • Article on San Diego Supercomputing Centerís magazine
  • Titanium homepage


    Figure 1: Screen shot of a contractile torus

    [1]
    C. S. Peskin and D. M. McQueen, "A General Method for the Computer Simulation of Biological Systems Interacting with Fluids," Biological Fluid Dynamics, 1995.
    [2]
    D. M. McQueen and C. S. Peskin, "Shared-Memory Parallel Vector Implementation of the Immersed Boundary Method for the Computation of Blood Flow in the Beating Mammalian Heart," Journal of Supercomputing, Vol. 11, No. 3, 1997.
    [3]
    C. Peskin and G. Oster, "Coordinated Hydrolysis Explains the Mechanical Behavior of Kinesin," Biophysical J., Vol. 68, No. 4, April 1995.
    [4]
    E. Givelberg and J. Bunn, Detailed Simulation of the Cochlea: Recent Progress Using Large Shared Memory Parallel Computers, CACR Technical Report CACR-190, July 2001.
    [5]
    K. L. Yelick, L. Semenzato, G. Pike, C. Miyamoto, B. Liblit, A. Krishnamurthy, P. Hilfinger, S. Graham, D. Gay, P. Colella, and A. Aiken, "Titanium: A High-Performance Java Dialect," Concurrency: Practice and Experience, September-November 1998.

    More information (http://www.cs.berkeley.edu/~smyau/ti_ibgs/ti_ibgs.html) or

    Send mail to the author : (smyau@cs.berkeley.edu)


    Edit this abstract