summaryrefslogtreecommitdiff
path: root/man/4/grid-cpu
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2008-10-27 17:53:12 +0000
committerCharles.Forsyth <devnull@localhost>2008-10-27 17:53:12 +0000
commit803bada65cd0a14dda7d7ba9b9752802986438f3 (patch)
treec72f3dae2af1c7897e687821838c21f6ef11d67d /man/4/grid-cpu
parent528235e8944bc361c3d6259eba198e0174870621 (diff)
20081027-1752
Diffstat (limited to 'man/4/grid-cpu')
-rw-r--r--man/4/grid-cpu141
1 files changed, 141 insertions, 0 deletions
diff --git a/man/4/grid-cpu b/man/4/grid-cpu
new file mode 100644
index 00000000..fdabb15a
--- /dev/null
+++ b/man/4/grid-cpu
@@ -0,0 +1,141 @@
+.TH CPU 4
+.SH NAME
+cpu \- cpu server resource
+.SH SYNOPSIS
+.B grid/srv/cpu
+.br
+.B grid/runcpu
+.SH DESCRIPTION
+.I Cpu
+is a file server that provides a processing resource. This resource imports a namespace from one or more external sources and executes selected commands within it.
+.I Cpu
+creates its own namespace containing three files
+.BR ctl ,
+.B cmd
+and
+.B ns
+which are used to configure the processing task prior to execution, this namespace is exported and served on
+.I stdin.
+In order to configure a processing task, a client must first mount the
+.I cpu
+namespace. Once this is done, reading the
+.B cmd
+and
+.B ns
+files will display the current configuration of commands to be executed or directories to be imported respectively. The
+.B ctl
+file is used to modify the current configuration and accepts the following input:
+.IP
+.B add cmd
+.I command
+.IP
+.B add ns
+.I path address
+.IP
+.B del [cmd|ns]
+.I index
+.PP
+Where
+.I command
+is the name (including full path and parameters) of a command to be executed.
+.I Path
+is the name of a directory to import from the exported namespace available at
+.I address
+and
+.I index
+is the index (as shown when reading the
+.B cmd
+and
+.B ns
+files) of the command or directory to be removed from the configuration.
+.PP
+For example, to import
+.B /dis
+and
+.B /dev
+from a resource exporting a Styx (see
+.IR intro(5))
+namespace at address
+.B tcp!200.1.5.53!7003
+and then run
+.B ls -l
+and
+.BR du ,
+the following commands would be used:
+.IP
+.B "echo 'add cmd /dis/ls -l' > ctl"
+.br
+.B "echo 'add cmd /dis/du' > ctl"
+.br
+.B "echo 'add ns /dis tcp!200.1.5.53!7003' > ctl"
+.br
+.B "echo 'add ns /dev tcp!200.1.5.53!7003' > ctl"
+.PP
+Reading the
+.B cmd
+and
+.B ns
+files will give the following output:
+.IP
+.B cmd
+.br
+.B 1: /dis/ls -l
+.br
+.B 2: /dis/du
+.IP
+.B ns
+.br
+.B 1: /dis (200.1.5.53!7003)
+.br
+.B 2: /dev (200.1.5.53!7003)
+.PP
+Once the client disconnects from (unmounts) the cpu, the selected namespaces will be imported and the commands executed. Note: A
+.I cpu
+does not have
+.I any
+namespace of its own. All required namespaces
+.I must
+be imported, for a simple command such as
+.BR ls ,
+the minimum recommended namespace to import would be:
+.B /chan /dev /dis /module
+.PP
+.IR Register (1)
+may be used in conjunction with
+.I cpu
+to register it with a
+.IR registry(4)
+and to export and serve its namespace across
+.IR dial(2)
+network connections. Incoming connections may also be displayed visually using
+.IR monitor (1).
+For example:
+.PP
+.BI "grid/register [" " options ..." " ] { grid/srv/cpu } | grid/srv/monitor 2 'CPU resource'
+.PP
+This set of commands is encapsulated within the shell script
+.I runcpu
+which will automatically register
+.I cpu
+with a
+.IR registry(4)
+if possible and start up the graphical display to show connections to the resource. There is no need for the user to execute
+.I cpu
+outside of
+.I runcpu
+unless the namespace it provides is required to be accessible in a different way to that provided by
+.IR register (1).
+.SH SOURCE
+.B /appl/grid/srv/cpu.b
+
+.SH BUGS
+At the moment,
+.I Cpu
+will only import namespaces across an unauthenticated connection as provided by
+.IR ns (1).
+
+.SH "SEE ALSO"
+.IR grid-monitor (1),
+.IR grid-ns (1),
+.IR grid-query (1),
+.IR grid-register (1)