Compiler and Runtime Support for Scaling Adaptive Mesh Refinement Computations in Titanium

Jimmy Zhigang Su, Tong Wen and Katherine A. Yelick

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2006-87
June 13, 2006

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-87.pdf

In this paper we present a case study of implementing an Adaptive Mesh Refinement algorithm in Titanium, a partitioned global address space language based on Java. We extend prior work by focusing on the problem of scalable parallelism and demonstrate the use of language, compiler, runtime and application level support to address problems of load balancing, parallelism, and communication optimizations. We demonstrate that, while the Titanium code is an order of magnitude more compact than an equivalent program written in C++ and Fortran with MPI, the Titanium implementation has comparable seriable performance and scalability. The Titanium code uses one-sided array copy operations which are transformed by the compiler to perform automatic packing using an SMP-aware communication model suitable for hybrid shared and distributed memory machines.


BibTeX citation:

@techreport{Su:EECS-2006-87,
    Author = {Su, Jimmy Zhigang and Wen, Tong and Yelick, Katherine A.},
    Title = {Compiler and Runtime Support for Scaling Adaptive Mesh Refinement Computations in Titanium},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2006},
    Month = {Jun},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-87.html},
    Number = {UCB/EECS-2006-87},
    Abstract = {In this paper we present a case study of implementing an Adaptive Mesh Refinement algorithm in Titanium, a partitioned global address space language based on Java. We extend prior work by focusing on the problem of scalable parallelism and demonstrate the use of language, compiler, runtime and application level support to address problems of load balancing, parallelism, and communication optimizations. We demonstrate that, while the Titanium code is an order of magnitude more compact than an equivalent program written in C++ and Fortran with MPI, the Titanium implementation has comparable seriable performance and scalability. The Titanium code uses one-sided array copy operations which are transformed by the compiler to perform automatic packing using an SMP-aware communication model suitable for hybrid shared and distributed memory machines.}
}

EndNote citation:

%0 Report
%A Su, Jimmy Zhigang
%A Wen, Tong
%A Yelick, Katherine A.
%T Compiler and Runtime Support for Scaling Adaptive Mesh Refinement Computations in Titanium
%I EECS Department, University of California, Berkeley
%D 2006
%8 June 13
%@ UCB/EECS-2006-87
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-87.html
%F Su:EECS-2006-87