Whamcloud - gitweb
LUDOC-504 nodemap: servers must be in a trusted+admin group
[doc/manual.git] / LustreTuning.xml
index 682a9be..9460749 100644 (file)
@@ -10,7 +10,7 @@
     parameters. These parameters are contained in the 
     <literal>/etc/modprobe.d/lustre.conf</literal> file.</para>
   </note>
-  <section xml:id="dbdoclet.50438272_55226">
+  <section xml:id="tuning_optimizing_service_threads">
     <title>
     <indexterm>
       <primary>tuning</primary>
@@ -97,7 +97,7 @@ lctl {get,set}_param {service}.thread_{min,max,started}
       <para>
       This works in a similar fashion to 
       binding of threads on MDS. MDS thread tuning is covered in 
-      <xref linkend="dbdoclet.mdsbinding" />.</para>
+      <xref linkend="mdsbinding" />.</para>
       <itemizedlist>
         <listitem>
           <para>
@@ -113,9 +113,9 @@ lctl {get,set}_param {service}.thread_{min,max,started}
         </listitem>
       </itemizedlist>
       <para>For further details, see 
-      <xref linkend="dbdoclet.50438271_87260" />.</para>
+      <xref linkend="tuning_setting_thread_count" />.</para>
     </section>
-    <section xml:id="dbdoclet.mdstuning">
+    <section xml:id="mdstuning">
       <title>
       <indexterm>
         <primary>tuning</primary>
@@ -136,7 +136,7 @@ lctl {get,set}_param {service}.thread_{min,max,started}
 </screen>
       </para>
       <para>For details, see 
-      <xref linkend="dbdoclet.50438271_87260" />.</para>
+      <xref linkend="tuning_setting_thread_count" />.</para>
       <para>The number of MDS service threads started depends on system size
       and the load on the server, and has a default maximum of 64. The
       maximum potential number of threads (<literal>MDS_MAX_THREADS</literal>)
@@ -158,16 +158,10 @@ lctl {get,set}_param {service}.thread_{min,max,started}
           in providing the read page service. The read page service handles
           file close and readdir operations.</para>
         </listitem>
-        <listitem>
-          <para>
-          <literal>mds_attr_num_threads</literal> controls the number of threads
-          in providing the setattr service to clients running Lustre software
-          release 1.8.</para>
-        </listitem>
       </itemizedlist>
     </section>
   </section>
-  <section xml:id="dbdoclet.mdsbinding">
+  <section xml:id="mdsbinding">
     <title>
     <indexterm>
       <primary>tuning</primary>
@@ -179,7 +173,7 @@ lctl {get,set}_param {service}.thread_{min,max,started}
     bindings are selected automatically to provide good overall performance for
     a given CPU count. However, an administrator can deviate from these setting
     if they choose.  For details on specifying the mapping of CPU cores to
-    CPTs see <xref linkend="dbdoclet.libcfstuning"/>.
+    CPTs see <xref linkend="libcfstuning"/>.
     </para>
     <itemizedlist>
       <listitem>
@@ -201,14 +195,8 @@ lctl {get,set}_param {service}.thread_{min,max,started}
         to 
         <literal>CPT4</literal>.</para>
       </listitem>
-      <listitem>
-        <para>
-        <literal>mds_attr_num_cpts=[EXPRESSION]</literal> binds the setattr
-        service threads to CPTs defined by 
-        <literal>EXPRESSION</literal>.</para>
-      </listitem>
     </itemizedlist>
-       <para>Parameters must be set before module load in the file 
+    <para>Parameters must be set before module load in the file 
     <literal>/etc/modprobe.d/lustre.conf</literal>. For example:
     <example><title>lustre.conf</title>
     <screen>options lnet networks=tcp0(eth0)
@@ -216,7 +204,7 @@ options mdt mds_num_cpts=[0]</screen>
     </example>
     </para>
   </section>
-  <section xml:id="dbdoclet.50438272_73839">
+  <section xml:id="tuning_lnet_params">
     <title>
     <indexterm>
       <primary>LNet</primary>
@@ -277,7 +265,7 @@ options ksocklnd enable_irq_affinity=0
       an administrator can bind an interface to one or more CPU partitions.
       Bindings are specified as options to the LNet modules. For more
       information on specifying module options, see 
-      <xref linkend="dbdoclet.50438293_15350" /></para>
+      <xref linkend="tuning_lnet_mod_params" /></para>
       <para>For example, 
       <literal>o2ib0(ib0)[0,1]</literal> will ensure that all messages for 
       <literal>o2ib0</literal> will be handled by LND threads executing on 
@@ -396,9 +384,8 @@ lnet large_router_buffers=8192
       events across all CPTs. This may balance load better across the CPU but
       can incur a cross CPU overhead.</para>
       <para>The current policy can be changed by an administrator with 
-      <literal>echo 
-      <replaceable>value</replaceable>&gt;
-      /proc/sys/lnet/portal_rotor</literal>. There are four options for 
+      <literal>lctl set_param portal_rotor=value</literal>. 
+      There are four options for 
       <literal>
         <replaceable>value</replaceable>
       </literal>:</para>
@@ -522,7 +509,7 @@ lnet large_router_buffers=8192
       be MAX.</para>
     </section>
   </section>
-  <section xml:id="dbdoclet.libcfstuning">
+  <section xml:id="libcfstuning">
     <title>
     <indexterm>
       <primary>tuning</primary>
@@ -603,7 +590,7 @@ cpu_partition_table=
       </para>
     </section>
   </section>
-  <section xml:id="dbdoclet.lndtuning">
+  <section xml:id="lndtuning">
     <title>
     <indexterm>
       <primary>tuning</primary>
@@ -615,6 +602,13 @@ cpu_partition_table=
     <literal>ksocklnd</literal> using the 
     <literal>nscheds</literal> parameter. This adjusts the number of threads for
     each partition, not the overall number of threads on the LND.</para>
+    <note>
+      <para>The default number of threads for 
+      <literal>ko2iblnd</literal> and 
+      <literal>ksocklnd</literal> are automatically set and are chosen to
+      work well across a number of typical scenarios, for systems with both
+      high and low core counts.</para>
+    </note>
     <section>
        <title>ko2iblnd Tuning</title>
        <para>The following table outlines the ko2iblnd module parameters to be used
@@ -1039,7 +1033,7 @@ cpu_partition_table=
        </informaltable>
     </section>
   </section>
-  <section xml:id="dbdoclet.nrstuning">
+  <section xml:id="nrstuning">
     <title>
     <indexterm>
       <primary>tuning</primary>
@@ -1574,7 +1568,7 @@ ost.OSS.ost_io.nrs_orr_supported=reg_supported:reads_and_writes
         </listitem>
       </itemizedlist>
     </section>
-    <section xml:id="dbdoclet.tbftuning" condition='l26'>
+    <section xml:id="tbftuning" condition='l26'>
       <title>
       <indexterm>
         <primary>tuning</primary>
@@ -1642,10 +1636,13 @@ $ lctl set_param ost.OSS.ost_io.nrs_policies="tbf gid"</screen>
        <screen>lctl set_param x.x.x.nrs_tbf_rule=
 "[reg|hp] start <replaceable>rule_name</replaceable> <replaceable>arguments</replaceable>..."
        </screen>
-       <para>'<replaceable>rule_name</replaceable>' is a string of the TBF
-       policy rule's name and '<replaceable>arguments</replaceable>' is a
-       string to specify the detailed rule according to the different types.
-       </para>
+        <para>'<replaceable>rule_name</replaceable>' is a string up to 15
+          characters which identifies the TBF policy rule's name. Alphanumeric
+          characters and underscores are accepted (e.g: "test_rule_A1").
+        </para>
+        <para>'<replaceable>arguments</replaceable>' is a string to specify the
+          detailed rule according to the different types.
+        </para>
        <itemizedlist>
        <para>Next, the different types of TBF policies will be described.</para>
          <listitem>
@@ -1693,7 +1690,7 @@ $ lctl set_param ost.OSS.ost_io.nrs_tbf_rule=\
            <para><emphasis role="bold">JobID based TBF policy</emphasis></para>
             <para>For the JobID, please see
             <xref xmlns:xlink="http://www.w3.org/1999/xlink"
-            linkend="dbdoclet.jobstats" /> for more details.</para>
+            linkend="jobstats" /> for more details.</para>
            <para>Command:</para>
             <screen>lctl set_param x.x.x.nrs_tbf_rule=
 "[reg|hp] start <replaceable>rule_name</replaceable> jobid={<replaceable>jobid_list</replaceable>} rate=<replaceable>rate</replaceable>"
@@ -1919,7 +1916,7 @@ default * 10000, ref 0</screen>
        </itemizedlist>
       </section>
     </section>
-    <section xml:id="dbdoclet.delaytuning" condition='l2A'>
+    <section xml:id="delaytuning" condition='l2A'>
       <title>
       <indexterm>
         <primary>tuning</primary>
@@ -2065,7 +2062,7 @@ ost.OSS.ost_io.nrs_delay_pct=hp_delay_pct:5
       </itemizedlist>
     </section>
   </section>
-  <section xml:id="dbdoclet.50438272_25884">
+  <section xml:id="tuning_lockless_IO">
     <title>
     <indexterm>
       <primary>tuning</primary>
@@ -2101,9 +2098,7 @@ ldlm.namespaces.filter-<replaceable>fsname</replaceable>-*.
         <para>
           <emphasis role="bold">Client-side:</emphasis>
         </para>
-        <screen>
-/proc/fs/lustre/llite/lustre-*
-</screen>
+        <screen>llite.<replaceable>fsname</replaceable>-*</screen>
         <para>
         <literal>contention_seconds</literal>- 
         <literal>llite</literal> inode remembers its contended state for the
@@ -2114,8 +2109,8 @@ ldlm.namespaces.filter-<replaceable>fsname</replaceable>-*.
           <emphasis role="bold">Client-side statistics:</emphasis>
         </para>
         <para>The 
-        <literal>/proc/fs/lustre/llite/lustre-*/stats</literal> file has new
-        rows for lockless I/O statistics.</para>
+        <literal>llite.<replaceable>fsname</replaceable>-*.stats</literal>
+        parameter has several entries for lockless I/O statistics.</para>
         <para>
         <literal>lockless_read_bytes</literal> and 
         <literal>lockless_write_bytes</literal>- To count the total bytes read
@@ -2349,7 +2344,7 @@ ldlm.namespaces.filter-<replaceable>fsname</replaceable>-*.
           renegotiate the new maximum RPC size.</para></caution>
       </section>
   </section>
-  <section xml:id="dbdoclet.50438272_80545">
+  <section xml:id="tuning_IO_small_files">
     <title>
     <indexterm>
       <primary>tuning</primary>
@@ -2389,7 +2384,7 @@ ldlm.namespaces.filter-<replaceable>fsname</replaceable>-*.
       </listitem>
     </itemizedlist>
   </section>
-  <section xml:id="dbdoclet.50438272_45406">
+  <section xml:id="write_vs_read_performance">
     <title>
     <indexterm>
       <primary>tuning</primary>
@@ -2416,4 +2411,6 @@ ldlm.namespaces.filter-<replaceable>fsname</replaceable>-*.
     client is more likely to become CPU-bound during reads than writes.</para>
   </section>
 </chapter>
-<!--vim:expandtab:shiftwidth=2:tabstop=8:-->
+<!--
+  vim:expandtab:shiftwidth=2:tabstop=8:
+  -->