aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/doc/src/pool.xml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/stdlib/doc/src/pool.xml')
-rw-r--r--lib/stdlib/doc/src/pool.xml135
1 files changed, 75 insertions, 60 deletions
diff --git a/lib/stdlib/doc/src/pool.xml b/lib/stdlib/doc/src/pool.xml
index 39a79e5dc5..05d12ade28 100644
--- a/lib/stdlib/doc/src/pool.xml
+++ b/lib/stdlib/doc/src/pool.xml
@@ -1,23 +1,24 @@
-<?xml version="1.0" encoding="latin1" ?>
+<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">
<erlref>
<header>
<copyright>
- <year>1996</year><year>2011</year>
+ <year>1996</year><year>2016</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
</legalnotice>
@@ -28,89 +29,103 @@
<rev></rev>
</header>
<module>pool</module>
- <modulesummary>Load Distribution Facility</modulesummary>
+ <modulesummary>Load distribution facility.</modulesummary>
<description>
- <p><c>pool</c> can be used to run a set of Erlang nodes as a pool
+ <p>This module can be used to run a set of Erlang nodes as a pool
of computational processors. It is organized as a master and a
set of slave nodes and includes the following features:</p>
+
<list type="bulleted">
<item>The slave nodes send regular reports to the master about
- their current load.</item>
+ their current load.</item>
<item>Queries can be sent to the master to determine which node
- will have the least load.</item>
+ will have the least load.</item>
</list>
+
<p>The BIF <c>statistics(run_queue)</c> is used for estimating
future loads. It returns the length of the queue of ready to run
processes in the Erlang runtime system.</p>
- <p>The slave nodes are started with the <c>slave</c> module. This
- effects, tty IO, file IO, and code loading.</p>
- <p>If the master node fails, the entire pool will exit.</p>
+
+ <p>The slave nodes are started with the
+ <seealso marker="slave"><c>slave(3)</c></seealso> module. This
+ effects terminal I/O, file I/O, and code loading.</p>
+ <p>If the master node fails, the entire pool exits.</p>
</description>
+
<funcs>
<func>
- <name name="start" arity="1"/>
- <name name="start" arity="2"/>
- <fsummary>>Start a new pool</fsummary>
- <desc>
- <p>Starts a new pool. The file <c>.hosts.erlang</c> is read to
- find host names where the pool nodes can be started. See
- section <seealso marker="#files">Files</seealso> below. The
- start-up procedure fails if the file is not found.</p>
- <p>The slave nodes are started with <c>slave:start/2,3</c>,
- passing along <c><anno>Name</anno></c> and, if provided,
- <c><anno>Args</anno></c>.
- <c><anno>Name</anno></c> is used as the first part of the node names,
- <c><anno>Args</anno></c> is used to specify command line arguments. See
- <seealso marker="slave#start/2">slave(3)</seealso>.</p>
- <p>Access rights must be set so that all nodes in the pool have
- the authority to access each other.</p>
- <p>The function is synchronous and all the nodes, as well as
- all the system servers, are running when it returns a value.</p>
- </desc>
- </func>
- <func>
<name name="attach" arity="1"/>
- <fsummary>Ensure that a pool master is running</fsummary>
+ <fsummary>Ensure that a pool master is running.</fsummary>
<desc>
- <p>This function ensures that a pool master is running and
- includes <c><anno>Node</anno></c> in the pool master's pool of nodes.</p>
+ <p>Ensures that a pool master is running and includes
+ <c><anno>Node</anno></c> in the pool master's pool of nodes.</p>
</desc>
</func>
+
<func>
- <name name="stop" arity="0"/>
- <fsummary>Stop the pool and kill all the slave nodes</fsummary>
+ <name name="get_node" arity="0"/>
+ <fsummary>Return the node with the expected lowest future load.</fsummary>
<desc>
- <p>Stops the pool and kills all the slave nodes.</p>
+ <p>Returns the node with the expected lowest future load.</p>
</desc>
</func>
+
<func>
<name name="get_nodes" arity="0"/>
- <fsummary>Return a list of the current member nodes of the pool</fsummary>
+ <fsummary>Return a list of the current member nodes of the pool.
+ </fsummary>
<desc>
<p>Returns a list of the current member nodes of the pool.</p>
</desc>
</func>
+
<func>
<name name="pspawn" arity="3"/>
- <fsummary>Spawn a process on the pool node with expected lowest future load</fsummary>
+ <fsummary>Spawn a process on the pool node with expected lowest future
+ load.</fsummary>
<desc>
- <p>Spawns a process on the pool node which is expected to have
+ <p>Spawns a process on the pool node that is expected to have
the lowest future load.</p>
</desc>
</func>
+
<func>
<name name="pspawn_link" arity="3"/>
- <fsummary>Spawn and link to a process on the pool node with expected lowest future load</fsummary>
+ <fsummary>Spawn and link to a process on the pool node with expected
+ lowest future load.</fsummary>
<desc>
- <p>Spawn links a process on the pool node which is expected to
+ <p>Spawns and links to a process on the pool node that is expected to
have the lowest future load.</p>
</desc>
</func>
+
<func>
- <name name="get_node" arity="0"/>
- <fsummary>Return the node with the expected lowest future load</fsummary>
+ <name name="start" arity="1"/>
+ <name name="start" arity="2"/>
+ <fsummary>>Start a new pool.</fsummary>
<desc>
- <p>Returns the node with the expected lowest future load.</p>
+ <p>Starts a new pool. The file <c>.hosts.erlang</c> is read to
+ find host names where the pool nodes can be started; see
+ section <seealso marker="#files">Files</seealso>. The
+ startup procedure fails if the file is not found.</p>
+ <p>The slave nodes are started with
+ <seealso marker="slave#start/2"><c>slave:start/2,3</c></seealso>,
+ passing along <c><anno>Name</anno></c> and, if provided,
+ <c><anno>Args</anno></c>. <c><anno>Name</anno></c> is used as the
+ first part of the node names, <c><anno>Args</anno></c> is used to
+ specify command-line arguments.</p>
+ <p>Access rights must be set so that all nodes in the pool have
+ the authority to access each other.</p>
+ <p>The function is synchronous and all the nodes, and
+ all the system servers, are running when it returns a value.</p>
+ </desc>
+ </func>
+
+ <func>
+ <name name="stop" arity="0"/>
+ <fsummary>Stop the pool and kill all the slave nodes.</fsummary>
+ <desc>
+ <p>Stops the pool and kills all the slave nodes.</p>
</desc>
</func>
</funcs>
@@ -119,12 +134,12 @@
<marker id="files"></marker>
<title>Files</title>
<p><c>.hosts.erlang</c> is used to pick hosts where nodes can
- be started. See
- <seealso marker="kernel:net_adm#host_file/0">net_adm(3)</seealso>
- for information about format and location of this file.</p>
- <p><c>$HOME/.erlang.slave.out.HOST</c> is used for all additional IO
- that may come from the slave nodes on standard IO. If the start-up
- procedure does not work, this file may indicate the reason.</p>
+ be started. For information about format and location of this file, see
+ <seealso marker="kernel:net_adm#host_file/0">
+ <c>net_adm:host_file/0</c></seealso>.</p>
+ <p><c>$HOME/.erlang.slave.out.HOST</c> is used for all extra I/O
+ that can come from the slave nodes on standard I/O. If the startup
+ procedure does not work, this file can indicate the reason.</p>
</section>
</erlref>