| ![]() |
CERC Technical Report Series
Technical Memoranda
CERC-TR-RN-91-0025
Specification Language and Execution
of Parallel Multi-job Tasks*
Tomas Vagoun
April 1991
*Masters Thesis Submitted to CS Dept. at West Virginia University
ACKNOWLEDGEMENT: This effort has been sponsored by Defense Advance Research Projects Agency (DARPA), under contract No. MDA972-91-J-1022 for DARPA Initiative in Concurrent Engineering(DICE).
Concurrent Engineering Research Center
West Virginia University
Drawer 2000, Morgantown WV 26506
Specification Language and Execution
of Parallel Multi-job Tasks
Thesis
Submitted to the College of Arts and Sciences
of
West Virginia University
In Partial Fulfillment of the Requirements for
The Degree of Master of Science in Computer Science
by
Tomas Vagoun
West Virginia University
Morgantown, WV
April 23, 1991
Abstract iii
___________________________________________________________________________
Abstract
The purpose of this thesis is to present a specification language and its execution mechanism used to define tasks in a networked, distributed computing environment. Because of technological advancements in both computer hardware and software, computers are increasingly being connected into networks and systems. Machines in a computer network could be used more efficiently if a complex activity comprised of many sub-jobs could be divided and executed on multiple machines. A new type of command file is needed where the underlying interpreting mechanism takes advantage of resources network-wide, detects possibilities for parallel executions of subjobs, and executes them on separate machines. A specification language is presented here that allows a user to create such command files. This file is to be called a "task file," and it contains information about which sub-jobs should be executed. It is similar to a batch command file; the difference lies in the ability of the interpreting mechanism to find automatically which sub-jobs can execute in parallel. A type of parallel schedule is created, which is subsequently used to control the execution of the entire task. The execution is controlled by an executor and can proceed on many computers. The design and implementation for a network of workstations is discussed in the following sections.