Create eslim executable files

Create eslim executable files to report external static resource values.

The names of the external static load indices whose values are collected by your eslim executable files must be the same as the names of the external resources that are defined in the lsf.shared configuration file.

All eslim executable files must
  • Be located in the LSF_SERVERDIR directory and follow these naming conventions:
    Operating system Naming convention
    UNIX LSF_SERVERDIR\eslim.application
    Windows LSF_SERVERDIR\eslim.application.exe

    or

    LSF_SERVERDIR\eslim.application.bat


    Restriction: The name eslim.user is reserved for backward compatibility. Do not use the name eslim.user for your application-specific eslim.
    Note: LSF invokes any eslim that follows this naming convention: Move backup copies out of LSF_SERVERDIR or choose a name that does not follow the convention. For example, use eslim_backup instead of eslim.backup.
  • Output a load update string only once to stdout in the format number_indices index_name index_value [index_name index_value ...] where
    Value Defines
    number_indices
    • The number of external static load indices that are collected by the eslim.
    index_name
    • The name of the external static load index.
    index_value
    • The external static load index value that is returned by your eslim.

  • Exit after reporting the load update string once.

For example, the string

3 tmp2 47.5 nio 344.0 tmp 5

reports three indices: tmp2, nio and tmp, with values 47.5, 344.0, and 5, respectively.
    • The load update string must end with only one \n or only one space. In Windows, echo will add \n.
    • The load update string must report values between -INFINIT_LOAD and INFINIT_LOAD as defined in the lsf.h header file.
    • The eslim should ensure that the entire load update string is written successfully to stdout. Program the eslim to exit if it fails to write the load update string to stdout.
      • If the eslim executable is a C program, check the return value of printf(3s).
      • If the eslim executable is a shell script, check the return code of /bin/echo(1).
    • If the eslim executable is implemented as a C program, use setbuf(3) during initialization to send unbuffered output to stdout.


If a static eslim program fails or times out, the resources that it reports will not be available on that host. If this occurs, fix the eslim program, then run the lsadmin reconfig and badmin mbdrestart commands to make the resources available again.

If you map any external resource as default in lsf.cluster.cluster_name, all eslim executable files in the LSF_SERVERDIR directory run on all hosts in the cluster. If LSF_SERVERDIR contains more than one eslim executable, you should include a header that checks whether the eslim is programmed to report values for the resources expected on the host.