A software system has been devised to manage automatically (1) the distribution of mutually independent computing tasks to computer workstations in NASA's Flight Design and Analysis System (FADS) network and (2) the execution of those tasks on those workstations. This program parallelizes serial tasks, making it possible to execute them concurrently. This program is a substantial improvement over previously developed special-purpose parallel-processing software systems used by NASA.

Parallel execution of tasks takes less time than traditional serial execution does. In the original FADS application, in which the tasks are principally simulations of spacecraft trajectories, this program significantly decreases the run time for simulating spacecraft missions. In a representative case of simulating 6 trajectories in the FADS, this software system can reduce the run time by 80 percent below the serial-processing run time.

This program can be modified to run on industry-standard workstation networks and is enhanced to handle many modes of operation. As workstation networks increasingly supplant large central computers, this program could become useful in increasing numbers of industrial applications.

Previously developed parallel-processing software concentrates primarily on how busy the computing resources (in this case, workstations) are when queried. The present software limits the distribution of tasks to workstations that are deemed to be idle in the sense that no users are logged into them and they are not executing other distributed work. This approach makes it possible for both distributed execution of tasks and logged-in users to coexist on the network platform without adversely affecting the users' performance.

This program includes three components: a Unix daemon program, a task-distribution executive, and a workstation executive. The daemon is a background program that is started during initialization of operation of each workstation in the network and is used by the distribution executive to determine the state (idle or busy) of each such workstation. The distribution executive reads a list of tasks to distribute, finds operational, idle workstations on the network, and uses the workstation executive to manage the execution of tasks on the available workstations. The distribution executive, keeping track of the status of each task, monitors the network for messages from the workstation executive. The workstation executive starts a task on an idle workstation and monitors both the task and the workstation. When a user logs into the workstation from its keyboard, the workstation executive removes the task from that workstation and notifies the distribution executive to resubmit the task to another idle workstation. When a task is completed, the workstation executive informs the distribution executive.

To maximize adaptability, simplify the development of algorithms, and reduce the cost of maintenance, the distribution and workstation-executive subprograms are written in Practical Extraction and Reporting Language (PERL), which is a very-high-level language (VHLL). In the original FADS application, this program works with the previously developed trajectory-simulating software, without need for any special modifications. However, for other applications, modifications can be made to make this program compatible with industry-standard workstation networks.

This work was done by Mark C. Allman of Rockwell Space Operations Company forJohnson Space Center.MSC-22689