Installing FATMEN on a new machine

The first step is the installation of the CERN program libraries. Once this has been achieved, FATMEN should be configured as below.

Access to data

Access to data through FATMEN is currently supported on:

  1. VM/CMS systems running the HEPVM software, in particular SETUP and STAGE.
  2. VM/CMS systems without the HEPVM software are supported provided that the CERN REXX local function package as well as the GIME and DROP execs are installed.
  3. VM/CMS systems running VMBATCH and/or VMTAPE, provided that the REXX local function package as well as the GIME and DROP execs are installed.
  4. VAX/VMS systems. The CERN Program Library Package VAXTAP is required for access to tapes.
  5. Unix systems. Tape support is currently only possible on the CERN Cray system, the CERN SHIFT project and the L3 Apollo network at CERN. CERN is developing generalised Unix tape software (staging and tape mounting) which will be used to provide tape support on all other Unix systems. This software is based upon the existing Cray and SHIFT syntax and so the FATMEN interface is already written.
  6. MVS systems. Only FORTRAN I/O is supported in the current version. The IBM FORTRAN routine FILEINF is used whereever possible, together with the CERN Program Library Package FTPACK, written by R. Matthews.
On all other systems some modifications to the code are required for data access. These modifications are restricted to the routines FMOPEN, FMCLOS and FMCOPY.

Using the FATMEN catalogue

The FATMEN catalogue is simply a FORTRAN direct access file, processed using the CERN ZEBRA package. Users access the file in read-only mode, with updates being sent to and applied by a server (one per experiment). Updates are sent as ZEBRA FZ files (exchange mode, ASCII mapping).

Configuring FATMEN

VM/CMS systems

Machines that do not run the HEPVM software may use FATMEN provided that they install the GIME and DROP execs, and the REXX local function package. To install the REXX local function package, simply copy the files RXLOCFN SEGMENT and RXLOCFN MODULE to your local machine. They will be automatically loaded when needed. Some functions in this package will return a null-string or zero unless certain HEPVM CP modifications are installed. However, all of the functions required for FATMEN will work without any problem.

If you require any of the above software and do not have access to CERNVM (or any other machine running the HEPVM software), simply sent a mail message to JAMIE@CERNVM.

Upon initialisation the FATMEN software issues an 'EXEC GIME FMgroup', e.g. 'EXEC GIME FML3'. Thus, if the FATMEN catalogue for L3 is NOT kept on the 191 disk of FML3, an appropriate entry in the GIMEUSER, GIMEGRP or GIMESYS NAMES file is required. An additional entry is also required in the normal NAMES file so that the updates can be correctly sent to the appropriate service machine.

Systems running VMBATCH should activate the necessary code by putting

+USE,VMBATCH.

into the installation cradle for FATMEN. (Different code is required to obtain the username, jobname and account field in a VMBATCH job to that used in HEPVM batch). Systems running VMTAPE should activate the necessary code by putting

+USE,VMTAPE.

This will provide access to tape files. If user tapes are catalogued in the VMTAPE catalogue (TMC), select also

+USE,VMTMC.

Systems running both VMTAPE and VMBATCH may simply add

+USE,VMCENTER.

VAX/VMS systems

Upon initialisation, the client looks for a file in the directory specified by the symbol FMgroup, e.g. FML3. If the FATMEN catalogue is kept in DISK$FAT:[FATMEN.L3], one should type

FML3:==DISK$FAT:[ FATMEN.L3]

This directory must contain the subdirectories [.TODO], [.DONE]. The [.TODO ]directory must be writeable by all members of the L3 collaboration (in this example).

If the catalogue is on a disk that has disk quotas enabled, then an ACL must be established on the directory [.TODO]as in the example below. In this example, the top level directory is [FMCDF ]belonging to user FMCDF. The identifier CDFEXPERIMENT is held by all members of the CDF experiment and is an identifier with the RESOURCE attribute. Setting up the directory in this manner allows all CDF users to send updates to the FATMEN server for their experiment and avoids the need for entries in the quota file for every CDF user for the disk in question. Only entries for FMCDF and CDFEXPERIMENT are required.

If disk quotas are not enabled on the volume in question, then allowing group write access to the [.TODO ]directory is sufficient.

(IDENTIFIER=FMCDF,ACCESS=READ+WRITE+EXECUTE+DELETE+CONTROL)
(IDENTIFIER=CDF_EXPERIMENT,ACCESS=READ+WRITE+EXECUTE)
(IDENTIFIER=FMCDF,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE+DELETE+CONTROL)
(IDENTIFIER=CDF_EXPERIMENT,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE)

The configuration for the server is performed by the sample command file shown below.

For the server only, a variable FATSYS must be set to the appropriate name, should the catalogue name not be //CERN

$!
$! Example FATSERV.COM
$!
$ dd = f$cvtime(,,"WEEKDAY")
$ tt = f$time()
$ hh = f$trnlnm("SYS$NODE")
$ write sys$output ""
$ write sys$output "FATSERV starting at ''dd' ''tt' on ''hh'"
$ write sys$output ""
$ !
$ ! Set FATMEN system
$ !
$ FATSYS:==CERN
$ !
$ ! Set FATMEN group
$ !
$ FATGRP:==FMCNDIV
$ !
$ ! Set FATMEN wakeup interval in seconds
$ !
$ ! Define FMCNDIV if not defined in system login
$ !
$ FMCNDIV:==DISK$CERN:[ FMCNDIV]
$ FMWAKEUP:==30
$ !
$ ! Set FATMEN log level
$ !
$ FMLOGL:==3
$ write sys$output -
"FATMEN group set to ''FATGRP', wakeup interval is ''FMWAKEUP' seconds"
$ run cern:[ pro.exe] fatsrv

See the VAXTAP [bib-VAXTAP] long writeup for details on configuring the VAX tape handling software, in particular for remote and multi-file staging.

Unix systems

Upon initialisation, the client looks for a file in the directory specified by the variable FMexperiment, e.g. FML3. Thus, if the FATMEN catalogue is kept in /users/fatmen/l3, the variable FML3 should be set to this path:

FML3=/users/fatmen/l3; export FML3

This directory must contain the subdirectories todo and done. The todo directory must be writeable by all members of the L3 collaboration (in this example).

For the server only, a variable FATSYS must be set to the appropriate name, should the catalogue name not be //CERN

FATSYS=DESY;export FATSYS

The configuration for the server is performed by the sample script shown below.

#!/bin/sh
#
# Example FATSERV script.
#
t="date"
h="hostname"
echo
echo FATSERV starting at $t on $h
echo
FATGRP=FML3   ;export FATGRP
FATSYS=CERN   ;export FATSYS
FMWAKEUP=10;   export FMWAKEUP
FML3=/fatmen/fml3; export FML3
echo FATMEN group set to $FATGRP , wakeup interval is $FMWAKEUP seconds
echo
/cern/pro/bin/fatsrv