\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename readme.info
@settitle Perl Schedule::Load Installation
@c %**end of header

@c DESCRIPTION: TexInfo: DOCUMENT source run through texinfo to produce README file
@c Use 'make README' to produce the output file
@c Before release, run C-u C-c C-u C-a (texinfo-all-menus-update)

@node Top, Copyright, (dir), (dir)
@chapter Schedule::Load

This is the Schedule::Load Perl Package.

@menu
* Copyright::
* Description::
* Obtaining Distribution::
* Supported Systems::
* Installation::
@end menu

@node Copyright, Description, Top, Top
@section Copyright

This package is Copyright 2000-2010 by Wilson Snyder @email{wsnyder@@wsnyder.org}.

This program is free software; you can redistribute it and/or modify
it under the terms of either the GNU Lesser General Public License
Version 3 or the Perl Artistic License Version 2.0.

This code is provided with no warranty of any kind, and is used entirely at
your own risk.

@node Description, Obtaining Distribution, Copyright, Top
@section Description

This package allows accessing loading and top job status across many
machines on a network, comprising a server farm.  It also allows for
scheduling new jobs on the best machine across the entire network.

For example:

@example
  rtop

HOST         CPUs FREQ TotCPU%  LOAD  RATE RL ARCH/OS
alpha           8  400   27.9%     2 17.12    sun4-solaris 2.6
omega           1  333    0.2%     1   inf R1 Reserved: qzurns at 17-Jan 10:29
beta            6  248   69.4%     5 19.46    sun4-solaris 2.6

HOST            PID USER     NICE    MEM STATE  RUNTM   CPU% COMMAND
beta           4678 qmullens    0    34M cpu1    3:04  12.4% vt urx/urx_cell_ms
alpha          4047 charlieg   19   147M cpu9   16:44  12.4% dc_shell ccr_iorg

  rschedule best
Best host is 'alpha'

@end example

Perl functions provide object oriented access to all of this information
and more.

Also included is a program to warn of jobs with over two hours of CPU
time, renice them to 19 and send mail to the offending user.

See @samp{man Schedule::Load} after installation.

@node Obtaining Distribution, Supported Systems, Description, Top
@section Obtaining Distribution

The latest version is available at
@uref{http://www.perl.org/CPAN/}

Download the latest package from that site, and decompress.
@samp{gunzip Schedule::Load_version.tar.gz ; tar xvf Schedule::Load_version.tar}

@node Supported Systems, Installation, Obtaining Distribution, Top
@section Supported Systems

This version of Schedule::Load has been built and tested on:

@itemize @bullet
@item sparc-sun-solaris2.5.1
@item i386-linux
@end itemize

It should run on any Unix system with perl and TCP/IP socketing,
provided that the required perl modules below are ported to the
platform.

@node Installation,  , Supported Systems, Top
@section Installation

@enumerate
@item
Before installing this module, you need the following modules available
from CPAN:

Storable		(tested with 0.6.5)
Proc::ProcessTable;	(tested with 0.23)
Unix::Processors;	(tested with 1.6)

@item
@code{cd} to the directory containing this README notice.

@item
Type @samp{perl Makefile.PL} to configure Schedule::Load for your system.

@item
Type @samp{make} to compile Schedule::Load.

@item
Type @samp{make test} to check the compilation.

@item
Type @samp{make install} to install the programs and any data files
and documentation.  By default, a database will be created in
/usr/local/lib.  To specify an alternate location, use @samp{make
install RSCHLIB=/location}.

@item
Start the daemons as described in the SETUP section in the
Schedule::Load manpage.

@end enumerate
