Parallelizing a Cell Simulation: Analysis, Abstraction, and Portability

Stephen Steinberg

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-95-878
December 1994

http://www2.eecs.berkeley.edu/Pubs/TechRpts/1995/CSD-95-878.pdf

Biologists hope to use detailed physical simulations to test theories about cell movement. Computer scientists would like to be able to design parallel programs that run efficiently on a wide range of machines. This paper describes the intersection of these two desires. We present a general design methodology for portable parallel programs, use it to parallelize a cell simulation, and then analyze the result on a CM-5, SP-1, and network of workstations.

Our methodology is to use analytical models combined with empirical measurements of important kernels in order to choose between algorithms and data layout schemes. We can then implement efficient and re-usable data structures to hide the complexities of distributed memory programming. Detailed measurements of the application and the machines are then used to determine machine-specific optimizations. Using this technique we achieved good speedups on all three machines. This paper describes the results of each stage and discusses their implications for multiprocessor designers.


BibTeX citation:

@techreport{Steinberg:CSD-95-878,
    Author = {Steinberg, Stephen},
    Title = {Parallelizing a Cell Simulation: Analysis, Abstraction, and Portability},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1994},
    Month = {Dec},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1994/5516.html},
    Number = {UCB/CSD-95-878},
    Abstract = {Biologists hope to use detailed physical simulations to test theories about cell movement. Computer scientists would like to be able to design parallel programs that run efficiently on a wide range of machines. This paper describes the intersection of these two desires. We present a general design methodology for portable parallel programs, use it to parallelize a cell simulation, and then analyze the result on a CM-5, SP-1, and network of workstations. <p>Our methodology is to use analytical models combined with empirical measurements of important kernels in order to choose between algorithms and data layout schemes. We can then implement efficient and re-usable data structures to hide the complexities of distributed memory programming. Detailed measurements of the application and the machines are then used to determine machine-specific optimizations. Using this technique we achieved good speedups on all three machines. This paper describes the results of each stage and discusses their implications for multiprocessor designers.}
}

EndNote citation:

%0 Report
%A Steinberg, Stephen
%T Parallelizing a Cell Simulation: Analysis, Abstraction, and Portability
%I EECS Department, University of California, Berkeley
%D 1994
%@ UCB/CSD-95-878
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/1994/5516.html
%F Steinberg:CSD-95-878