This is www.gnqs.org, The Home Of Batch Processing


Home | Developers | Documents | Downloads | Mailing Lists | People | Support | Volunteer


FEATURES Compile-Time Optional Extras For Generic NQS

Academic Computing Services , The University of Sheffield

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

Document copyright ©. All rights reserved.


Abstract

Under grant NTI/48.2 from the New Technologies Sub Committee (NTSC) of JISC, the University of Sheffield is maintaining a freely-available version of the Network Queueing System (NQS), the de facto standard batch processing system for the UNIX operating system.

This document describes the available features which can be added to Generic NQS at compile time.


Contents

Click here for a plain-text version of this paper. Click here for a copy of this document in Microsoft RTF format, suitable for printing (if available).


Introduction


About This Document

This document


TAMU Feature Set


Introduction

All the features in this chapter were contributed by Dave Safford of Texam A&ampM University. A number of these features have been in Monsanto NQS since 3.36.4, but were closely linked to Dave's IRIX 6 support until recently.

You can enable all of these features by using the -DTAMU option in your FEATURES entry in the Makefile :

>  FEATURES = -DTAMU


`Cost' Accounting


Description

This option enables a hook function in Generic NQS called `nqs_checkbal()', in the source file src/nqs_checkbal.c. You can then modify this hook function to report whether a user has exceeded their budgeted time on the system or not.


Benefits

By modifying the hook function to request data from your favourite database, you can, in conjunction with dynamic scheduling (below), implement full Larmouth scheduling.


Drawbacks

As supplied, this feature does nothing - you have to finish the implementation to suit local needs.


How To Enable

You can enable dynamic scheduling by using the -DNQS_CHECKBAL option in your FEATURES entry in the Makefile :

>  FEATURES = -DNQS_CHECKBAL


Dynamic Scheduling


Description

This option makes Generic NQS resort all its queues every time it is about to try and run a request, and every time a request finishes. During this sorting, it repeatedly uses the function `bsc_compare()' (in src/nqs_bsc.c) to determine the new order of each queue in turn.


Benefits

There are two real benefits to enabling this option :

  • The supplied `bsc_compare()' function resorts the queues so that users who submit more jobs than the current user_limit find that their jobs are assigned a lower priority.

    Previously, a number of sites, including Sheffield, have relied on users respecting the limits of queues. Now, they are enforced in a very effective manner.

  • You can modify the `bsc_compare()' function to perform any additional scheduling you like.


Drawbacks

The only possible drawback is that your users will have to be a little more circumspect as to the number of jobs they submit to NQS at a time ...


How To Enable

You can enable dynamic scheduling by using the -DNQS_DYNAMICSCHED option in your FEATURES entry in the Makefile :

>  FEATURES = -DNQS_DYNAMICSCHED


Processor Set Support


Description

The IRIX 5.x and 6.x operating systems include an unusual way of managing multiple processor hardware. You can create `processor sets', which are sets of processors. You can then limit any arbitary process to run on only those processors listed in any arbitary processor set, by using the /sbin/pset command.

Generic NQS supports the use of these processor sets, by attempting to place all requests for a given queue into the processor set which has the same name as the queue does.


Benefits

The benefit of enabling this option is that you can use processor sets to limit the number of processes tied up with batch work.


Drawbacks

The drawback is that you need to ensure that your queues have the same names as your processor sets.


How To Enable

You can enable dynamic scheduling by using the -DNQS_PSET option in your FEATURES entry in the Makefile :

>  FEATURES = -DNQS_PSET


TMPDIR Temporary Working Directory


Description

With this option, Generic NQS creates a runtime temporary directory for sole use by an arbitary running request. The TMPDIR variable points to the directory. This directory is removed once the request has finished.

This duplicates functionality to be found in CraySoft NQE.


Benefits

  • Applications can use temporary scratch space without having to worry about clashes with temporary files created by any other process.

  • All temporary files created by a running request, which uses this variable, are deleted automatically.


Drawbacks

None that I know of.


How To Enable

You can enable dynamic scheduling by using the -DNQS_TMPDIR option in your FEATURES entry in the Makefile :

>  FEATURES = -DNQS_TMPDIR

Miscellaneous Features


NIS Netgroup Support


Description

This option enables NQS to understand entries in /etc/hosts.equiv which use NIS netgroups. For more information about NIS, please consult a relevant manual.


Benefits

If you use NIS at your site, then this option allows NQS to be better integrated with your use of NIS.


Drawbacks

If your operating system does not support NIS, then you may experience problems with user validation, and you should not enable this feature.


How To Enable

You can enable dynamic scheduling by using the -DNQS_NIS option in your FEATURES entry in the Makefile :

>  FEATURES = -DNQS_NIS


This site (www.gnqs.org) is copyrighted. You can view the terms & conditions here.
You can contact the webmaster here.