A document presents a concept for run-time implementation of other concepts embodied in the Chapel programming language. (Now undergoing development, Chapel is intended to become a standard language for parallel computing that would surpass older such languages in both computational performance in the efficiency with which pre-existing code can be reused and new code written.) The aforementioned other concepts are those of distributions, domains, allocations, and access, as defined in a separate document called "A Semantic Framework for Domains and Distributions in Chapel" and linked to a language specification defined in another separate document called "Chapel Specification 0.3." The concept presented in the instant report is recognition that a data domain that was invented for Chapel offers a novel approach to distributing and processing data in a massively parallel environment. The concept is offered as a starting point for development of working descriptions of functions and data structures that would be necessary to implement interfaces to a compiler for transforming the aforementioned other concepts from their representations in Chapel source code to their run-time implementations.

This work was done by Mark James of Caltech for NASA's Jet Propulsion Laboratory. For further information, access the Technical Support Package (TSP) free online at www.techbriefs.com/tsp under the Information Sciences category.

The software used in this innovation is available for commercial licensing. Please contact Karina Edmonds of the California Institute of Technology at (626) 395-2322. Refer to NPO-42496.



This Brief includes a Technical Support Package (TSP).
Document cover
A Concept for Run-Time Support of the Chapel Language

(reference NPO-42496) is currently available for download from the TSP library.

Don't have an account?



Magazine cover
NASA Tech Briefs Magazine

This article first appeared in the October, 2006 issue of NASA Tech Briefs Magazine (Vol. 30 No. 10).

Read more articles from the archives here.


Overview

The document titled "Run-Time Support for a Massively Distributed Parallel Programming Language" (NPO-42496) outlines the essential functions and data structures required to implement the Chapel programming language, particularly its concepts of Distributions, Domains, and Allocation. Chapel is designed for massively parallel computing environments, making it suitable for applications in fields such as data analysis, structural analysis, and scientific research, including NASA's work with supercomputers.

The document emphasizes the novel approach of Chapel in distributing data and processing tasks across parallel architectures. It details how the semantic definitions of distributions and domains, as established in the referenced work "A Semantic Framework for Domains and Distributions in Chapel," are linked to the Chapel language specification. This connection is crucial for understanding the transformations from Chapel source code to its run-time implementation.

A key innovation presented in the document is the set of functions that provide top-level run-time support and infrastructure for implementing data distributions. This infrastructure is designed to facilitate efficient data management and processing in environments characterized by high levels of parallelism. The document asserts that this approach represents a significant advancement over traditional methods of data distribution in parallel computing.

The potential applications of this technology extend beyond NASA, impacting various sectors such as manufacturing, chemical analysis, and biological research. The document suggests that the Chapel programming language and its run-time support can enhance the analysis of large datasets, making it a valuable tool for researchers and engineers working with complex computational problems.

Additionally, the document serves as a technical support package under NASA's Commercial Technology Program, aiming to disseminate aerospace-related developments with broader technological, scientific, or commercial implications. It provides contact information for further assistance and access to additional resources through the NASA Scientific and Technical Information (STI) Program Office.

In summary, the document presents a comprehensive overview of the run-time support for the Chapel programming language, highlighting its innovative approach to data distribution in massively parallel computing environments and its potential applications across various scientific and commercial fields.