Performance characterization and modeling of the molecular simulation code opal

In modern parallel computing there exists a large number of highly different platforms and it is important to choose the right parallel platform for a computationally intensive code. To decide about the most cost effective parallel platform, a computer scientist needs a precise characterization of the application properties, such as memory usage, computation and communication requirements. The computer architects need this information to provide the community with new, more cost effective platforms. The precise resource usage is of little interest to the users or computational scientists in the applied field, so most traditional parallel codes are ill equipped to collect data about their resource usage and behavior at run time. Once an application runs, is numerically stable and there is some speedup, most computational scientists declare victory and move on to the next application. Contrary to that philosophy, our group of computer architects invested a considerable amount of effort and time to instrument Opal, a parallel molecular biology simulation code, for an accurate performance characterization on a given parallel platform. As a result we can present a simple analytical model for the execution time of that particular application code along with an in depth verification of that model through measured execution times. The model and measurements can not only be used for performance tuning but also for a good prediction of the code’s performance on alternative platforms, like newer and cheaper parallel architectures or the next generation of supercomputers to be installed at our site.

[1]  Peter Arbenz,et al.  SCIDDLE: A tool for large scale distributed computing , 1995, Concurr. Pract. Exp..

[2]  M. Billeter,et al.  The new program OPAL for molecular dynamics simulations and energy refinements of biological macromolecules , 1996, Journal of biomolecular NMR.

[3]  Donald E. Knuth The Art of Computer Programming 2 / Seminumerical Algorithms , 1971 .

[4]  Jack Dongarra,et al.  PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing , 1995 .

[5]  Jeffrey S. Chase,et al.  The Amber system: parallel programming on a network of multiprocessors , 1989, SOSP '89.

[6]  Scott Pakin,et al.  Dynamic Coscheduling on Workstation Clusters , 1998, JSSPP.

[7]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[8]  Peter Arbenz,et al.  Molecular Dynamics Simulations on Cray Clusters using the SCIDDLE-PVM environment , 1996, PVM.

[9]  Raj Jain,et al.  The Art of Computer Systems Performance Analysis : Tech-niques for Experimental Design , 1991 .

[10]  L. Iftode,et al.  Design choices in the SHRIMP system: an empirical study , 1998, Proceedings. 25th Annual International Symposium on Computer Architecture (Cat. No.98CB36235).

[11]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .

[12]  Raj Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[13]  Thomas L. Sterling,et al.  BEOWULF: A Parallel Workstation for Scientific Computation , 1995, ICPP.

[14]  Peter Arbenz,et al.  Sciddle 4.0, or, Remote Procedure Calles in PVM , 1996, HPCN Europe.

[15]  Albert Nijenhuis,et al.  Combinatorial Algorithms for Computers and Calculators , 1978 .

[16]  Kurt Wüthrich,et al.  Hydration and DNA Recognition by Homeodomains , 1996, Cell.