IN-183.01 ACPRUN V2.1 Installation, Operation and System Manager's Guide Chip Kaliher Fermilab Computing Department November 1986 This document describes the installation, organization, operation and management of the ACPRUN software product on the central VAX cluster computing system at Fermi National Accelerator Laboratory. Systems Supported: VAX/VMS Version 4 systems. Keywords: VAX, VMS, ACP Table of Contents ----- -- -------- I Abstract 1. II Introduction 2. III Product Organization 3. IV System Narrative 5. V Complete Example 11. I. ABSTRACT -------- ACPRUN is a software product which supports offline batch processing of high energy physics data analysis jobs, using an ACP multiprocessing system at Fermi National Accelerator Laboratory. The central facility VAX cluster system serves as the Superhost, which manages flow of jobs through the ACPhost Microvax II system, which provides the interface to the ACP system itself. Facilities for job submission, output retrieval, execution monitoring, and operator services are provided. ACPRUN Page (2) II. INTRODUCTION ------------ ACPRUN is a software product developed by the DEC Systems Group (DSG), which provides facilities for batch processing of high energy physics data analysis jobs, using an ACP multi-microprocessor system at Fermi National Accelerator Laboratory (FNAL). Job preparation, submission, scheduling, operator services, and output retrieval functions are provided on the central facility VAX Cluster, which is referred to as the Superhost. User written FORTRAN data analysis programs are submitted to a Microvax II, called the ACPhost, which is connected to the Superhost via a DECnet link, and to the ACP system via a Qbus to VME bus interface (QVI). The ACPhost is installed with both the ACPSYS and the ACPHOST software products, which serve to complement ACPRUN. Event data tapes are read as input by the user's host program, which downloads the user's node program and event data to the ACP microprocessor nodes, operating in parallel. Results from the nodes are extracted by the host program, and output to magnetic tape. Output files generated by ACPRUN jobs are returned to the Superhost results area, where they are held until retrieved by the ACP user. Central facility VAX operators as well as users of the ACP system can display the status of the ACP batch queue, by means of DCL command symbols defined by the ACPRUN software. Operators receive informational messages at their console workstations when users submit ACP jobs, and when an executing job requires tapes to be mounted. A Decnet based "Needvsn" facility provides the "bridge" between jobs executing on the ACPhost and the central facility operator console subsystem on the Superhost. ACPRUN Page (3) III. PRODUCT ORGANIZATION ------- ------------ ACPRUN is organized in standard site-product form. The product consists of DCL command procedures, executable images, DECNET objects, a rights identifier, a special cluster account limited to network access, a special executor batch queue, various control files, and directory space for outbound jobs, execution logs, and incoming results from the ACPhost. A system logical name is defined when ACPRUN is installed: "ACPRUN_ROOT" = "root:[ACPRUN.ACPRUN_V1_2.]" where "root:" completes the device specification (e.g. DUA0:), and, "ACPRUN_COMMANDS" = "ACPRUN_ROOT:[COM]" The product umbrella directory is root:[ACPRUN]. It contains ACPRUN_V1_2.DIR, and VERSION.DIR. The latter is used by SITE_PRODUCTS. It contains the single file, ACPRUN.VERSION, which serves as a pointer to the product root directory for the current release of ACPRUN. Root directories for different releases of the product all have the general form: ACPRUN_Vxx_x.DIR where xx_x corresponds to the product version number, (e.g. ACPRUN V1.2). All the files, procedures, images, libraries, and documents, required for installing, maintaining and operating ACPRUN reside in the product root directory structure. These are partitioned into subdirectories, each containing a set of files which serve related functions, as indicated in figure #1. ACPRUN Page (4) [ACPRUN] ---+---- | +----------------------------+----------------------+ | | | | [ACPRUN_V1_2] [VERSION] -------+----- ----+---- | | | | +-------+-----+---+------------+ | ACPRUN.VERSION | | | | -------------- | | | | | V V V V V [AREA] contains executable images, command procedures. VERSION.DAT [COM] contains SETUP.COM, the user setup procedure. [DOC] contains documentation files. [JOBQUEUE] contains files for jobs waiting in the queue. [MAINT] contains maintenance and validation test files. [RESULTS] contains results files from completed jobs. [SOURCE] contains FORTRAN source code for executable images. [SYSTEM] contains PRSTARTUP.COM, the system startup procedure. Figure 1. ACPRUN umbrella directory structure. ACPRUN Page (5) IV. SYSTEM NARRATIVE ------ --------- ACP users first prepare their host and node programs using ACPSYS on the cluster. After successfully completing the program preparation sequence (i.e. simulation, debugging, test runs, etc), users access the ACPRUN product in the standard way: $ SETUP ACPRUN This executes the DCL command procedure, ACPRUN_ROOT:[COM]SETUP This defines these DCL symbols: ACP$RUN = "@ACPRUN_AREA:ACPRUN" ACP$RESULTS = "@ACPRUN_AREA:ACPRESULTS" ACP$JOBS = "$ACPRUN_AREA:ACPJOBS" ACP$FETCH = "@ACPRUN_AREA:ACPFETCH" ACP$COPY = "$ACP$AREA:COPY" ACP$BATCH = "SH QUEUE/ALL ACP_BATCH" ACP$HOST = "FNACP3" This also defines these process logical names: "ACP$AREA" = "ACPSYS_ROOT:[AREA]" "ACPRUN_AREA" = "ACPRUN_ROOT:[AREA]" "ACPRUN_JOBQUEUE" = "ACPRUN_ROOT:[JOBQUEUE]" "ACPRUN_LOG" = "ACPRUN_ROOT:[LOG]" "ACPRUN_RESULTS" = "ACPRUN_ROOT:[RESULTS]" The DCL command, $ ACP$RUN [program] [input_tape] [output_tape_1] [output_tape_2] initiates the ACPRUN job submission process. For example the command, $ ACPRUN my_program INP001 OUT001 OUT002 submits a job which will run the programs, my_program.exe (host) and my_program.exe1 (node), using the event tape labelled INP001 as input, and writing output event tapes OUT001, and OUT002. Users may optionally omit any of the trailing parameters of the command, in which case they are prompted to supply the remaining parameters. In addition, a summary of the job is displayed at the user's terminal and the user is asked for confirmation, prior to actual submission. ACPRUN Page (6) ACP jobs execute in a special queue, ACP_BATCH, which is established when the system is started by the DCL command procedure, ACPRUN_ROOT:[SYSTEM]START_BATCH.COM which is executed as a part of the normal system startup procedure by SYS$MANAGER:SYSTARTUP.COM The ACPRUN command executes the DCL command procedure, ACPRUN_AREA:ACPRUN.COM The command procedure determines the "UPO" file name. This is also the name of the user's host and node programs. Next, the procedure certifies that the necessary files actually exist. Then, the vsn's of input tape, and output tape(s) are obtained and validated. If any of these are determined to be incorrect or nonexistent, the procedure starts over. Next, the job name is assigned. This is done by concatenating the vsn of the input tape, followed by a time stamp, to the user name. The procedure then creates a file containing the necessary DCL commands for the job. This file is named, 'job_name'.acp_job This file will be copied to the ACPRUN_JOBQUEUE area along with a backup save-set containing the host and node programs, upo file, etc. When the job executes, these files will be copied to the ACPhost microVax where the 'job_name'.acp_job file execute in the sys$batch queue. The DCL commands contained in the above file cause two other batch jobs to run on the ACPhost. One of these will restore the backup save-set, move the files to the ACPHOST_AREA directory, and initiate the actual ACP run. The other job waits for the first one to complete, returns the various results files to the superhost in a backup save-set, and performs "clean up" operations. Next, the ACPRUN.COM procedure creates a file called VSN.DAT, which is included in the backup save-set along with the program and upo files. This file contains the VSN's of the input and output tapes, and is read as input by the the user's host program, in order to write internal labels on the job's output tapes. The backup save-set is then created, and it is moved, along with the 'job_name'.acp_job file, to the ACPRUN_JOBQUEUE directory. The procedure then submits the command procedure, ACPRUN_AREA:ACPJOB_CONTROL.COM to the ACP_BATCH executor queue, with the /notify, /noprint, /keep and /name = 'job_name' qualifiers. The log file is saved as, ACPRUN_LOG:'job_name'.acprun_log ACPRUN Page (7) In addition, the acpjob_control.com command procedure is submitted with 'job_name', and 'acp$host' as /parameters. The first of these enables the job name to be passed down to the ACPhost, while the second is intended for support of multiple ACPhosts in future releases of ACPRUN. At present, this is defined to be FNACP3. Next, a record is added to the file, ACPRUN_AREA:ACPRUN.JOBLOG, containing the date, time, job name, and the tape vsn's. This file is used by the ACP$JOBS command. It serves as a historical record of the ACP system activity. Finally, informational messages are broadcast both to the user's terminal and to the console workstations manned by the central facility VAX operators. These messages serve to both notify the operators and confirm the successful job submission to the ACP user. When an ACP job goes into execution on the Superhost, the DCL commands contained in the file, ACPRUN_AREA:ACPJOB_CONTROL.COM are executed. These commands first get the job name and the acp host name from the job submission parameters. Then, the file, ACPRUN_LOG:ACPRUN_CURRENT.JOB is updated to contain the name of the current job. This file is used by the ACP$JOBS command as the current job pointer. Next, the procedure copies the files from the ACPRUN_JOBQUEUE area to the ACPhost Microvax ACPHOST_INBOUND area. Both the save-set (job_name.acp_files) and the DCL command procedure (job_name.acp_job) are copied. If the copy operation should happen to fail, it is assumed that either the DECnet link or the ACPhost is down. In this case, the procedure continuously waits for five minutes and retries until it finally succeeds. Next, the procedure submits a batch job on the default SYS$BATCH queue on the ACPhost, using the DCL command, $ SUBMIT/REMOTE This starts the DCL command procedure, ACPHOST_ROOT:[INBOUND]'JOB_NAME'.ACP_JOB executing on the ACPhost. At this point, the ACPHOST software takes control, performing the necessary functions to run the user's host and node programs with the corerct data tapes, using the ACP production system. These are described briefly below. For greater detail, refer to I.N. yy.yy "ACPHOST V1.0". The Superhost batch job waits for the results to come back. The procedure repeatedly examines the directory, ACPRUN_RESULTS: looking for the file, 'job_name'.RESULTS ACPRUN Page (8) When this file is created by the ACPHOST software from the ACPhost, the procedure deletes the save-set and DCL command procedure files from the acprun_jobqueue area, writes a null record to the current job pointer, and terminates. The next job in the queue begins. The batch job on the ACPhost submits two more batch jobs to the ACPHOST queues. One of these, the output server, waits for for the other to finish, by means of the DCL command, $ SYNCHRONIZE The output server executes the DCL commands contained in the file, $ ACPHOST_COMMANDS:RESULTS.COM in the ACPHOST queue, ACP$OUTBOUND The other batch job executes the commands contained in the file, ACPHOST_COMMANDS:ACPJOB.COM in the ACPHOST queue, ACP$BATCH This command procedure restores the save-set containing the user's programs and data, and copies the files to the directory, ACPHOST_AREA The procedure then determines which if any tapes are required for the and requests the necessary tape mount services from the central facility operators, using DECnet transparent task to task communications capabilities. Originating from the ACPhost, the executable image, ACPHOST_COMMANDS:NEEDVSN_HOST initiates a DECnet link with the Superhost network object, NEEDVSN This object is defined in both the volatile and permanent DECnet data bases on the Superhost, as the DCL command procedure, ACPRUN_AREA:NEEDVSN.COM This procedure runs the executable image, ACPRUN_AREA:NEEDVSN_SUPER ACPRUN Page (9) This program reads the volume serial numbers (vsn's) of the required tapes from the ACPhost, then creates up to three subprocesses using the VAX Runtime Library routine, LIB$SPAWN These subprocesses issue the DCL command, $ REQUEST/REPLY/TO=OPER1 This displays the appropriate mount messages on the OPER1 designated consoles in the Fermilab Central Computing Facility. A final subprocess issues the master request, which asks the operator to perform the requested tape mount services and to reply when the tapes have been mounted on the drives connected to the ACPhost. The operator issues the DCL comamnd, $ REPLY/TO=xxxx to reply to the master request. The NEEDVSN_SUPER program then aborts the individual mount requests, then signals NEEDVSN_HOST on the ACPhost indicating that the tapes are ready. The latter program terminates, and the ACPJOB.COM procedure executes the user's program. When this finishes, the procedure terminates, triggering the output server job. Ths output server moves the entire contents of the ACPHOST_AREA to the directory, ACPHOST_OUTBOUND: Then, the procedure creates a backup save_set containing the relevant output files resulting from the run. This save_set is then copied to the Superhost area, ACPRUN_RESULTS: as the file, 'job_name'.RESULTS The procedure then deletes all the files in the ACPHOST_OUTBOUND area, and finally terminates. The ACPhost remains idle until the next ACP job is received and started. ACPRUN Page (10) Users and operators can examine the ACP_BATCH queue on the Superhost using the DCL commands, $ ACP$BATCH and, $ ACP$JOBS The first of these displays the queue itself, while the latter combines both queue and tape information. The commands, $ ACP$RESULTS and, $ ACP$FETCH enable users to examine the results area and to retrieve results files from completed jobs. ACPRUN Page (11) V. Complete Example ------ --------- The user logs on and sets up the ACPRUN product: $ setup acprun %SETUP-I-ADDLOGTAB, added logical name table LNM$ACPRUN_TABLE to search list LNM$FILE_DEV [SUPERVISOR] (LNM$PROCESS_DIRECTORY) ACPRUN V1.3 Product setup The user submits an ACPRUN job: $ acp$run %ACPRUN-I-ACPVER ACPRUN V1.3 6-NOV-1986 14:02:25 %ACP-I-UPONAM UPO file name >>> test %ACP-I-INPTAP Input tape >>> cek004 %ACP-I-OUTAP1 Output tape #1 >>> cek005 %ACP-I-OUTAP2 Output tape #2 >>> cek006 PROGRAM_NAME = "test" INPUT_TAPE = "cek004" OUTPUT_TAPE_1 = "cek005" OUTPUT_TAPE_2 = "cek006" Is this correct ? y Submitting ACPJOB to FNACP3:: Please wait... Job KALIHER_CEK004_50557 (queue ACP_BATCH, entry 1348) started on ACP_BATCH %ACPRUN-I-ACPINI ACPRUN initiated. JOB_NAME = "KALIHER_CEK004_50557" JOB_TIME = " 6-NOV-1986 14:02:49.79" ACPRUN Page (12) The user checks the ACP_BATCH queue: $ acp$batch Batch queue ACP_BATCH Jobname Username Entry Status ------- -------- ----- ------ KALIHER_CEK004_50557 KALIHER 1348 Executing The operator reviews which tapes will be needed: $ acp$jobs %ACPRUN-I-ACPVER ACPJOBS V1.3 6-NOV-86 14:03:02 6-NOV-1986 14:02:49.79 KALIHER_CEK004_50557 cek004 cek005 cek006 The user reviews his own recent ACPRUN job submissions: $ acp$jobs kaliher %ACPRUN-I-ACPVER ACPJOBS V1.3 6-NOV-86 14:03:11 16-OCT-1986 14:17:21.30 KALIHER_CEK001_51428 cek001 cek002 cek003 17-OCT-1986 16:26:58.45 KALIHER_X_59206 x y z 6-NOV-1986 14:02:49.79 KALIHER_CEK004_50557 cek004 cek005 cek006 The user checks for output from any of his own completed jobs: $ acp$results %ACPRUN-I-ACPVER ACP RESULTS V1.3 6-NOV-1986 14:03:17 Directory ACPRUN_ROOT:[RESULTS] KALIHER_X_59206.RESULTS;1 126 17-OCT-1986 16:35 17-OCT-1986 16:35 Total of 1 file, 126 blocks. ACPRUN Page (13) The operator displays all output left from completed jobs: $ acp$results * %ACPRUN-I-ACPVER ACP RESULTS V1.3 6-NOV-1986 14:03:24 Directory ACPRUN_ROOT:[RESULTS] KALIHER_X_59206.RESULTS;1 126 17-OCT-1986 16:35 17-OCT-1986 16:35 MOKK_CEK001_40525.RESULTS;1 126 6-NOV-1986 12:19 6-NOV-1986 11:17 Total of 2 files, 252 blocks. The operator displays the names of the files in the ACPRUN job queue holding area: $ dir acprun_jobqueue Directory ACPRUN_ROOT:[JOBQUEUE] KALIHER_CEK004_50557.ACP_FILES;1 126 6-NOV-1986 14:02 6-NOV-1986 14:02 KALIHER_CEK004_50557.ACP_JOB;1 1 6-NOV-1986 14:02 6-NOV-1986 14:02 Total of 2 files, 127 blocks. ACPRUN Page (14) Meanwhile, down on the ACPhost ... Welcome to MicroVMS V4.4 The operator uses the ACPHOST software to display the system: $ setup acphost %SETUP-I-ADDLOGTAB, added logical name table LNM$ACPHOST_TABLE to search list LNM$FILE_DEV [SUPERVISOR] (LNM$PROCESS_DIRECTORY) ACPHOST V1.0 Product Setup $ acp$batch Batch queue ACP$BATCH /BASE_PRIORITY=4 /JOB_LIMIT=1 /OWNER=[SYSTEM] /PROTECTION=(S:E,O:D,G:R,W:W) Jobname Username Entry Status ------- -------- ----- ------ KALIHER_CEK004_50557 ACPHOST 29 Executing Submitted 6-NOV-1986 15:05 /LOG=DUA0:[ACPHOST.ACPHOST_V1_2.][AREA]KALIHER_CEK004_50557.ACPJOB_LOG; /PARAM=("KALIHER_CEK004_50557","TEST","CEK004","CEK005","CEK006") /PRIORITY=100 _DUA0:[ACPHOST.ACPHOST_V1_2.COM]ACPJOB.COM;49 (executing) $ acp$inbound !This is where the files from the Superhost start out: %DIRECT-W-NOFILES, no files found $ acp$area !This is where the real work gets done: Directory ACPHOST_ROOT:[AREA] KALIHER_CEK004_50557.ACPJOB_LOG;1 6-NOV-1986 15:05 KALIHER_CEK004_50557.ACP_FILES;1 6-NOV-1986 14:02 KALIHER_CEK004_50557.ACP_JOB;1 6-NOV-1986 14:02 TEST.EXE;1 16-OCT-1986 09:04 TEST.UPO;1 16-OCT-1986 09:04 VSN.DAT;1 6-NOV-1986 14:02 Total of 6 files. $ acp$outbound !This is where the results files end up, before being shipped !back to the superhost. %DIRECT-W-NOFILES, no files found ACPRUN Page (15) This is what a working ACPhost system looks like: $ sh sys VAX/VMS V4.4 on node FNACP3 6-NOV-1986 15:07:59.83 Uptime 6 22:35:41 Pid Process Name State Pri I/O CPU Page flts Ph.Mem 00000020 NULL COM 0 0 6 02:11:41.76 0 0 00000021 SWAPPER HIB 16 0 0 00:00:07.41 0 0 00000024 JOB_CONTROL HIB 8 335 0 00:00:02.66 458 116 00000025 NETACP HIB 10 299 0 00:01:43.10 617 80 00000026 EVL HIB 4 86 0 00:00:54.41 135450 68 N 00000027 REMACP HIBO 9 -- swapped out -- 43 00000054 MF HIB 6 1539 0 00:00:37.65 3640 80 00000056 RMIMOM_00000054 LEF 4 399 0 00:00:17.56 3732 578 S 00000057 SERVER_0057 LEF 6 242 0 00:00:06.80 730 272 N 00000058 SERVER_0058 LEF 6 203 0 00:00:04.84 624 247 N 00000059 SERVER_0059 LEF 6 143 0 00:00:03.84 491 263 N 0000005B BATCH_29 LEF 6 183 0 00:00:05.47 702 80 B 0000005C BATCH_30 LEF 5 51 0 00:00:01.59 314 80 B 0000005D KALIHER CUR 4 253 0 00:00:10.55 1068 314 Note the two batch jobs and the RMIMOM_xxx process. ACPRUN Page (16) Meanwhile, at the central facilities operators consoles: %%%%%%%%%%% OPCOM 6-NOV-1986 14:19:00.35 %%%%%%%%%%% Operator status for operator _RTA4: OPER1 %%%%%%%%%%% OPCOM 6-NOV-1986 14:04:53.80 %%%%%%%%%%% Request 31, from user ACPRUN NEEDVSN_1 , %ACP-I-MOUNT VSN CEK004 on MTA2 RING OUT %%%%%%%%%%% OPCOM 6-NOV-1986 14:04:56.53 %%%%%%%%%%% Request 34, from user ACPRUN ACP_DAEMON, %ACP-I-REPLY Reply when tapes are mounted %%%%%%%%%%% OPCOM 6-NOV-1986 14:04:56.30 %%%%%%%%%%% Request 33, from user ACPRUN NEEDVSN_3 , %ACP-I-MOUNT VSN CEK006 on MTA0 RING IN %%%%%%%%%%% OPCOM 6-NOV-1986 14:04:55.89 %%%%%%%%%%% Request 32, from user ACPRUN NEEDVSN_2 , %ACP-I-MOUNT VSN CEK005 on MTA1 RING IN The operator mounts the tapes, then replies to the master request: $ rep/to=34 14:19:05.89, request 34 was completed by operator _RTA4: This satisfies all the individual requests: %%%%%%%%%%% OPCOM 6-NOV-1986 14:21:57.15 %%%%%%%%%%% Request 32 was canceled %%%%%%%%%%% OPCOM 6-NOV-1986 14:21:57.18 %%%%%%%%%%% Request 33 was canceled %%%%%%%%%%% OPCOM 6-NOV-1986 14:21:57.21 %%%%%%%%%%% Request 31 was canceled ACPRUN Page (17) Meanwhile, back at the user's terminal: Job KALIHER_CEK004_50557 (queue ACP_BATCH, entry 1348) completed $ acp$results %ACPRUN-I-ACPVER ACP RESULTS V1.3 6-NOV-1986 14:24:06 Directory ACPRUN_ROOT:[RESULTS] KALIHER_CEK004_50557.RESULTS;1 126 6-NOV-1986 15:21 6-NOV-1986 14:19 KALIHER_X_59206.RESULTS;1 126 17-OCT-1986 16:35 17-OCT-1986 16:35 Total of 2 files, 252 blocks. Oh good, our output has arrived! Lets fetch it: $ acp$fetch kaliher_cek004_50557 %ACPRUN-I-ACPVER ACP FETCH V1.3 6-NOV-1986 14:24:26 %BACKUP-S-CREATED, created USR$ROOT2:[KALIHER.KALIHER_CEK004_50557]KALIHER_CEK004_50557.ACPJOB_LOG;1 ACPRUN Page (18) Did it work? $ type [kaliher_cek004_50557]kaliher_cek004_50557.acpjob_log $! Enable control-T for interactive processes. $ $ IF F$MODE() .EQS. "INTERACTIVE" THEN SET CONTROL=T $ $! For the system manager's account, define some special symbols. $ $ ACNT_NAME = F$GETJPI(0,"USERNAME") $ ACNT_NAME = F$EDIT(ACNT_NAME,"COLLAPSE") $ IF ACNT_NAME .NES. "SYSTEM" THEN GOTO ALL_ACNTS $ALL_ACNTS: $ $ INSTALL :== $INSTALL/COMMAND $ MOU*NT :== MOUNT/NOASSIST $ IF F$MODE() .EQS. "INTERACTIVE" THEN SET TERMINAL/INQUIRE $! $ setup :== @site_products$root:[com]product_setup $! $DONE: $ EXIT $! $ set noon $!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $! $ $! ACP Project Production System V1.2 $ $! $ $!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $! $! Run Parameters: $! $! super_host = "FNAL" !CLUSTER $ super_host = "BSNDBG" !BSNDBG $! $ job_parms: $ job_name = "KALIHER_CEK004_50557" $ user_name = "KALIHER" $ program_name = "TEST" $ input_tape = "CEK004" $ output_tape_1 = "CEK005" $ output_tape_2 = "CEK006" ACPRUN Page (19) $! $! Move the files to the production work area. $! $ get_files: $ set def acphost_inbound $ backup/log KALIHER_CEK004_50557.acp_files/save *.* %BACKUP-S-CREATED, created ACPHOST_ROOT:[INBOUND]TEST.EXE;1 %BACKUP-S-CREATED, created ACPHOST_ROOT:[INBOUND]TEST.UPO;1 %BACKUP-S-CREATED, created ACPHOST_ROOT:[INBOUND]VSN.DAT;1 $ ren/log acphost_inbound:*.*;* acphost_area: %RENAME-I-RENAMED, ACPHOST_ROOT:[INBOUND]KALIHER_CEK004_50557.ACP_FILES;1 renamed to ACPHOST_ROOT:[AREA]KALIHER_CEK004_50557.ACP_FILES;1 %RENAME-I-RENAMED, ACPHOST_ROOT:[INBOUND]KALIHER_CEK004_50557.ACP_JOB;1 renamed to ACPHOST_ROOT:[AREA]KALIHER_CEK004_50557.ACP_JOB;1 %RENAME-I-RENAMED, ACPHOST_ROOT:[INBOUND]TEST.EXE;1 renamed to ACPHOST_ROOT:[AREA]TEST.EXE;1 %RENAME-I-RENAMED, ACPHOST_ROOT:[INBOUND]TEST.UPO;1 renamed to ACPHOST_ROOT:[AREA]TEST.UPO;1 %RENAME-I-RENAMED, ACPHOST_ROOT:[INBOUND]VSN.DAT;1 renamed to ACPHOST_ROOT:[AREA]VSN.DAT;1 $ set default acphost_area $! $! Issue needvsn requests to the superhost operators if necessary. $! $ needvsn: $! $ define task "BSNDBG""ACPRUN""::""task=needvsn""" $ needvsn_host := $acphost_root:[com]needvsn_host $ tape_string = "CEK004" + " " + - "CEK005" + " " + - "CEK006" $ needvsn_host CEK004 CEK005 CEK006 FORTRAN STOP $! $! Run the job. $! $ hit_it: $ set noverify %DCL-I-TABNOTFND, previous table LNM$LUNI_TABLE was not found - new table created %SETUP-I-ADDLOGTAB, added logical name table LNM$LUNI_TABLE to search list LNM$FILE_DEV [SUPERVISOR] (LNM$PROCESS_DIRECTORY) LUNI V1.7 product startup. $ define acp_oper "BSNDBG""ACPRUN""::""task=acp_oper""" $ run TEST hello $ thats_all_folks: $ exit ACPHOST job terminated at 6-NOV-1986 15:21:00.99 Accounting information: Buffered I/O count: 146 Peak working set size: 628 Direct I/O count: 121 Peak page file size: 841 Page faults: 990 Mounted volumes: 0 Charged CPU time: 0 00:00:10.60 Elapsed time: 0 00:15:14.10