Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NAME
     jsd -- simple command scheduling daemon for remote execution

SYNOPSIS
     jsd [-iqv] [-f fanout] [-g rungroup1,...,rungroupN] [-l username] [-p port]
	 [-o port] [-w node1,...,nodeN] [-x node1,...,nodeN] [command ...]

DESCRIPTION
     The  jsd  daemon is used to schedule remote execution of jobs across a het-
     erogenous cluster of machines.  Upon starting the daemon, it  will  attempt
     to  run a benchmark on all machines under it's control.  Once the daemon is
     active it listens for connections from a jsh process, and gives  each  con-
     necting  process the name of a remote host to execute a command on.  Faster
     hosts are preferred by the jsd daemon, and the  fastest  of  all  remaining
     hosts  will allways be given out first.  Once a remote jsh process has com-
     pleted it's use of the remote host, it will again contact the  jsd  daemon,
     and  return  the node to service.	The daemon will never give the same node
     out to more than one process at a time.

     jsd logs errors and critical conditions to the  syslog  with  the	facility
     LOG_DAEMON.

     The following options are available:

     -i   The  -i  option  will  list information about the current cluster, and
	  command groupings.  It will print out the current value of the fanout,
	  and how many groups of machines there are within the cluster. It  will
	  also show you which command you are about to run, and your username if
	  specified with the -l option.

     -q   The  -q  option  does not issue any commands, but displays information
	  about the cluster, and the fanout groupings.

     -v   Prints the version of ClusterIt to the stdout, and exits.

     -f   If the -f option is specified, followed  by  a  number,  it  sets  the
	  fanout  size of the cluster.	The fanout size is the number of nodes a
	  command will run on in parallel at one time.	Thus a 80 node	cluster,
	  with	a  fanout size of 64, would run 64 nodes in parallel, then, when
	  all have finished, it would execute the command on the last 16  nodes.
	  The  fanout size defaults to 64.  This option overrides the FANOUT en-
	  vironment variable.

     -g   If the -g option is specified, followed by a comma separated	list  of
	  group  names,  the command will only be run on that group of nodes.  A
	  node may be a part of more than one group if desired, however  running
	  without  the	-g  option will run the command on the same node as many
	  times as it appears in the file specified by the  CLUSTER  environment
	  variable.  This option is silently ignored if used with the -w option.

     -l   If  the  -l  option is specified, followed by a username, the commands
	  will be run under that userid on the remote  machines.   Consideration
	  must be taken for proper authentication, for this to work.

     -p   The -p option can be used to set the port number which jsd will listen
	  to  replies  from jsh processes indicating completion of processing on
	  remote nodes.  This option overrides the JSD_IPORT  environment  vari-
	  able.  The default listen port is 2001.

     -o   The -o option can be used to set the port number which jsd will listen
	  to  requests	from  jsh processes for remote nodes.  This option over-
	  rides the JSD_OPORT environment variable.  The default listen port  is
	  2002.

     -w   If  the  -w option is specified, followed by a comma delimited list of
	  machine names, the command will be run  on  each  node  in  the  list.
	  Without  this option, jsd runs on the nodes listed in the file pointed
	  to by the CLUSTER environment variable.

     -x   The -x option can be used to exclude specific nodes from the	cluster.
	  The format is the same as the -w option, a comma delimited list of ma-
	  chine  names.  This option is silently ignored if used with the -w op-
	  tion.

ENVIRONMENT
     jsd utilizes the following environment variables:

     CLUSTER	    Contains a filename, which is a newline  separated	list  of
		    nodes in the cluster.

     RCMD_CMD	    Command  to  use to connect to remote machines.  The command
		    chosen must be able to connect with no password to	the  re-
		    mote  host.  Defaults to rsh.  This is only used by jsd when
		    issuing the benchmark at startup, and has no effect  on  how
		    jsh processes will connect to the remote nodes.

     RCMD_CMD_ARGS  Arguments  to pass to the remote shell command.  Defaults to
		    none. As with RCMD_CMD this is only used  when  issuing  the
		    benchmark at startup.

     JSD_BENCH_CMD  This  is the name of a command, which when run on the remote
		    nodes of the cluster will give some indication of the  rela-
		    tive speed of the machines.  It does not need to be precise.
		    If	no benchmark command is specified, all machines are con-
		    sidered to be the same speed, and will not be wieghted.  The
		    bench command expects a single floating point number as  the
		    only  output  to  the remote command.  Larger numbers are to
		    indicate faster machines.  See the EXAMPLES section for more
		    details.

     FANOUT	    When set, limits the maximum number of  concurrent	commands
		    sent  at  once.  This can be used to keep from overloading a
		    small host when sending out commands in parallel.	Defaults
		    to 64.  This environment setting can be overridden by the -f
		    option.

     JSD_OPORT	    When  set,	overrides  the default port which jsd listens on
		    for jsh processes requesting nodes.  This  environment  set-
		    ting can be overriden by the -o option.

     JSD_IPORT	    When  set,	overrides  the default port which jsd listens on
		    for jsh processes reporting back that it has completed  pro-
		    cessing  on a node.  This environment setting can be overri-
		    den by the -p option.

EXAMPLES
     In order to generate a benchmark figure useful to jsd you will most  likely
     need  to  process	the ouput of a benchmark command in some way.  There are
     two simple ways of doing this:

     The first way is to build a script, which exists on each machine,	and  run
     that  as your benchmark command.  The below script shows how to process the
     output of the whetstone(1) command into a format useable by jsd :

	   #!/bin/sh
	    ./whetstone 100000 | grep MIPS | sed -e 's|.*: \(.*\) MIPS|\1|'

     The other way, would be to run a more involved benchmark on  each	machine,
     (or  assign numbers arbitrarily) and place them in a file on the remote ma-
     chines.  A benchmark command could then simply  be  cat  /etc/benchmark  or
     some other similar setup.

SEE ALSO
     dsh(1), jsh(1), syslogd(8).

HISTORY
     The  jsd  command first appeared in clusterit 2.0.  It should be pronounced
     "jez-dee", and stands for `Job Scheduling Daemon'.

AUTHOR
     Jsd was written by Tim Rightnour.

				February 19, 2000			  JSD(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=jsd&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help