This file contains a few notes on building and installing PBS and 
Release notes for each release.

The PBS License is contained in the file "PBS_License.text".


CONTENTS
--------

OpenPBS 2.4 is provided as a single tar file.  The tar file contains:
     -	All source code, header files, and make files required to build
	and install PBS.

     -	A postscript and PDF copy of the PBS Administrators Guide:
	pbs_admin_guide.ps and pbs_admin_guide.pdf

     -	This file.


ADDITIONAL REQUIREMENTS
-----------------------

An ANSI C compiler is required.   The native C compiler is recommended if it
is ANSI, otherwise use gcc.

A fully POSIX make is required.  If you are unable to "make" PBS with your
make, we suggest use of gmake from GNU.

Tcl/Tk version 8 or higher is required if you plan to build the GUI portion
of PBS or use a Tcl based scheduler.


BUILD AND INSTALLATION DIRECTION
--------------------------------

The directions to build and install are found the PBS Administrators Guide.
A postscript and PDF copy are found in this directory.  Please read and
following the directions CAREFULLY.


=============
RELEASE NOTES
=============

The following section lists major bug fixes and new features added in the
release.  Not every fix or change appears here, but if it was important
or major, it will likely be listed.

New Features
------------

Support for the following systems or systems/versions have been added:

	- Sun Solaris 2.7 and 2.8.

	- Cray SV1 running Unicos 10.

	- FreeBSD 4.0.

Support for Sun Solaris 2.7 has been added to PBS.   Since Solaris 2.7 supports
64 bit objects, has 64 bit memory sizes, and has a new /proc file system
interface,   PBS must be built as a 64 bit object in order to correctly compute
memory usage by jobs.

--

Support for Irix 5 and SunOS 4.x have been dropped from PBS as of this release.
The code remains, but will not be supported, nor will problem reports be
accepted for PBS running on these platforms.

--

Round Robin Load Balancing has been added to the standard (fifo) scheduler.
With this policy, a job will be placed on the first execution host whose
load average is less than the specified "ideal load".   The next job to be 
started will be placed on a different host if there is one whose load average
is also below "ideal load".   This will prevent many jobs from suddenly over-
loading a single host.

--

Improvements to the Cray T3E specific scheduler have been made.

--

New schedulers for the following specific clusters of systems have been added:
	dec_cluster
	msic_cluster
	umn_cluster	
These new schedulers were funded and/or written for an originization who 
requested that they be included in the OpenPBS distribution.

--

If you install from the "pbs-exechost" RPM, you will need to set the server 
name in the /usr/spool/PBS/server_name file.  By default, it is set to 
"pbsserver".  Change "pbsserver" to the hostname of the machine which runs the
PBS server.


Bug Fixes
---------

The following major bug fixes have been included since the prior release
of PBS.   This list may not include all fixes included.

1454  -	Fix a Server crash when user specified use of #shared nodes.

1455  -	Keep Server from looping if PBS_HOME file system became full.

1458  -	Fix bug in Server that allowed multiple jobs to use same exclusive
	nodes.

1459  -	Standard Scheduler skip "busy" nodes.

1467  -	Change order of closing sockets to reduce number of ports left in
	"Time-Wait" state.   This helps to prevent systems from temporally
	running out of reserved ports.

1483 - 1487 - cod clean up for API.

1488  -	Fixes to the SGI Origin scheduler.

1489  -	Fix standard scheduler to handle both time-shared and exclusive nodes.

1498  -	Server incorrectly allocated down nodes if multiple down nodes 
	occured together in list.

1504  -	Long exec_host string could overflow accounting buffer

1505  -	Fix some setup problems with IBM SP switch

1506  -	Improve logging of errors which occur on a sister node on job start

1507  -	Ignore job "node" resource when job residing in a routing queue

1511  -	Cray Unicos session fixes

1594  -	Set MP_PROCS correctly for IBM SP

--------------------------------------------------------------------------

-------------------
Release 2.2 Changes
-------------------
 
A new option has been added to pbs_mom.   If Mom is killed when there are
running jobs and she is restarted with the -p option, she will allow the
jobs to continue to run and poll to determine when they have terminated.
See that Admin Guide section on starting Mom and the pbs_mom man page for
more information.


PBS 2.2 supports SMP cluster nodes (cluster nodes with multiple processors).
In the server's node file, you may declare the number of "virtual" processors
per node by adding the special property "np=#", where # is the number of
virtual processors (VPs).   The term virtual is used because the number of VPs
does not have to match the number of physical processors.  Basically,  setting
np=# says that this node may be allocated #-times.  

A corresponding "properity" of ppn=# (for processor per node) is allowed on
the -lnodes= resource specification used by a user when submitting a job.
If not specified, the requested number of processors per node defaults to 1.
Therefore a request of -lnodes=4 asks for 1 VP per node on each of 4 nodes.
Where as a request of -lnodes=2:ppn=2  asks for 2 VPs on each of 2 nodes.
The two allocated nodes will each appear twice in the allocated nodes file
given to the job ($PBS_NODEFILE).

A new server attribute, node_pack, has been added.  This attribute provides 
a measure of control over the order of which nodes VPs are allocated from.
If this attribute is not set (unset), then the the jobs are assigned to nodes
in the order that the nodes are declared to the server (the order of in the
nodes file).   If set to "true", jobs are assigned to the nodes with the fewest
(non-zero) free VPs.  This packs jobs into the fewest possible nodes.  If set
to "false", jobs are assigned to the node with the most free VPs, scattering
the jobs across the node pool.


-------------------
Release 2.1 Changes
-------------------

Support for IBM SPPS 3.1 software on the SP has been added to PBS.
However, at this point, only one job and one window into the SP High
Speed Switch is allocated to a node.

PBS now supports checkpointing of jobs under irix6array, as well as irix6.
MPI jobs may be checkpointed provided either the -miser or the -cpr flag is
used on the mpirun command.  (The new support is mainly a result of improved
functionality in the SGI checkpoint code.  The MPI option requirement is a
requirement imposed by SGI checkpoint implementation.)

If the user's home file system on a cluster is NFS mounted amoung all the
nodes, Mom may be configured to deliver the job's output and error files via
/bin/cp rather than scp.   See the $usecp directive in Mom's config file.

When fifo is load-balancing jobs on a group of time-shared hosts, a specific
host may now be requested by name.

The Administrator Guide has been restructured and heavily revised to make
installation simplier.

A number of minor bugs have been fixed in the default fifo job scheduler.

A number of bugs have been fixed in the other parts of PBS.
A list of the Problem Reports closed and those still open is available at
	http://pbs.mrj.com/UserArea/bugs.html

----------------
2.1 Deficiencies
----------------

Under Irix 6.x, PBS calculates a cpu usage percentage.   It was intended that
the calculation result could be used to "enforce" the "ncpus" job limit.
The intent was a job that used X00% of a cpu in a sample time where X is greater
than the number of cpus requested would be aborted.    However, SGI clears the
Session ID and CPU Time from a zombie process table entry.   The CPU time used
is added into the parent proc entry only when the zombie has been "reaped" when
the parent calls wait().    This creates discontcontinuities in calculating
the  "delta-cput / delta-walltime" and can lead to jobs being aborted when
they should not be.   

A bug report has been filled with SGI.   Until, this is resolved, the 
apparent excessive CPU usage will be logged by Mom, but will NOT result
in the job being aborted.

--------------
