From 97fa9fe68af5990a8ef7a71ccb7fc235d20a2c04 Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Thu, 3 Jun 2010 12:43:57 +0000
Subject: OTP-8666 Enable automatic binding of schedulers when possible
The runtime system will by default bind schedulers to logical processors
using the default_bind bind type if the amount of schedulers are at least
equal to the amount of logical processors configured, binding of schedulers
is supported, and a CPU topology is available at startup.
NOTE: If the Erlang runtime system is the only operating system process
that binds threads to logical processors, this improves the performance of
the runtime system. However, if other operating system processes (as for
example another Erlang runtime system) also bind threads to logical
processors, there might be a performance penalty instead. If this is the
case you, are are advised to unbind the schedulers using the +sbtu command line argument, or by invoking
erlang:system_flag(schedule
r_bind_type, unbound).
---
erts/doc/src/erl.xml | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index bb741c7836..df80142ce1 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -41,6 +41,26 @@
to scroll back to text which has scrolled off the screen.
The program must be used, however, in pipelines or if
you want to redirect standard input or output.
+ As of ERTS version 5.8 (OTP-R14A) the runtime system will by
+ default bind schedulers to logical processors using the
+ default_bind bind type if the amount of schedulers are
+ at least equal to the amount of logical processors configured,
+ binding of schedulers is supported, and a CPU topology is
+ available at startup.
+
+ If the Erlang runtime system is the only operating system
+ process that binds threads to logical processors, this
+ improves the performance of the runtime system. However,
+ if other operating system processes (as for example
+ another Erlang runtime system) also bind threads to
+ logical processors, there might be a performance penalty
+ instead. If this is the case you, are are advised to
+ unbind the schedulers using the
+ +sbtu command line argument,
+ or by invoking
+ erlang:system_flag(scheduler_bind_type,
+ unbound).
+
@@ -657,6 +677,22 @@
that the +sct flag may have to be passed before the
+sbt flag on the command line (in case no CPU topology
has been automatically detected).
+ The runtime system will by default bind schedulers to logical
+ processors using the default_bind bind type if the amount
+ of schedulers are at least equal to the amount of logical
+ processors configured, binding of schedulers is supported,
+ and a CPU topology is available at startup.
+
+ NOTE: If the Erlang runtime system is the only operating
+ system process that binds threads to logical processors, this
+ improves the performance of the runtime system. However, if other
+ operating system processes (as for example another Erlang runtime
+ system) also bind threads to logical processors, there might be a
+ performance penalty instead. If this is the case you, are advised
+ to unbind the schedulers using the +sbtu command line
+ argument, or by invoking
+ erlang:system_flag(scheduler_bind_type,
+ unbound).
For more information, see
erlang:system_flag(scheduler_bind_type, SchedulerBindType).
--
cgit v1.2.3