A description of the functions and data structures is defined that would be necessary to implement the Chapel concept of distributions, domains, allocation, access, and interfaces to the compiler for transformations from Chapel source to their run-time implementation for these concepts. A complete set of object-oriented operators is defined that enables one to access elements of a distributed array through regular arithmetic index sets, giving the programmer the illusion that all the elements are collocated on a single processor. This means that arbitrary regions of the arrays can be fragmented and distributed across multiple processors with a single point of access. This is important because it can significantly improve programmer productivity by allowing the programmers to concentrate on the high-level details of the algorithm without worrying about the efficiency and communication details of the underlying representation.
This work was done by Mark James of Caltech for NASA's Jet Propulsion Laboratory. For more information, download the Technical Support Package (free white paper) 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-42505.
This Brief includes a Technical Support Package (TSP).

Single-Point Access to Data Distributed on Many Processors
(reference NPO-42505) is currently available for download from the TSP library.
Don't have an account?
Overview
The document titled "Parallel Implementation of Domains, Arrays and Sequences in Massively Distributed Architecture" (NPO-42505) discusses a novel approach to managing distributed data in high-performance computing environments, particularly relevant to NASA's Jet Propulsion Laboratory (JPL) and its High Productivity Computing Systems (HPCS) program.
The core innovation presented is a comprehensive set of object-oriented operators that enable programmers to access elements of distributed arrays using regular arithmetic index sets. This design creates the illusion that all elements are located on a single processor, significantly enhancing programmer productivity. By abstracting the complexities of data distribution and communication, developers can focus on high-level algorithmic details without being bogged down by the underlying technicalities of data management.
The document emphasizes the importance of this approach for NASA, which requires efficient handling of vast amounts of scientific data generated from various missions. The ability to distribute array contents across multiple processors allows for parallel data processing, which is crucial for meeting the computational demands of NASA's projects.
Additionally, the document highlights the collaboration between JPL and Cray under the DARPA HPCS program, which aims to develop a new high-performance programming language called Chapel. Chapel is designed to address the representational and performance needs of the hardware used in the HPCS program, further facilitating the efficient distribution and processing of data.
The implications of this work extend beyond NASA, as the techniques and technologies developed could have broader applications in various industries that require high-performance computing solutions. The document serves as a technical support package, providing insights into the advancements in aerospace-related developments that may have wider technological, scientific, or commercial applications.
In summary, the document outlines a significant advancement in the field of distributed computing, showcasing how innovative programming techniques can improve data access and processing efficiency in complex systems. This work not only supports NASA's mission-critical needs but also contributes to the broader landscape of high-performance computing technologies.

