

Aug 20 14:41 1995                                           Page 1












			Changes To Generic NQS (GNQS)


			 Academic Computing Services
			   University of Sheffield


				Stuart Herbert
			 (S.Herbert@sheffield.ac.uk)












































Aug 20 14:41 1995                                           Page 2


Abstract :

	The University of Sheffield is supplying, and supporting, Generic
	NQS to UK Higher Educational Sites as part of the New Technologies
	Initiative of JISC, under grant NTI/48.2.  This document contains
	a summary of changes for each new release of NQS.

























































Aug 20 14:41 1995                                           Page 3


----------------------------
	Contents
----------------------------

1	Introduction

1.1	Introduction
1.2	Pre-Release Programme Schedule

2	Version 3.40.0, Pre-Release #2

2.1	About This Release
2.1.1		Purpose
2.1.2		WARNING
2.1.3		Supported Platforms
2.1.4		Still To Do
2.2	Jobs No Longer Get Stuck In Routing State
2.2.1		Description
2.2.2		Status
2.2.3		Platforms Affected
2.2.4		Code Contributed By
2.3	Quota Support Improved (ALL PLATFORMS)
2.3.1		Description
2.3.2		Status
2.3.3		Platforms Affected
2.3.4		Code Contributed By
2.4	More ANSI C Fixes (ALL PLATFORMS)
2.4.1		Description
2.4.2		Platforms Affected
2.4.3		Status
2.4.4		Code Contributed By
2.5	Fujitsu Support Updated
2.5.1		Description
2.5.2		Platforms Affected
2.5.3		Status
2.5.4		Code Contributed By

3	Version 3.40.0, Pre-Release #1

3.1	Purpose
3.2	New Name
3.3	Unanticipated Transaction Failure Fix (ALL PLATFORMS)
3.3.1		Description
3.3.2		Platforms Affected
3.3.3		Status
3.3.4		Change Contributed By
3.4	Compilation Fixes (ULTRIX)
3.4.1		Description
3.4.2		Platforms Affected
3.4.3		Status
3.4.4		Code Contributed By
3.5	Support For Fujitsu VP2200/20 (FUJITSU)
3.5.1		Description
3.5.2		Platforms Affected
3.5.3		Status
3.5.4		Code Contributed By







Aug 20 14:41 1995                                           Page 4


3.6	Compilation Fixes (AIX)
3.6.1		Description
3.6.2		Platforms Affected
3.6.3		Status
3.6.4		Code Contributed By
3.7	Removal of BSDish Code (LINUX/ELF + SOLARIS 2)
3.7.1		Description
3.7.2		Platforms Affected
3.7.3		Status
3.7.4		Code Contributed By
3.8	New Documentation
3.8.1		Description
3.8.2		Status
3.8.3		Contributed By
3.9	Scheduling Fix On Startup (ALL PLATFORMS)
3.9.1		Description
3.9.2		Platforms Affected
3.9.3		Status
3.9.4		Code Contributed By
3.10	NIS Netgroups In /etc/hosts.equiv (ALL PLATFORMS)
3.10.1		Description
3.10.2		Platforms Affected
3.10.3		Status
3.10.4		Code Contributed By
3.11	More Environment Variable Fixes (ALL PLATFORMS)
3.11.1		Description
3.11.2		Platforms Affected
3.11.3		Status
3.11.4		Code Contributed By
3.12	qcat -u Fixed (ALL PLATFORMS)
3.12.1		Description
3.12.2		Platforms Affected
3.12.3		Status
3.12.4		Code Contributed By
3.13	Email Messages Corrected (ALL PLATFORMS)
3.13.1		Description
3.13.2		Platforms Affected
3.13.3		Status
3.13.4		Code Contributed By
3.14	ANSI C Cleanups (ALL PLATFORMS)
3.14.1		Description
3.14.2		Platforms Affected
3.14.3		Status
3.14.4		Code Contributed By
3.15	Previous Changes Available in `OldChanges' File
3.15.1		Description
3.15.2		Contributed By
















Aug 20 14:41 1995                                           Page 5


----------------------------
1	Introduction
----------------------------

	--------------------
1.1	Introduction

	This is a summary of changes to Generic NQS as released by the
	University of Sheffield.

	We are most grateful for the contributions made by other individuals
	and organisations.

	--------------------
1.2	Pre-Release Programme Schedule

	o  Pre-release #2 will be made on Monday, 21st August 1995.

	   Pre-release #2 has been compiled and tested on most of the
	   platforms available to me here at Sheffield.

	   As bugs are fixed, or new features added, so there will be more
	   pre-releases after pre-release #2.

	o  Final pre-release will be made on Thursday, 31st August 1995.

	   Only bug fix patches will be allowed into the source tree between
	   the final pre-release, and the full release, except by prior
	   arrangement.  All other patches will be held over for a Generic
	   NQS 3.41.0 release.

	o  Full release will be made on Friday 29th September 1995.

	   I'm on holiday 1st-24th September, inclusive, so this gives a
	   three week period for the final pre-release to be well tested.

	   I'll resolve any issues once I'm back on Monday 25th, and Generic
	   NQS v3.40.0 will have a full release on Friday 29th September.

























Aug 20 14:41 1995                                           Page 6


----------------------------
2	Version 3.40.0, Pre-Release #2
----------------------------

	--------------------
2.1	About This Release

	----------
2.1.1	Purpose

	This is the second pre-release of Generic NQS v3.40.0.  Generic NQS
	was formerly known as Monsanto-NQS.

	----------
2.1.2	WARNING

	WARNING: THIS IS A PUBLIC PRE-RELEASE VERSION.  PLEASE DO NOT USE
	THIS VERSION TO PROVIDE AN END-USER SERVICE UNLESS YOU HAVE VERIFIED
	THAT THIS VERSION FUNCTIONS AS DOCUMENTED.

	----------
2.1.3	Supported Platforms

	This product has been compiled, and used, on the following 
	platforms prior to full release :

	> ----------------------------------------------------------------
	> Platform	| Release	| Compiler	| Tested?
	>		| Used		| Warnings?	|
	> ----------------------------------------------------------------
	> Linux/ELF	| v3.40.0 #2	| No		| Yes
	> Solaris 2.3	| v3.40.0 #2	| No		| Yes
	> ULTRIX 4.3a	| v3.40.0 #1	| No		| No
	> ----------------------------------------------------------------

	The following platforms are also supported, but we have been unable
	to test this product on them prior to full release.

	> ----------------------------------------------------------------
	> Platform		| Last Release We Know Which Worked
	> ----------------------------------------------------------------
	> AIX			| v3.37.1
	> HPUX 8.x		| v3.37.1
	> HPUX 9.x		| v3.37.1
	> IRIX 4		| v3.36.0
	> IRIX 5.2		| v3.37.1
	> IRIX 5.3		| v3.37.1
	> IRIX 6.0x		| v3.37.1
	> IRIX 6.1		| v3.37.1
	> NCR			| v3.36.6
	> OSF/1 v3.2		| v3.37.1
	> SunOS v4.x		| ??
	> ----------------------------------------------------------------

	Any issues relating to using this product on individual platforms
	are documented in the `doc/README.platform' files found with the







Aug 20 14:41 1995                                           Page 7


	NQS source code.

	If you successfully compile this release on other platforms, please
	send me details, so that I can expand this section further.

	----------
2.1.4	Still To Do

	The following issues are outstanding, and require addressing before
	this pre-release programme can end.

	o  More cleanups to the kernel-based resource limits code.

	   I've more changes from Phil Chambers at Exeter to incorporate.

	o  Improved documentation.

	   I've had no feedback on the new documentation for Generic NQS so
	   far.  At any rate, the INSTALL document needs completing.

	o  UNICOS support.

	   Dave Safford at TAMU (author of the original IRIX 6 support) has
	   been working on porting Generic NQS to the UNICOS v8 operating
	   system.

	--------------------
2.2	Jobs No Longer Get Stuck In Routing State

	----------
2.2.1	Description

	When a job is being moved from one pipe queue to another pipe queue,
	the job is said to be in the `routing state'.  While it is in this
	state, the job cannot be deleted.

	I consider this to be one of the three most important outstanding
	problems reported for Generic NQS (the other two being unanticipated
	transaction failures, fixed by David Billinghurst, and problems with
	reading the nmap database, so far unfixed) because the only way to
	recover from this is to delete the NQS spool space and reinstall.

	This problem occurs when, for some reason, pipeclient fails to
	establish communication with a remote host.  If a pipe queue has
	several destinations, and at least one of them successfully accepts
	the transfer, there is no problem, but when all the destination(s)
	fail, the request remains in the routing stage, where it cannot be
	deleted at all.

	The problem was caused by pipeclient failing to tell the NQS daemon
	to reschedule the request correctly.  Now, once pipeclient has
	determined that all remote hosts are unavailable, the request is
	requeued in the waiting state (where it can be deleted etc as
	desired).

	----------







Aug 20 14:41 1995                                           Page 8


2.2.2	Status

	Second implementation of solution.  Tested on Solaris 2.3 and
	Linux/ELF - no apparent side effects observed to date.

	----------
2.2.3	Platforms Affected

	All.

	----------
2.2.4	Code Contributed By

	Stu.

	--------------------
2.3	Quota Support Improved (ALL PLATFORMS)

	----------
2.3.1	Description

	The `quotas' (kernel-supported resource limits in UNIX parlance)
	enforcing code has been reworked.  For all SYSV-like platforms, a
	resource limit of `unlimited' should now be correctly enforced,
	while for BSD-like platforms, resource limits greater than
	`unlimited' should now be correctly set to unlimited.

	The `quotas' code is now the same for all platforms.

	This change was introduced at this stage to fix problems encountered
	on the IRIX 6 platform.

	----------
2.3.2	Status

	Tested on Solaris 2.3 and Linux/ELF - a subset of the changes have
	also been used at Exeter, on IRIX 6.  Further changes due in next
	pre-release of Generic NQS.

	----------
2.3.3	Platforms Affected

	All.

	----------
2.3.4	Code Contributed By

	Stu

	--------------------
2.4	More ANSI C Fixes (ALL PLATFORMS)

	----------
2.4.1	Description

	The declaration of function prototypes in the NQS source code was







Aug 20 14:41 1995                                           Page 9


	previously of the form :

	> #ifndef __CEXTRACT__
	> #if __STDC__
	>
	>    ANSI C Prototypes
	>
	> #else
	>
	>    KnR C Prototypes
	>
	> #endif
	> #endif

	This has been reduced down to just ANSI C prototypes.  This has the
	following benefits :

	o  Remove a number of compile time warnings from Solaris 2
	o  Enable compilation on Fujitsu machines

	----------
2.4.2	Platforms Affected

	All.

	----------
2.4.3	Status

	Tested on Solaris 2.3 and Linux/ELF.  Requires testing on other
	platforms too.

	----------
2.4.4	Code Contributed By

	Stu

	--------------------
2.5	Fujitsu Support Updated

	----------
2.5.1	Description

	Use the file `Makefile.fujitsu' to compile on a Fujitsu machine.

	This should complete the code required to support Fujitsu's - the
	only remaining step now is to test NQS on Fujitsu.

	----------
2.5.2	Platforms Affected

	> [ ] AIX			[ ] FUJITSU
	> [ ] HPUX 8		        [ ] HPUX 9
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4







Aug 20 14:41 1995                                           Page 10


	> [x] ULTRIX

	----------
2.5.3	Status

	Not tested (I don't have access to a Fujtisu machine).

	----------
2.5.4	Code Contributed By

	Stu, based on information from Mark Loveridge
	(markl@gatwick.geco-prakla.slb.com)



















































Aug 20 14:41 1995                                           Page 11


----------------------------
3	Version 3.40.0, Pre-Release #1
----------------------------

	--------------------
3.1	Purpose

	This is the first release of Generic NQS.  Generic NQS was formerly
	known as Monsanto-NQS.

	This release has been compiled on the following platforms :

	o  Linux/ELF, using GCC 2.7.0.
	   Compiled cleanly, with no warnings.

	o  ULTRIX 4.3e.
	   Compiled cleanly, with no warnings.

	If you successfully compile this release on other platforms, please
	send me details, so that I can expand this section prior to release.

	WARNING: THIS IS A PUBLIC PRE-RELEASE VERSION.  PLEASE DO NOT USE
	THIS VERSION TO PROVIDE AN END-USER SERVICE UNLESS YOU HAVE VERIFIED
	THAT THIS VERSION FUNCTIONS AS DOCUMENTED.

	In particular, note that some of the ANSI C cleanups I've personally
	added, and the changes to reduce reliance on the BSD interface, may
	well break more than they fix.

	--------------------
3.2	New Name

	Monsanto-NQS was originally maintained by John Roman, of the
	Monsanto Company.  Since October, 1994, it has been maintained by
	The University of Sheffield.  By agreement with John, there will be
	no more releases under the Monsanto-NQS name.

	--------------------
3.3	Unanticipated Transaction Failure Fix (ALL PLATFORMS)

	----------
3.3.1	Description

	GNQS currently uses inodes themselves to store information about
	transactions - this is the way it was originally done back in COSMIC
	NQS.

	GNQS assumes that inodes are 32-bit unsigned integers - this is not
	the case for all versions of UNIX (POSIX.1 does not define the size
	of an inode).  On systems which use 32-bit signed integers for the
	inode, NQS generates `unanticipated transaction failures', because
	negative values are not permitted.

	This affects the timestamp for a transaction, which can no longer
	fit into the inode correctly.  The solution is to reduce the
	granularity of the timestamp (so that it is accurate to every four







Aug 20 14:41 1995                                           Page 12


	seconds) so that it will fit into the inode correctly.

	----------
3.3.2	Platforms Affected

	All.

	----------
3.3.3	Status

	Tested on Solaris 2.3, Linux/ELF, and ULTRIX.  No apparent side
	effects observed.

	This change may make upgrading from Monsanto-NQS difficult under
	certain circumstances.

	----------
3.3.4	Change Contributed By

	David Billinghurst (billingd@crc.cra.com.au)

	--------------------
3.4	Compilation Fixes (ULTRIX)

	----------
3.4.1	Description

	Substantial work has been done to allow Generic NQS to work on Ultrix
	4.3A.  I have independant reports that this works well.

	----------
3.4.2	Platforms Affected

	> [ ] AIX			[ ] FUJITSU
	> [ ] HPUX 8		        [ ] HPUX 9
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [x] ULTRIX

	----------
3.4.3	Status

	Tested under ULTRIX.  No further work apparently required.

	----------
3.4.4	Code Contributed By

	David Billinghurst (billingd@crc.cra.com.au)

	--------------------
3.5	Support For Fujitsu VP2200/20 (FUJITSU)

	----------
3.5.1	Description







Aug 20 14:41 1995                                           Page 13



	Generic NQS now compiles and functions on the Fujitsu VP2200/20
	running UXP/M V10L20, compiled with /usr/ccs/bin/cc (NOT /usr/ucb/cc).

	----------
3.5.2	Platforms Affected

	> [ ] AIX			[x] FUJITSU 
	> [ ] HPUX 8		        [ ] HPUX 9
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX

	----------
3.5.3	Status

	Untested.

	----------
3.5.4	Code Contributed By

	Mark Loveridge (markl@gatwick.geco-prakla.slb.com)

	--------------------
3.6	Compilation Fixes (AIX)

	----------
3.6.1	Description

	Compile-time problems on AIX 3.2.5 have been fixed.

	----------
3.6.2	Platforms Affected

	> [x] AIX			[ ] FUJITSU
	> [ ] HPUX 8		        [ ] HPUX 9
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[ ] LINUX
	> [ ] NCR			[ ] OSF/1
	> [ ] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX

	----------
3.6.3	Status

	Untested at this time.

	----------
3.6.4	Code Contributed By

	Mark Loveridge

	--------------------
3.7	Removal of BSDish Code (LINUX/ELF + SOLARIS 2)







Aug 20 14:41 1995                                           Page 14



	----------
3.7.1	Description

	The amount of code which uses the BSD API has been reduced.  Solaris 2
	supplies a BSD-compatibility library which is notorious for being
	buggy, while Linux + ELF doesn't seem to provide such a library at
	all ...

	NOTE that these changes have not been extensively tested, and may
	result in broken functionality.

	----------
3.7.2	Platforms Affected

	> [ ] AIX			[ ] FUJITSU
	> [ ] HPUX 8		        [ ] HPUX 9
	> [ ] IRIX 4			[ ] IRIX 5
	> [ ] IRIX 6			[x] LINUX
	> [ ] NCR			[ ] OSF/1
	> [x] SOLARIS 2			[ ] SUNOS 4
	> [ ] ULTRIX

	----------
3.7.3	Status

	Tested under Solaris 2.3 and Linux/ELF.

	----------
3.7.4	Code Contributed By

	Stu

	--------------------
3.8	New Documentation

	----------
3.8.1	Description

	The documentation `INSTALL', `README', and `PROBLEMS' has all been
	substantially re-written.  Note that INSTALL is incomplete at this
	time - it will be finished before the full release.

	----------
3.8.2	Status

	Incomplete.  More changes required in later pre-releases.

	----------
3.8.3	Contributed By

	Stu

	--------------------
3.9	Scheduling Fix On Startup (ALL PLATFORMS)








Aug 20 14:41 1995                                           Page 15


	----------
3.9.1	Description

	When restarting NQS, pending jobs were not started up in a timely
	fashion.  This has been fixed.

	----------
3.9.2	Platforms Affected

	All.

	----------
3.9.3	Status

	Tested on Solaris 2.3 and Linux/ELF.  No apparent side effects
	observed.

	----------
3.9.4	Code Contributed By

	Rob Creecy (rcreecy@census.gov)

	--------------------
3.10	NIS Netgroups In /etc/hosts.equiv (ALL PLATFORMS)

	----------
3.10.1	Description

	NIS netgroups can now be specified in the file /etc/hosts.equiv,
	as used by Generic NQS.

	----------
3.10.2	Platforms Affected

	All platforms which support NIS.

	----------
3.10.3	Status

	Unable to test here at Sheffield.  Code is currently #ifdef'd out, 
	pending modification to the makefiles to allow conditional
	compilation of the code.

	----------
3.10.4	Code Contributed By

	Mark Loveridge

	--------------------
3.11	More Environment Variable Fixes (ALL PLATFORMS)

	----------
3.11.1	Description

	When NQS builds an environment for processes, it now correctly
	determines the length of all the strings in the environment.







Aug 20 14:41 1995                                           Page 16



	----------
3.11.2	Platforms Affected

	All.

	----------
3.11.3	Status

	Tested on Solaris 2.3 and Linux/ELF.

	----------
3.11.4	Code Contributed By

	Mark Loveridge

	--------------------
3.12	qcat -u Fixed (ALL PLATFORMS)

	----------
3.12.1	Description

	whompw was not initialised to NULL, and this prevented qcat -u
	working on all platforms except Fujitsu.  Fixed.

	----------
3.12.2	Platforms Affected

	All except Fujitsu.

	----------
3.12.3	Status

	Tested on Solaris 2.3 and Linux/ELF.

	----------
3.12.4	Code Contributed By

	Mark Loveridge

	--------------------
3.13	Email Messages Corrected (ALL PLATFORMS)

	----------
3.13.1	Description

	If NQS_SPOOL was set to anything but the default value, email to
	users once the output was spooled would contain an incorrect
	directory name.  Fixed.

	----------
3.13.2	Platforms Affected

	All.

	----------







Aug 20 14:41 1995                                           Page 17


3.13.3	Status

	Tested on Solaris 2.3 and Linux/ELF.

	----------
3.13.4	Code Contributed By

	Mark Loveridge, and Stu.

	--------------------
3.14	ANSI C Cleanups (ALL PLATFORMS)

	----------
3.14.1	Description

	More work has been done to ensure that NQS compiles cleanly under
	ANSI C.  If your native C compiler has trouble with these changes,
	please try to compile NQS with the Free Software Foundation's GCC
	before reporting any problems.

	From now on, please report any compile-time warnings so that they
	can be eliminated.

	----------
3.14.2	Platforms Affected

	All platforms affected.

	----------
3.14.3	Status

	Tested on Linux/ELF.  Further cleanups required for Solaris 2.3.

	----------
3.14.4	Code Contributed By

	David Billinghurst, Mark Loveridge, and Stu.

	--------------------
3.15	Previous Changes Available in `OldChanges' File

	----------
3.15.1	Description

	The list of changes to Monsanto-NQS since October, 1994, can be
	found in the file `OldChanges'.

	----------
3.15.2	Contributed By

	Stu



----------------------------------------------------------------------------
Stuart Herbert - (S.Herbert@sheffield.ac.uk)





