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
       heterogenous 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 connecting 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 completed	it's use of the	remote host,  it  will
       again contact the jsd daemon, and return	the node to service.  The dae-
       mon  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 clus-
	    ter. 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 informa-
	    tion 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 par-
	    allel,  then, when all have	finished, it would execute the command
	    on the last	16 nodes.  The fanout size defaults to 64.   This  op-
	    tion overrides the FANOUT environment 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  com-
	    mands  will	be run under that userid on the	remote machines.  Con-
	    sideration 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 pro-
	    cessing on remote nodes.  This option overrides the	JSD_IPORT  en-
	    vironment variable.	 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  op-
	    tion  overrides  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 clus-
	    ter.   The	format is the same as the -w option, a comma delimited
	    list of machine names.  This option	is silently  ignored  if  used
	    with the -w	option.

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  com-
		      mand  chosen must	be able	to connect with	no password to
		      the remote 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 re-
		      mote nodes of the	cluster	will give some	indication  of
		      the relative speed of the	machines.  It does not need to
		      be  precise.   If	no benchmark command is	specified, all
		      machines are considered 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 ma-
		      chines.  See the EXAMPLES	section	for more details.

       FANOUT	      When set,	limits the maximum number of  concurrent  com-
		      mands sent at once.  This	can be used to keep from over-
		      loading a	small host when	sending	out commands in	paral-
		      lel.   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
		      setting 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  com-
		      pleted  processing  on a node.  This environment setting
		      can be overriden 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  ma-
       chine,  (or assign numbers arbitrarily) and place them in a file	on the
       remote  machines.   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 pro-
       nounced "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.0>

home | help