An Empirical Performance Study of Chapel Programming Language

In this paper we evaluate the performance of the Chapel programming language from the perspective of its language primitives and features, where the microbenchmarks are synthesized from our lessons learned in developing molecular dynamics simulation programs in Chapel. Experimental results show that most language building blocks have comparable performance to corresponding hand-written C code, while the complex applications can achieve up to 70% of the performance of C implementation. We identify several causes of overhead that can be further optimized by Chapel compiler. This work not only helps Chapel users understand the performance implication of using Chapel, but also provides useful feedbacks for Chapel developers to make a better compiler.

[1]  Bradford L. Chamberlain,et al.  Parallel Programmability and the Chapel Language , 2007, Int. J. High Perform. Comput. Appl..

[2]  David E. Bernholdt,et al.  Programmability of the HPCS Languages: A case study with a quantum chemistry kernel , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[3]  Sadaf R. Alam,et al.  Exploring the Performance Potential of Chapel in Scientific Computations , 2008 .

[4]  Steven J. Deitz,et al.  Iterators in Chapel , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[6]  M.G.B. Drew,et al.  The art of molecular dynamics simulation , 1996 .

[7]  Michele Weiland,et al.  Performance Evaluation of Chapel’s Task Parallel Features , 2009 .

[8]  Sadaf R. Alam,et al.  DARPA's HPCS Program- History, Models, Tools, Languages , 2008, Adv. Comput..

[9]  Leslie Greengard,et al.  A fast algorithm for particle simulations , 1987 .

[10]  D. C. Rapaport,et al.  The Art of Molecular Dynamics Simulation , 1997 .

[11]  Bradford L. Chamberlain,et al.  Using the High Productivity Language Chapel to Target GPGPU Architectures , 2011 .

[12]  B. Chamberlain,et al.  User-Defined Parallel Zippered Iterators in Chapel ∗ , 2011 .

[13]  Steven J. Deitz,et al.  Translating Chapel to Use FREERIDE: A Case Study in Using an HPC Language for Data-Intensive Computing , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[14]  P. P. Ewald Die Berechnung optischer und elektrostatischer Gitterpotentiale , 1921 .

[15]  Michele Weiland,et al.  Chapel , Fortress and X10 : novel languages for HPC , 2007 .

[16]  B M Pettitt,et al.  Fast multipole methods for particle dynamics , 2006, Molecular simulation.