A C software module has been developed that creates lightweight processes (LWPs) dynamically to achieve parallel computing performance in a variety of engineering simulation and analysis applications to support NASA and DoD project tasks. The required interface between the module and the application it supports is simple, minimal and almost completely transparent to the user applications, and it can achieve nearly ideal computing speed-up on multi-CPU engineering workstations of all operating system platforms. The module can be integrated into an existing application (C, C++, Fortran and others) either as part of a compiled module or as a dynamically linked library (DLL).

This software has the following major advantages over existing commercial and public domain software of similar functionality.

  1. It is especially applicable to and powerful on commercially, widely available, multi-CPU engineering workstations;
  2. It has a very simple software architecture and user interface and can be quickly integrated into an existing application; and
  3. Its code size is very small, and its performance overhead is minimal, resulting in nearly ideal parallel-computing performance for many computing-intensive scientific and engineering applications.

The approach adopted in this technology development does not require any additional hardware and software beyond what’s typically available on any commercial engineering workstations, that is a native operating system and C, C++ or FORTRAN compilers that an application needs.

This work was done by John Z. Lou of Caltech for NASA’s Jet Propulsion Laboratory. For more information, contact This email address is being protected from spambots. You need JavaScript enabled to view it..

The software used in this innovation is available for commercial licensing. Please contact Daniel Broderick of the California Institute of Technology at This email address is being protected from spambots. You need JavaScript enabled to view it.. Refer to NPO-46892.

Software Tech Briefs Magazine

This article first appeared in the September, 2010 issue of Software Tech Briefs Magazine.

Read more articles from this issue here.

Read more articles from the archives here.