Interfacing interpreted and compiled languages to support applications on a massively parallel network of workstations (MP-NOW)

  • Authors:
  • Jeremy Kepner;Maya Gokhale;Ron Minnich;Aaron Marks;John DeGood

  • Affiliations:
  • Princeton University, Princeton, NJ, USA;Sarnoff Corporation, Princeton, NJ, USA;Sarnoff Corporation, Princeton, NJ, USA;Sarnoff Corporation, Princeton, NJ, USA;Sarnoff Corporation, Princeton, NJ, USA

  • Venue:
  • Cluster Computing
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

The advent of Massively Parallel Network of Workstations (MP-NOW) represents an important trend in high performance computing. The rise of interpreted languages (e.g., Visual Basic, MATLAB, IDL, Maple and Mathematica) for algorithm development, prototyping, data analysis and graphical user interfaces (GUIs) represents an important trend in software engineering. However, using interpreted languages on a MP-NOW is a significant challenge. We present a specific example of a very simple, but generic solution to this problem. Our example uses an interpreted language to set up a calculation and then interfaces with a computational kernel written in a compiled language (e.g., C, C++, Fortran). The interpreted language calls the computational kernel as an external library. We have added to the computational kernel an additional layer, which manages multiple copies of the kernel running on a MP-NOW and returns the results back to the interpreted layer. Our implementation uses The Next generation Taskbag (TNT) library developed at Sarnoff to provide an efficient means for implementing task parallelism. A test problem (taken from Astronomy) has been implemented on the Sarnoff Cyclone computer which consists of 160 heterogeneous nodes connected by a “fat” tree 100 Mb/s switched Ethernet running the RedHat Linux and FreeBSD operating systems. Our first results in this ongoing project have demonstrated the feasibility of this approach and produced speedups of greater than 50 on 60 processors.