1 Schedule::Load

This is the Schedule::Load Perl Package.

1.1 Copyright

This package is Copyright 2000-2011 by Wilson Snyder <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.

1.2 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:

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'

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 `man Schedule::Load' after installation.

1.3 Obtaining Distribution

The latest version is available at `http://www.perl.org/CPAN/'

Download the latest package from that site, and decompress. `gunzip Schedule::Load_version.tar.gz ; tar xvf Schedule::Load_version.tar'

1.4 Supported Systems

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

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.

1.5 Installation

  1. 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)

  2. `cd' to the directory containing this README notice.
  3. Type `perl Makefile.PL' to configure Schedule::Load for your system.
  4. Type `make' to compile Schedule::Load.
  5. Type `make test' to check the compilation.
  6. Type `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 `make install RSCHLIB=/location'.
  7. Start the daemons as described in the SETUP section in the Schedule::Load manpage.