Whamcloud - gitweb
LUDOC-114 lnet: LNET/LND credits and flow control
[doc/manual.git] / UnderstandingLustreNetworking.xml
1 <?xml version='1.0' encoding='UTF-8'?>
2 <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en-US" xml:id="understandinglustrenetworking">
3   <title xml:id="understandinglustrenetworking.title">Understanding Lustre Networking</title>
4   <para>This chapter introduces Lustre Networking (LNet) and Lustre Networks (LNETs). It includes the following sections:</para>
5   <itemizedlist>
6     <listitem>
7       <para>
8                 <xref linkend="dbdoclet.50438191_22878"/>
9             </para>
10     </listitem>
11     <listitem>
12       <para>                           
13                 <xref linkend="dbdoclet.50438191_19625"/>
14             </para>
15     </listitem>
16     <listitem>
17       <para>
18                 <xref linkend="dbdoclet.50438191_20721"/>
19             </para>
20     </listitem>
21   </itemizedlist>
22   <section xml:id="dbdoclet.50438191_22878">
23     <title><indexterm>
24         <primary>LNET</primary>
25       </indexterm><indexterm>
26         <primary>LNET</primary>
27         <secondary>understanding</secondary>
28       </indexterm> Introducing LNET</title>
29     <para>In a cluster using one or more Lustre file systems, the network communication
30       infrastructure required by the Lustre file system is implemented using the Lustre networking
31       (LNET) feature.</para>
32     <para>LNET supports many commonly-used network types, such as InfiniBand and IP networks, and
33       allows simultaneous availability across multiple network types with routing between them.
34       Remote direct memory access (RDMA) is permitted when supported by underlying networks using
35       the appropriate Lustre network driver (LND). High availability and recovery features enable
36       transparent recovery in conjunction with failover servers.</para>
37     <para>An LND is a pluggable driver that provides support for a particular network type, for example <literal>ksocklnd</literal> is the driver which implements the TCP Socket LND that supports TCP networks. LNDs are loaded into the driver stack, with one LND for each network type in use.</para>
38     <para>For information about configuring LNET, see <xref linkend="configuringlnet"/>.</para>
39     <para>For information about administering LNET, see <xref linkend="adminlustrepart3"/>.</para>
40   </section>
41   <section xml:id="dbdoclet.50438191_19625">
42     <title><indexterm>
43         <primary>LNET</primary>
44         <secondary>features</secondary>
45       </indexterm>Key Features of LNET</title>
46     <para>Key features of LNET include:</para>
47     <itemizedlist>
48       <listitem>
49         <para>RDMA, when supported by underlying networks such as InfiniBand or
50             Myrinet<superscript>*</superscript> MX networks</para>
51       </listitem>
52       <listitem>
53         <para>Support for many commonly-used network types such as InfiniBand and TCP/IP
54           networks</para>
55       </listitem>
56       <listitem>
57         <para>High availability and recovery</para>
58       </listitem>
59       <listitem>
60         <para>Support of multiple network types simultaneously</para>
61       </listitem>
62       <listitem>
63         <para>Routing among disparate networks</para>
64       </listitem>
65     </itemizedlist>
66     <para>LNET permits end-to-end read/write throughput at or near peak bandwidth rates on a variety
67       of network interconnects.</para>
68   </section>
69   <section xml:id="idp694976">
70         <title><indexterm>
71         <primary>Lustre</primary>
72         <secondary>Networks</secondary>
73         </indexterm>Lustre Networks</title>
74         <para>A Lustre network is comprised of clients and servers running the Lustre software. It need not
75       be confined to one LNET subnet but can span several networks provided routing is possible
76       between the networks. In a similar manner, a single network can have multiple LNET subnets. </para>
77         <para>The Lustre networking stack is comprised of two layers, the LNET code module and the LND. The
78       LNET layer operates above the LND layer in a manner similar to the way the network layer
79       operates above the data link layer. LNET layer is connectionless, asynchronous and does not
80       verify that data has been transmitted while the LND layer is connection oriented and typically
81       does verify data transmission.</para>
82         <para>LNETs are uniquely identified by a label comprised of a string corresponding to an LND and a
83       number, such as tcp0, o2ib0, or o2ib1, that  uniquely indentifies each LNET. Each node on an
84       LNET has at least one network identifier (NID). A NID is a combination of the address of the
85       network interface and the LNET label in the
86           form:<literal><replaceable>address</replaceable>@<replaceable>LNET_label</replaceable></literal>.</para>
87         <para>Examples: <screen>192.168.1.2@tcp0
88 10.13.24.90@o2ib1</screen></para>
89         <para>In certain circumstances it might be desirable for Lustre traffic to pass between multiple
90       LNETs. This is possible using LNET routing. It is important to realize that LNET routing is
91       not the same as network routing. For more details about LNET routing, see <xref
92         xmlns:xlink="http://www.w3.org/1999/xlink" linkend="configuringlnet"/></para>
93   </section>
94   <section xml:id="dbdoclet.50438191_20721">
95     <title><indexterm>
96         <primary>LNET</primary>
97         <secondary>supported networks</secondary>
98       </indexterm>Supported Network Types</title>
99     <para>The LNET code module includes LNDs to support many network types including:</para>
100     <itemizedlist>
101       <listitem>
102         <para> InfiniBand: OpenFabrics OFED (o2ib)</para>
103       </listitem>
104       <listitem>
105         <para> TCP (any network carrying TCP traffic, including GigE, 10GigE, and IPoIB)</para>
106       </listitem>
107       <listitem>
108         <para> Cray: Seastar</para>
109       </listitem>
110       <listitem>
111         <para> Myrinet: MX</para>
112       </listitem>
113       <listitem>
114         <para> RapidArray: ra</para>
115       </listitem>
116       <listitem>
117         <para> Quadrics: Elan</para>
118       </listitem>
119     </itemizedlist>
120   </section>
121 </chapter>