Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Compiler Optimization”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

410 records · Page 23

ISHM Anomaly Lexicon for Rocket Test

Integrated Systems Health Management (ISHM) is a comprehensive capability. An ISHM system must detect anomalies, identify causes of such anomalies, predict future anomalies, help identify consequences of anomalies for example, suggested mitigation steps. The system should also provide users with appropriate navigation tools to facilitate the flow of information into and out of the ISHM system. Central to the ability of the ISHM to detect anomalies is a clearly defined catalog of anomalies. Further, this lexicon of anomalies must be organized in ways that make it accessible to a suite of tools used to manage the data, information and knowledge (DIaK) associated with a system. In particular, it is critical to ensure that there is optimal mapping between target anomalies and the algorithms associated with their detection. During the early development of our ISHM architecture and approach, it became clear that a lexicon of anomalies would be important to the development of critical anomaly detection algorithms. In our work in the rocket engine test environment at John C. Stennis Space Center, we have access to a repository of discrepancy reports (DRs) that are generated in response to squawks identified during post-test data analysis. The DR is the tool used to document anomalies and the methods used to resolve the issue. These DRs have been generated for many different tests and for all test stands. The result is that they represent a comprehensive summary of the anomalies associated with rocket engine testing. Fig. 1 illustrates some of the data that can be extracted from a DR. Such information includes affected transducer channels, narrative description of the observed anomaly, and the steps used to correct the problem. The primary goal of the anomaly lexicon development efforts we have undertaken is to create a lexicon that could be used in support of an associated health assessment database system (HADS) co-development effort. There are a number of significant byproducts of the anomaly lexicon compilation effort. For example, (1) Allows determination of the frequency distribution of anomalies to help identify those with the potential for high return on investment if included in automated detection as part of an ISHM system, (2) Availability of a regular lexicon could provide the base anomaly name choices to help maintain consistency in the DR collection process, and (3) Although developed for the rocket engine test environment, most of the anomalies are not specific to rocket testing, and thus can be reused in other applications.

Schmalzel, John L.↗

Integrated Task And Data Parallel Programming: Language Design

his research investigates the combination of task and data parallel language constructs within a single programming language. There are an number of applications that exhibit properties which would be well served by such an integrated language. Examples include global climate models, aircraft design problems, and multidisciplinary design optimization problems. Our approach incorporates data parallel language constructs into an existing, object oriented, task parallel language. The language will support creation and manipulation of parallel classes and objects of both types (task parallel and data parallel). Ultimately, the language will allow data parallel and task parallel classes to be used either as building blocks or managers of parallel objects of either type, thus allowing the development of single and multi-paradigm parallel applications. 1995 Research Accomplishments In February I presented a paper at Frontiers '95 describing the design of the data parallel language subset. During the spring I wrote and defended my dissertation proposal. Since that time I have developed a runtime model for the language subset. I have begun implementing the model and hand-coding simple examples which demonstrate the language subset. I have identified an astrophysical fluid flow application which will validate the data parallel language subset. 1996 Research Agenda Milestones for the coming year include implementing a significant portion of the data parallel language subset over the Legion system. Using simple hand-coded methods, I plan to demonstrate (1) concurrent task and data parallel objects and (2) task parallel objects managing both task and data parallel objects. My next steps will focus on constructing a compiler and implementing the fluid flow application with the language. Concurrently, I will conduct a search for a real-world application exhibiting both task and data parallelism within the same program m. Additional 1995 Activities During the fall I collaborated with Andrew Grimshaw and Adam Ferrari to write a book chapter which will be included in Parallel Processing in C++ edited by Gregory Wilson. I also finished two courses, Compilers and Advanced Compilers, in 1995. These courses complete my class requirements at the University of Virginia. I have only my dissertation research and defense to complete.

Grimshaw, Andrew S.↗

Integrated Task and Data Parallel Programming

This research investigates the combination of task and data parallel language constructs within a single programming language. There are an number of applications that exhibit properties which would be well served by such an integrated language. Examples include global climate models, aircraft design problems, and multidisciplinary design optimization problems. Our approach incorporates data parallel language constructs into an existing, object oriented, task parallel language. The language will support creation and manipulation of parallel classes and objects of both types (task parallel and data parallel). Ultimately, the language will allow data parallel and task parallel classes to be used either as building blocks or managers of parallel objects of either type, thus allowing the development of single and multi-paradigm parallel applications. 1995 Research Accomplishments In February I presented a paper at Frontiers 1995 describing the design of the data parallel language subset. During the spring I wrote and defended my dissertation proposal. Since that time I have developed a runtime model for the language subset. I have begun implementing the model and hand-coding simple examples which demonstrate the language subset. I have identified an astrophysical fluid flow application which will validate the data parallel language subset. 1996 Research Agenda Milestones for the coming year include implementing a significant portion of the data parallel language subset over the Legion system. Using simple hand-coded methods, I plan to demonstrate (1) concurrent task and data parallel objects and (2) task parallel objects managing both task and data parallel objects. My next steps will focus on constructing a compiler and implementing the fluid flow application with the language. Concurrently, I will conduct a search for a real-world application exhibiting both task and data parallelism within the same program. Additional 1995 Activities During the fall I collaborated with Andrew Grimshaw and Adam Ferrari to write a book chapter which will be included in Parallel Processing in C++ edited by Gregory Wilson. I also finished two courses, Compilers and Advanced Compilers, in 1995. These courses complete my class requirements at the University of Virginia. I have only my dissertation research and defense to complete.

Grimshaw, A. S.↗

DLES Unreal Simulation Tool (DUST)

NASA’s future Artemis missions to the Moon seek to explore areas around the Lunar South Pole. Though humans have previously set foot on the lunar surface, the proposed region provides unique and challenging environments that require insight and investigation prior to arrival. Several teams throughout the agency are performing this site and mission planning, design, and analysis to support areas like the Human Landing System (HLS), surface mobility, habitation elements, and scientific exploration. The NASA Exploration Systems Simulation (NExSyS) team at Johnson Space Center is developing a graphical environment of the Lunar South Pole region. Lunar terrain information collected from the Lunar Reconnaissance Orbiter (LRO) is compiled and made available through Johnson Space Center’s Digital Lunar Exploration Sites (DLES) data sets. The DLES data is used to build this graphic environment. The process of ingesting and accurately modeling this information in a meaningful way for analysis creates its own challenges such as generating a performant model from the source data and the application of curvature. Additionally, the area around the Lunar South Pole experiences different lighting conditions than those observed from the Apollo missions. The need to use the lunar environmental data products provided by DLES combined with the capability to calculate date specific ephemerides in real-time has given rise to the development of the DLES Unreal Simulation Tool (DUST). DUST incorporates augmented terrain from the DLES product into a desktop application that allows exploration of the Lunar South Pole region and its complex lighting conditions. DUST leverages advanced capabilities in the recently released Unreal Engine 5 renderer by Epic Games such as double precision for positioning of planetary bodies and surface elements, multiple infinite light sources to represent the Sun and eventually Earthshine, high resolution shadow maps for dynamic shadow accuracy, real-time software ray-tracing for multi-surface bounce lighting to render sunlight reflected off surface elements and terrain features, and performance optimized level of detail shifting as the eyepoint changes in a scene. This paper details the DUST application, the technologies of the engine platform that enable scientific and engineering analysis, the unique techniques and processes developed to consume the DLES data sets, and how the tool is being used to support the Artemis program.

Lunar Visualization↗

Trajectory Optimization: OTIS 4

The latest release of the Optimal Trajectories by Implicit Simulation (OTIS4) allows users to simulate and optimize aerospace vehicle trajectories. With OTIS4, one can seamlessly generate optimal trajectories and parametric vehicle designs simultaneously. New features also allow OTIS4 to solve non-aerospace continuous time optimal control problems. The inputs and outputs of OTIS4 have been updated extensively from previous versions. Inputs now make use of objectoriented constructs, including one called a metastring. Metastrings use a greatly improved calculator and common nomenclature to reduce the user s workload. They allow for more flexibility in specifying vehicle physical models, boundary conditions, and path constraints. The OTIS4 calculator supports common mathematical functions, Boolean operations, and conditional statements. This allows users to define their own variables for use as outputs, constraints, or objective functions. The user-defined outputs can directly interface with other programs, such as spreadsheets, plotting packages, and visualization programs. Internally, OTIS4 has more explicit and implicit integration procedures, including high-order collocation methods, the pseudo-spectral method, and several variations of multiple shooting. Users may switch easily between the various methods. Several unique numerical techniques such as automated variable scaling and implicit integration grid refinement, support the integration methods. OTIS4 is also significantly more user friendly than previous versions. The installation process is nearly identical on various platforms, including Microsoft Windows, Apple OS X, and Linux operating systems. Cross-platform scripts also help make the execution of OTIS and post-processing of data easier. OTIS4 is supplied free by NASA and is subject to ITAR (International Traffic in Arms Regulations) restrictions. Users must have a Fortran compiler, and a Python interpreter is highly recommended.

Riehl, John P.↗

Short-Depth QAOA circuits and Quantum Annealing on Higher-Order Ising Models (Rev.2)

The Quantum Alternating Operator Ansatz (QAOA) and Quantum Annealing (QA) are quantum algorithms that are both based on the adiabatic theorem and both have the goal of sampling the optimal solution(s) of combinatorial optimization problems. Quantum annealing has been physically instantiated on D-Wave devices using superconducting flux qubits, and QAOA can be programmed on digital gate-model quantum computers such as the programmable superconducting transmon qubits devices of the IBMQ series, for instance ibm washington. QAOA and QA address the same types of problems, but it is unclear how they will scale to large problem sizes and to larger and higher-fidelity quantum computers. In this article, we present a direct comparison between QAOA, one and two rounds, run on all 127 qubits of ibm washington and QA run on D-Wave Advantage system4.1 and Advantage system6.1. The problems which allow for this comparison are random Ising model problems whose connectivity matches the heavy hexagonal lattice topology of ibm washington and the Pegasus graph connectivity of the two D-Wave devices. We create two classes of problem instances for this comparison: one with higher order terms (ZZZ variable interactions), linear terms, and quadratic terms, and a separate problem type with only linear and quadratic terms. Our QAOA circuits are novel and extremely short depth, with a CNOT depth of 6 per round, which allows whole chip usage of ibm washington’s heavy hexagonal lattice and can be applied to future heavy-hex chips. We also test the effectiveness of the error suppression technique digital dynamical decoupling on the QAOA circuits. The QAOA circuits compiled to ibm washington are composed of several thousand circuit instructions, approximately 3, 000 depending on the details of the circuit, making these some the largest quantum circuits ever executed on a digital quantum processor. QAOA and QA are compared against the classical heuristic algorithm of simulated annealing and all problem instances are exactly solved using CPLEX in order to evaluate which samplers, if any, correctly found the ground state solution(s) of the problem instances. We find that (i) QA outperforms QAOA on all problem instances, (ii) QAOA samples the problems better than random sampling, and (iii) QAOA angle computation exhibits clear parameter concentration across the ensemble of Ising models.

127 Qubits↗

Data for Determining Spatially Varying Profit-Maximizing Management Practices for Miscanthus and Switchgrass Production in the Rainfed United States

The compiled datasets include county-level variables used for simulating miscanthus and switchgrass production in 2287 counties across the rainfed US including 5-year (2012-2016) averaged growing season degree days (GDD), 5-year (2012-2016) averaged growing season cumulative precipitation, National Commodity Crop Productivity Index (NCCPI) values, regional dummies (only for miscanthus), the regional-level random effect of the yield response function, N price, land cash rent, the first year fixed cost (only for switchgrass), and separate datasets for simulating an alternative model assuming a constant N rate. The GAMS codes are used to run the simulation to obtain the main results including the age-varying profit-maximizing N rate, biomass yields, and annual profits for miscanthus and switchgrass production across counties in the rainfed US. The STATA codes are used to merge and analyze simulation results and create summary statistics tables and key figures.

Age↗

Incremental Parallelization of Non-Data-Parallel Programs Using the Charon Message-Passing Library

Message passing is among the most popular techniques for parallelizing scientific programs on distributed-memory architectures. The reasons for its success are wide availability (MPI), efficiency, and full tuning control provided to the programmer. A major drawback, however, is that incremental parallelization, as offered by compiler directives, is not generally possible, because all data structures have to be changed throughout the program simultaneously. Charon remedies this situation through mappings between distributed and non-distributed data. It allows breaking up the parallelization into small steps, guaranteeing correctness at every stage. Several tools are available to help convert legacy codes into high-performance message-passing programs. They usually target data-parallel applications, whose loops carrying most of the work can be distributed among all processors without much dependency analysis. Others do a full dependency analysis and then convert the code virtually automatically. Even more toolkits are available that aid construction from scratch of message passing programs. None, however, allows piecemeal translation of codes with complex data dependencies (i.e. non-data-parallel programs) into message passing codes. The Charon library (available in both C and Fortran) provides incremental parallelization capabilities by linking legacy code arrays with distributed arrays. During the conversion process, non-distributed and distributed arrays exist side by side, and simple mapping functions allow the programmer to switch between the two in any location in the program. Charon also provides wrapper functions that leave the structure of the legacy code intact, but that allow execution on truly distributed data. Finally, the library provides a rich set of communication functions that support virtually all patterns of remote data demands in realistic structured grid scientific programs, including transposition, nearest-neighbor communication, pipelining, gather/scatter, and redistribution. At the end of the conversion process most intermediate Charon function calls will have been removed, the non-distributed arrays will have been deleted, and virtually the only remaining Charon functions calls are the high-level, highly optimized communications. Distribution of the data is under complete control of the programmer, although a wide range of useful distributions is easily available through predefined functions. A crucial aspect of the library is that it does not allocate space for distributed arrays, but accepts programmer-specified memory. This has two major consequences. First, codes parallelized using Charon do not suffer from encapsulation; user data is always directly accessible. This provides high efficiency, and also retains the possibility of using message passing directly for highly irregular communications. Second, non-distributed arrays can be interpreted as (trivial) distributions in the Charon sense, which allows them to be mapped to truly distributed arrays, and vice versa. This is the mechanism that enables incremental parallelization. In this paper we provide a brief introduction of the library and then focus on the actual steps in the parallelization process, using some representative examples from, among others, the NAS Parallel Benchmarks. We show how a complicated two-dimensional pipeline-the prototypical non-data-parallel algorithm- can be constructed with ease. To demonstrate the flexibility of the library, we give examples of the stepwise, efficient parallel implementation of nonlocal boundary conditions common in aircraft simulations, as well as the construction of the sequence of grids required for multigrid.

VanderWijngaart, Rob F.↗

SAMZ: Satellite-Derived Management Zones

The term "satellite-derived management zones" (SAMZ) denotes agricultural management zones that are subdivisions of large fields and that are derived from images of the fields acquired by instruments aboard Earth orbiting satellites during approximately the past 15 years. "SAMZ" also denotes the methodology and the software that implements the methodology for creating such zones. The SAMZ approach is one of several products of continuing efforts to realize a concept of precision agriculture, which involves optimal variations in seeding, in application of chemicals, and in irrigation, plus decisions to farm or not to farm certain portions of fields, all in an effort to maximize profitability in view of spatial and temporal variations in the growth and health of crops and in the chemical and physical conditions of soils. As used here, "management zone" signifies, more precisely, a subdivision of a field within which the crop production behavior is regarded as homogeneous. From the perspective of precision agriculture, management zones are the smallest subdivisions between which the seeding, application of chemicals, and other management parameters are to be varied. In the SAMZ approach, the main sources of data are the archives of satellite imagery that have been collected over the years for diverse purposes. One of the main advantages afforded by the SAMZ approach is that the data in these archives can be reused for purposes of precision agriculture at low cost. De facto, these archives contain information on all sources of variability within a field, including weather, crop types, crop management, soil types, and water drainage patterns. The SAMZ methodology involves the establishment of a Web-based interface based on an algorithm that generates management zones automatically and quickly from archival satellite image data in response to requests from farmers. A farmer can make a request by either uploading data describing a field boundary to the Web site or else drawing the boundary on a reference image. Hence, a farmer can start to engage in precision farming shortly after gaining access to the Web site, without need for incurring the high costs of conventional precision-agriculture data-collection practices that include collecting soil samples, mapping electrical conductivity of soil, and compiling multi-year crop-yield data. Given the boundary of a field, a SAMZ server computes the zones within the field in a three-stage process. In the first stage, a vector-valued image of the field is constructed by assembling, from the archives, the equivalent of a stack of the available images of the field (see figure). In the second stage, the vector-valued image is analyzed by use of a wavelet transform that detects spatial variations considered significant for precision farming while suppressing small-scale heterogeneities that are regarded as insignificant. In the third stage, a segmentation algorithm assembles the zones from smaller regions that have been identified in the wavelet analysis.

Source record↗

Satellite-Derived Management Zones

The term "satellite-derived management zones" (SAMZ) denotes agricultural management zones that are subdivisions of large fields and that are derived from images of the fields acquired by instruments aboard Earth-orbiting satellites during approximately the past 15 years. "SAMZ" also denotes the methodology and the software that implements the methodology for creating such zones. The SAMZ approach is one of several products of continuing efforts to realize a concept of precision agriculture, which involves optimal variations in seeding, in application of chemicals, and in irrigation, plus decisions to farm or not to farm certain portions of fields, all in an effort to maximize profitability in view of spatial and temporal variations in the growth and health of crops, and in the chemical and physical conditions of soils. As used here, "management zone" signifies, more precisely, a subdivision of a field within which the crop-production behavior is regarded as homogeneous. From the perspective of precision agriculture, management zones are the smallest subdivisions between which the seeding, application of chemicals, and other management parameters are to be varied. In the SAMZ approach, the main sources of data are the archives of satellite imagery that have been collected over the years for diverse purposes. One of the main advantages afforded by the SAMZ approach is that the data in these archives can be reused for purposes of precision agriculture at low cost. De facto, these archives contain information on all sources of variability within a field, including weather, crop types, crop management, soil types, and water drainage patterns. The SAMZ methodology involves the establishment of a Web-based interface based on an algorithm that generates management zones automatically and quickly from archival satellite image data in response to requests from farmers. A farmer can make a request by either uploading data describing a field boundary to the Web site or else drawing the boundary on a reference image. Hence, a farmer can start to engage in precision farming shortly after gaining access to the Web site, without the need for incurring the high costs of conventional precision-agriculture data-collection practices that include collecting soil samples, mapping electrical conductivity of soil, and compiling multiyear crop-yield data. Given the boundary of a field, a SAMZ server computes the zones within the field in a three-stage process. In the first stage, a vector-valued image of the field is constructed by assembling, from the archives, the equivalent of a stack of the available images of the field (see figure). In the second stage, the vector-valued image is analyzed by use of a wavelet transform that detects spatial variations considered significant for precision farming while suppressing small-scale heterogeneities that are regarded as insignificant. In the third stage, a segmentation algorithm assembles the zones from smaller regions that have been identified in the wavelet analysis.

Lepoutre, Damien↗

Studies in the Fields of Space Flight and Guidance Theory: Progress Report - No. 2

Compiled in this paper are 11 progress papers from 7 of the agencies working under contract to MSFC in the areas of guidance theory and space flight theory. This is the second paper of the "Progress Reports" and covers the period from December 1, 1961 to June 15, 1962. Extensive references are made to "Progress Report No. 1." This second progress report is referred to as "report" and "Progress Report No. 1" will be referred to as the "first report" in this introduction. Information given in the first report is not repeated herein. The reports of the various contractors will be referred to by index number as papers. There are two parallel series of publications covering the over-all activities at MSFC in the areas of guidance theory and space flight theory. One is the series of progress reports of which this paper is the second in the series. The other is the series of "Status Reports on Theory of Space Flight and Adaptive Guidance." These series along with a few other special reports, give a complete picture of the immediate objectives, accomplishments, and final goals of Aeroballistics Division and associated contr

FLIGHT OPTIMIZATION↗

Integrated Medical Model Verification, Validation, and Credibility

The Integrated Medical Model (IMM) was designed to forecast relative changes for a specified set of crew health and mission success risk metrics by using a probabilistic (stochastic process) model based on historical data, cohort data, and subject matter expert opinion. A probabilistic approach is taken since exact (deterministic) results would not appropriately reflect the uncertainty in the IMM inputs. Once the IMM was conceptualized, a plan was needed to rigorously assess input information, framework and code, and output results of the IMM, and ensure that end user requests and requirements were considered during all stages of model development and implementation. METHODS: In 2008, the IMM team developed a comprehensive verification and validation (VV) plan, which specified internal and external review criteria encompassing 1) verification of data and IMM structure to ensure proper implementation of the IMM, 2) several validation techniques to confirm that the simulation capability of the IMM appropriately represents occurrences and consequences of medical conditions during space missions, and 3) credibility processes to develop user confidence in the information derived from the IMM. When the NASA-STD-7009 (7009) was published, the IMM team updated their verification, validation, and credibility (VVC) project plan to meet 7009 requirements and include 7009 tools in reporting VVC status of the IMM. RESULTS: IMM VVC updates are compiled recurrently and include 7009 Compliance and Credibility matrices, IMM VV Plan status, and a synopsis of any changes or updates to the IMM during the reporting period. Reporting tools have evolved over the lifetime of the IMM project to better communicate VVC status. This has included refining original 7009 methodology with augmentation from the NASA-STD-7009 Guidance Document. End user requests and requirements are being satisfied as evidenced by ISS Program acceptance of IMM risk forecasts, transition to an operational model and simulation tool, and completion of service requests from a broad end user consortium including Operations, Science and Technology Planning, and Exploration Planning. CONCLUSIONS: The VVC approach established by the IMM project of combining the IMM VV Plan with 7009 requirements is comprehensive and includes the involvement of end users at every stage in IMM evolution. Methods and techniques used to quantify the VVC status of the IMM have not only received approval from the local NASA community but have also garnered recognition by other federal agencies seeking to develop similar guidelines in the medical modeling community.

Validation↗

Learning nuclear cross sections across the chart of nuclides with graph neural networks

We explore the use of deep learning techniques to learn how nuclear cross sections change as we add or remove protons and neutrons. As a proof of principle, we focus on the neutron-induced reactions in the fast energy regime. Our approach follows a two-stage learning framework. First, we apply representation learning to encode cross section data into a latent space using either variational autoencoders (VAEs) or implicit neural representations (INRs). Then, we train graph neural networks (GNNs) on the resulting embeddings to predict missing values across the nuclear chart by leveraging the topological structure of neighboring isotopes. We demonstrate accurate cross section predictions within a 9 × 9 block of missing nuclei. We also find that the optimal GNN training strategy depends on the type of latent representation used, with VAE embeddings performing best under end-to-end optimization in the original space, while INR embeddings achieve better results when the GNN is trained only in the latent space. Furthermore, using clustering algorithms, we map groups of latent vectors into regions of the nuclear chart and show that VAEs and INRs can discover some of the neutron magic numbers. These findings suggest that deep-learning models based on the representation encoding of cross sections combined with graph neural networks hold significant potential in augmenting nuclear theory models, e.g., by providing reliable estimates of covariances of cross sections, including cross-material covariances.

Machine learning↗

Cooperative Data Sharing: Simple Support for Clusters of SMP Nodes

Libraries like PVM and MPI send typed messages to allow for heterogeneous cluster computing. Lower-level libraries, such as GAM, provide more efficient access to communication by removing the need to copy messages between the interface and user space in some cases. still lower-level interfaces, such as UNET, get right down to the hardware level to provide maximum performance. However, these are all still interfaces for passing messages from one process to another, and have limited utility in a shared-memory environment, due primarily to the fact that message passing is just another term for copying. This drawback is made more pertinent by today's hybrid architectures (e.g. clusters of SMPs), where it is difficult to know beforehand whether two communicating processes will share memory. As a result, even portable language tools (like HPF compilers) must either map all interprocess communication, into message passing with the accompanying performance degradation in shared memory environments, or they must check each communication at run-time and implement the shared-memory case separately for efficiency. Cooperative Data Sharing (CDS) is a single user-level API which abstracts all communication between processes into the sharing and access coordination of memory regions, in a model which might be described as "distributed shared messages" or "large-grain distributed shared memory". As a result, the user programs to a simple latency-tolerant abstract communication specification which can be mapped efficiently to either a shared-memory or message-passing based run-time system, depending upon the available architecture. Unlike some distributed shared memory interfaces, the user still has complete control over the assignment of data to processors, the forwarding of data to its next likely destination, and the queuing of data until it is needed, so even the relatively high latency present in clusters can be accomodated. CDS does not require special use of an MMU, which can add overhead to some DSM systems, and does not require an SPMD programming model. unlike some message-passing interfaces, CDS allows the user to implement efficient demand-driven applications where processes must "fight" over data, and does not perform copying if processes share memory and do not attempt concurrent writes. CDS also supports heterogeneous computing, dynamic process creation, handlers, and a very simple thread-arbitration mechanism. Additional support for array subsections is currently being considered. The CDS1 API, which forms the kernel of CDS, is built primarily upon only 2 communication primitives, one process initiation primitive, and some data translation (and marshalling) routines, memory allocation routines, and priority control routines. The entire current collection of 28 routines provides enough functionality to implement most (or all) of MPI 1 and 2, which has a much larger interface consisting of hundreds of routines. still, the API is small enough to consider integrating into standard os interfaces for handling inter-process communication in a network-independent way. This approach would also help to solve many of the problems plaguing other higher-level standards such as MPI and PVM which must, in some cases, "play OS" to adequately address progress and process control issues. The CDS2 API, a higher level of interface roughly equivalent in functionality to MPI and to be built entirely upon CDS1, is still being designed. It is intended to add support for the equivalent of communicators, reduction and other collective operations, process topologies, additional support for process creation, and some automatic memory management. CDS2 will not exactly match MPI, because the copy-free semantics of communication from CDS1 will be supported. CDS2 application programs will be free to carefully also use CDS1. CDS1 has been implemented on networks of workstations running unmodified Unix-based operating systems, using UDP/IP and vendor-supplied high- performance locks. Although its inter-node performance is currently unimpressive due to rudimentary implementation technique, it even now outperforms highly-optimized MPI implementation on intra-node communication due to its support for non-copy communication. The similarity of the CDS1 architecture to that of other projects such as UNET and TRAP suggests that the inter-node performance can be increased significantly to surpass MPI or PVM, and it may be possible to migrate some of its functionality to communication controllers.

DiNucci, David C.↗