Table of Contents

NAME

lsmake,lsmakerm - load sharing parallel make utility using the Load Sharing Facility (LSF).

SYNOPSIS

lsmake [ -m host_name ... | [[ -R resreq ] [ -j n ]]] [ -F resreq ] [ -P period ] [ -c k ] [ -M ] [ -V ]
[ makeoptions ] [ target ... ]

DESCRIPTION

lsmake is a modified version of GNU make which uses LSF to run make tasks in parallel on lightly loaded hosts. Interaction with LSF is provided through a separate binary lsmakerm which is automatically invoked by lsmake on startup. The lsmakerm binary must be in the users path and should not be invoked directly by the user.

All the options provided by GNU make are still valid (makeoptions), and the following extra options have been added.

OPTIONS

-j n Use LSF to select at most n CPU slots. A CPU slot corresponds to a host, with multiprocessors having several CPU slots. If fewer slots are available, use all the available slots. If no lightly loaded hosts are found or this option is not specified, only the machine on which make was invoked will be used.

-c k Start k tasks concurrently in every CPU slot. If this option is not specified, only one task is started in every CPU slot. This option should be used with care because it may overload hosts if k is large. The total number of tasks that can be simultaneously running is the product of the number of slots selected via the -j option and k.

-R resreq
Use hosts satisfying the specified resource requirements. Used in conjuction with the -j option. The default is to use hosts that are of the same type and are lightly loaded with respect to CPU and memory.

-F resreq
File server saturation threshold requirement. If the file server fails to satisfy this resource requirement, then the file server is considered overloaded, otherwise it is considered idle. When the file server is overloaded, the parallelism is gradually reduced and then increased as the file server becomes idle. Default is to not consider file server load. The file server is assumed to be the host mounting the current working directory where lsmake was invoked. If the file server is not in the local cluster this option is ignored.

-P period
Slot reselection period in minutes. Long running makes can specify that the execution slots should be reselected periodically. When a slot has been used for more than the specified period, lsmake will replace it after the task running on the slot is finished and a host containing a less loaded CPU slot can be found. Default is to not reselect slots.

-M Process submakes in parallel. The default is to process submakes sequentially. When multiple submakes are running, lsmake will control the parallelism so that the total number of slots being used at all instant is no greater than that specified by the -j option.

-V Turn on remote execution verbose mode. In verbose mode, host names on which to execute the tasks are printed out. The default is off.

-m host_name ...
A fixed set of hosts to run tasks on. Each host corresponds to one CPU slot. The host names may be repeated for hosts having multiple CPU slots. Only one of -j and -m may be specified. When this option is used the -P option is ignored.

makeoptions
All make(1) options.

target ...
Targets to make.

LIMITATIONS

If a submake in a makefile specifies options which are specific to lsmake they are ignored. Only the command line options are used.

When determining where to start tasks, lsmake consults the local task list (see lsf.task(5) ). If the task is found in the local task list, then it will be started on the local host. The resource requirements of tasks in the remote task list are not considered when dispatching tasks.

SEE ALSO

lsfintro(1) , lstcsh(1) , gmake(1)


Table of Contents