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

@c $Id: readme.texi 73 2006-03-02 13:01:12Z wsnyder $
@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-2006 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 General Public License or the
Perl Artistic License.

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
