From: sims@cam.nist.gov (Jim_Sims_x2710)
Newsgroups: comp.sys.sgi
Subject: Re: Interactive vs Background users
Date: 21 Nov 92 01:47:19 GMT
Organization: National Institute of Standards & Technology, Gaithersburg, MD

Some time ago I was looking for a way to lower the priority of jobs 
that are CPU hogs in order to give interactive control to people
at the console. I posted to comp.sys.sgi and found out about a company 
called Parallelograms who had created a program on Alliant systems to 
do this automatically. They had done an SGI port and invited me to 
beta-test it and give them my input. I did, and when I asked for
a way to put the person who is logged in at the "console" in a
special class by themselves and rig things up so that every
other job gets pushed into the background, they added that
capability. We eventually bought their product (Nanny) and have
been satisfied with it enough to want to give them a plug.

What follows is from Parallograms and is sort of an executive
summary of the key functions and technical features of the
currently available Nanny:


Nanny is a very general CPU time balancer.  Nanny runs as a daemon to
continuously and automatically watch the CPU behavior of jobs and then
set their priorities according to whether they appear to be background
number-crunchers or interactive applications.  The priorities are
entirely configurable by the system manager.  Here are some of the
things that are transparently accomplished using Nanny:

	- implement any balance of CPU time distribution between users,
	  groups, or departments

	- give overriding priority to console users when they are present
	  and thus improve interactive response

	- monitor the current CPU load or create historical summaries of
	  CPU by user, group, or departments

Platforms:

	Nanny runs on a variety of popular workstations and parallel
processors.  Additional ports are in progress.  The following are 
available:

	- Silicon Graphics workstations and multi-processors
	- Hewlett-Packard 9000 700 series
	- Sun SPARC systems
	- Alliant systems
	- Cray (FPS model 500) systems

Configuration and technical features:

	To implement many configuration and query functions, Nanny uses
an embedded command parser called Tcl (Tool Command Language by John
Ousterhout; see comp.lang.tcl newsgroup for information).  Tcl makes
the data Nanny collects available to other programs.  In particular one
can write scripts that take specific system actions based on data collected
by Nanny.  Tk (an X11 toolkit for Tcl) and the "wish" shell also
provide X11-based graphical display of data available.

	For Perl (by Larry Wall; see comp.lang.perl) enthusiasts the
socket() function allows Perl writers access to the data collected by
Nanny.  Scripts may then take system actions based on the results.  For
example, either of these tools (wish or perl) could be used to build a
script that monitors memory intensive jobs and pauses them if they are
running at inopportune times.  A simple example of such a script is
provided.

	Nanny's network capabilities make collecting and acting on
network-wide detailed load information as simple as writing a single 
script for a master host.

Contact information and pricing:

	For additional information, write to:

		Parallelograms
		P. O. Box AA
		Pasadena, CA  91102

	You may also call or FAX 818 577 5515.

	Also, questions can be asked of terry@wag.caltech.edu

	Pricing is in the PC software range.  Call for more information.

-----------------------------------------------------------------------
NAME:   James S. Sims                    TELE: (301) 975-2710
USMAIL: National Institute of Standards and Technology
(formerly National Bureau of Standards)  ARPA,BITNET: sims@enh.nist.gov
        Bldg. 225 Room B-146               
	Gaithersburg, MD  20899
Newsgroups: comp.sys.sgi