Search NASA⌕ Search

SEARCH · Search NASA

Results for “Function Allocation Tool”

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.

44 records · Page 3

The NAS Trace Visualizer (NTV)

NTV is a tool used to visualize execution traces from message passing systems. It is designed to be ported easily to different trace formats. The first version of NTV uses trace files produced using AIMS Version 2.2. Versions for the native traces from the IBM SP2 and Intel Paragon are nearing completion. A distinctive characteristic of NTV is that it uses static displays rather then time varying displays. This, in combination with mouse controlled zooming, gives the user the ability to get a global view of the execution and a focused view of details. The principal display is a time line display that shows a color coded time line for each processor. The color coding shows the processor status. Messages between processors are indicated by lines connecting the processors involved in the communications. Controls for these message edges let the user show all messages, no messages, or only message between specified sets of processors. Summary (profiling) displays are also produced. These are of two types. One allocates information by processor, e.g., the time the processor was blocked sending, and the other allocates information by function, e.g., the time a function was blocked sending.

Lopez, Louis↗

A mission planning concept and mission planning system for future manned space missions

The international character of future manned space missions will compel the involvement of several international space agencies in mission planning tasks. Additionally, the community of users requires a higher degree of freedom for experiment planning. Both of these problems can be solved by a decentralized mission planning concept using the so-called 'envelope method,' by which resources are allocated to users by distributing resource profiles ('envelopes') which define resource availabilities at specified times. The users are essentially free to plan their activities independently of each other, provided that they stay within their envelopes. The new developments were aimed at refining the existing vague envelope concept into a practical method for decentralized planning. Selected critical functions were exercised by planning an example, founded on experience acquired by the MSCC during the Spacelab missions D-1 and D-2. The main activity regarding future mission planning tasks was to improve the existing MSCC mission planning system, using new techniques. An electronic interface was developed to collect all formalized user inputs more effectively, along with an 'envelope generator' for generation and manipulation of the resource envelopes. The existing scheduler and its data base were successfully replaced by an artificial intelligence scheduler. This scheduler is not only capable of handling resource envelopes, but also uses a new technology based on neuronal networks. Therefore, it is very well suited to solve the future scheduling problems more efficiently. This prototype mission planning system was used to gain new practical experience with decentralized mission planning, using the envelope method. In future steps, software tools will be optimized, and all data management planning activities will be embedded into the scheduler.

Wickler, Martin↗

Scheduling with genetic algorithms

In many domains, scheduling a sequence of jobs is an important function contributing to the overall efficiency of the operation. At Boeing, we develop schedules for many different domains, including assembly of military and commercial aircraft, weapons systems, and space vehicles. Boeing is under contract to develop scheduling systems for the Space Station Payload Planning System (PPS) and Payload Operations and Integration Center (POIC). These applications require that we respect certain sequencing restrictions among the jobs to be scheduled while at the same time assigning resources to the jobs. We call this general problem scheduling and resource allocation. Genetic algorithms (GA's) offer a search method that uses a population of solutions and benefits from intrinsic parallelism to search the problem space rapidly, producing near-optimal solutions. Good intermediate solutions are probabalistically recombined to produce better offspring (based upon some application specific measure of solution fitness, e.g., minimum flowtime, or schedule completeness). Also, at any point in the search, any intermediate solution can be accepted as a final solution; allowing the search to proceed longer usually produces a better solution while terminating the search at virtually any time may yield an acceptable solution. Many processes are constrained by restrictions of sequence among the individual jobs. For a specific job, other jobs must be completed beforehand. While there are obviously many other constraints on processes, it is these on which we focussed for this research: how to allocate crews to jobs while satisfying job precedence requirements and personnel, and tooling and fixture (or, more generally, resource) requirements.

Fennel, Theron R.↗

A Prognostics Framework Development for Swarm Satellite Formations

Prognostics is the science of predicting the failure(s) of a component or a system and understanding how the performance will change in the event of a failure or degradation mechanism. With accurate predictions of possible failures, autonomous mitigative actions can be taken to correct/repair any issues or alert human operators of a failure threshold exceedance requiring condition-based maintenance. Although there is extensive research on failure predictions for a component or a system, there are significantly more opportunities to foray into failure predictions and prognostics for a system of systems such as an airspace consisting of multiple aircraft, a fleet of unmanned aerial vehicles, and a swarm of intelligent satellite systems. Failure prediction and mitigation are particularly important in autonomous systems such as satellite swarm systems that need effective resource management and minimal human interactions. Based on NASA's decadal survey, there is a clear need to prioritize the development of satellite swarm technology for studies of space physics and Earth science. The science community will propose future missions that return in-situ measurements from a 3-D (three-dimensional) volume of space, with relative spacecraft motion and inter-satellite baselines controlled according to the mission objectives. For such multi-spacecraft missions, it is required that ground operations resources do not scale with the number of satellites, thus compromising the swarm or leading to inefficiencies in resource allocation. Swarms of tens or hundreds of small satellites will require autonomy in attitude control, navigation and failure. Although significant research has been conducted in the areas of autonomous formation flying algorithms, less attention has been given to the development of resilient systems robust to failures.The focus of this research paper is the integration of model-based prognostics into the swarm dynamics control and decision-making algorithms. We simulate swarm management strategies for a subsystem failure to demonstrate the importance of failure predictions by comparing two cases: (i) no health information is provided to the system and utilized in the decision-making process and (2) system health information is obtained using prognostics and employed by the control system. One example scenario presented is for the GPS (Global Positioning System) system of an individual satellite to perform off-nominally due to increasing estimated error. In this scenario, the keep-out zone for that satellite would become more conservative, thereby decreasing the risk of collision. This is achieved via tuning the individual artificial repulsive functions assigned to each satellite.This paper is structured as follows. First we provide an overview of current swarm technology development, where we specifically use the term swarm to define multiple satellites flying in formation in similar orbits, with cross-link communication and station-keeping capabilities. Second, we give an introduction to the Swarm Orbital Dynamics Advisor (SODA), a tool that accepts high-level configuration commands and provides the orbital maneuvers required to achieve the prescribed formation configuration. Third, we provide the details of the model-based prognostics algorithm implementation in SODA. Finally, we present different case studies for potential component/subsystem failures and the swarm responses based with and without failure prediction information.

prognostics↗

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.↗

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.↗

The MSP 2001 Mars Environmental Compatibility Assessment (MECA)

A chemical analysis of soil-water mixtures and the first microscopic images of martian soil will be among the results to be returned by the Mars Environmental Compatibility Assessment (MECA) payload on the Mars Surveyor Program 2001 Lander. Sponsored by the Human Exploration and Development of Space (HEDS) enterprise, MECA's primary goal is to evaluate potential geochemical and environmental hazards that may confront future martian explorers, and to guide HEDS scientists in the development of high fidelity Mars soil simulants. As a survey of soil properties, the MECA data set will also be rich in information relevant to basic geology, paleoclimate, and exobiology. The integrated MECA payload contains a wet-chemistry laboratory, a microscopy station, an electrometer to characterize the electrostatics of the soil and its environment, and arrays of material patches to study the abrasive and adhesive properties of soil grains. MECA is allocated a mass of 10 kg and a peak power usage of 15 W within an enclosure of 35 x 25 x 15 cm. The Wet Chemistry Laboratory (WCL) consists of four identical cells that will accept samples from surface and subsurface regions accessible to the Lander's robotic arm, mix them with water, and perform extensive analysis of the solution. Ion-selective electrodes and related sensors will evaluate total dissolved solids, redox potential, pH, and the concentration of many soluble ions and gases. Cyclic voltammetry will address oxidants, and anodic stripping voltammetry will probe potentially hazardous trace metals. MECA's microscopy station combines optical and atomic-force microscopy (AFM) in a controlled illumination environment to image dust and soil particles from millimeters to nanometers in size. Careful selection of substrates and an abrasion tool allows experimental study of size distribution, adhesion, abrasion, hardness, color, shape, aggregation, magnetic and other properties. Mounted on the end of the robot arm, MECA's electrometer consists of four types of sensors: an electric field meter, several triboelectricity monitors, an ion gauge, and a thermometer. Tempered only by ultra-violet- light-induced ions and a low-voltage break-down threshold, the dry, cold, dusty martian environment presents an imposing electrostatic hazard to both robots and humans. In addition, the electrostatic environment is key to transport of dust and, consequently, martian meteorology. MECA will also observe natural dust accumulation on engineering materials. Viewed with the robot arm camera, the abrasion and adhesion plates are strategically placed to allow direct observation of the inter-action between materials and soils on a macroscopic scale. Materials of graded hardness are placed directly under the robot arm scoop to sense wear and soil hardness. A second array, placed on the lander deck, is deployed after the dust plume of landing has settled. It can be manipulated in a primitive fashion by the arm, first having dirt deposited on it from the scoop and subsequently shaken clean. Dust accumulation as a function of conductivity, magnetic field strength, and other parameters will be explored. The MECA instruments described above will assess potential hazards that the Martian soil might present to human explorers and their equipment. In addition, MECA will provide information on the composition of ancient surface water environments, observing microscopic evidence of geological (and biological?) processes, inferring soil and dust transport, comminution and weathering mechanisms, and characterizing soil horizons that might be encountered during excavation. Additional information is contained in the original extended abstract.

Hecht, M. H.↗

Predictive Modeling for Differential Diagnosis and Mortality Risk Assessment

The prevalence of electronic health record (EHR) systems has brought prodigious biomedical informatics opportunity. Automated machine learning methods can effectively utilize such data and have become common tools for healthcare predictive modeling. Researches in medical informatics have explored the potential of deep learning and classical models in emergent care scenarios. In particular, predicting differential diagnoses for admissions have proven useful in decreasing unnecessary lab tests and improving inpatient triage decision-making. Moreover, identification of high-risk patients for in-hospital mortality is vitally important to maximize allocation of medical resources.The Medical Information Mart for Intensive Care (MIMIC-III) database, containing de-identified critical care inpatient was used in our study. This data set captures hospital patient laboratory measurements, pharmacologic prescriptions, diagnostic data and procedure event recordings. When considering adult patients and discounting admissions with ICU length of stay less than 24 hours, there were 37,787 unique admissions and 30,414 total patients. We examined the top 25 most prevalent ICD-9 group-level disease specificities in MIMIC-III using a multi-label classification model. In-hospital mortality was modeled as binary classification with 4,155 (13%) adult patients that expired, of which 3,138 (75.5%) were in the ICU setting. The metrics AUC, F1 score, sensitivity and specificity values calculated for each disease label measured prediction performance.The usage of ICD-9 group codes reduced feature dimension from 14,567 to 942 and greatly improved distribution of patient diagnostic categories. Disease temporal patterns were captured by considering the most frequently sampled 6 vital signs and 13 laboratory values. Missing data were imputed at each time-stamp. Time-series raw hourly average values were converted into 5 summary features (mean, standard deviation, number of observations, min & max values). Patient demographic variables such as age, gender, marital status and ethnicity were also factored into the modeling. Choi et al showed that contextual embedding of medical data, diagnostic and procedural codes alone can predict future diagnoses with sensitivity as high as 0.79. We utilized an embedding technique called word2vec which allowed sparse representations of medical history to be transformed into dense word vectors. The mappings captured contextual information by treating each admission as a sentence and learning the most likely neighboring words in a sliding window fashion. Binary and multi-label classification was achieved via collapse models, which do not consider temporal information, as well as recurrent neural networks with regularization, Softmax output layer activation together with categorical cross-entropy as the loss function.

US Army collaboration↗