Whamcloud - gitweb
LUDOC-270 doc: describe more connect flags
[doc/protocol.git] / introduction.txt
1 Introduction
2 ------------
3
4 [NOTE]
5 I am leaving the introductory content here for now, but it is the last
6 thing that should be written. The following is just a very early
7 sketch, and will be revised entirely once the rest of the content has
8 begun to shape up.
9
10 The Lustre parallel file system provides a global POSIX namespace for
11 the computing resources of a data center. Lustre runs on Linux-based
12 hosts via kernel modules, and delegates block storage management to
13 the back-end servers while providing object-based storage to its
14 clients. Servers are responsible for both data objects (the contents
15 of actual files) and index objects (for directory information). Data
16 objects are gathered on Object Storage Servers (OSSs), and index
17 objects are stored on Metadata Servers (MDSs). Each back-end
18 storage volume is a target with Object Storage Targets (OSTs) on OSSs,
19 and Metadata Targets (MDTs) on MDSs.  Clients assemble the
20 data from the MDTs and OSTs to present a single coherent
21 POSIX-compliant file system. The clients and servers communicate and
22 coordinate among themselves via network protocols. A low-level
23 protocol, LNet, abstracts the details of the underlying networking
24 hardware and presents a uniform interface, originally based on Sandia
25 Portals <<PORTALS>>, to Lustre clients and servers. Lustre, in turn,
26 layers its own protocol atop LNet. This document describes the Lustre
27 protocol.
28
29 Lustre runs across multiple hosts, coordinating the activities among
30 those hosts via the exchange of messages over a network. On each host,
31 Lustre is implemented via a collection of Linux processes (often
32 called "threads"). This discussion will refer to a more formalized
33 notion of 'processes' that abstract some of the thread-level
34 details. The description of the activities on each host comprise a
35 collection of 'abstract processes'. Each abstract process may be
36 thought of as a state machine, or automaton, following a fixed set of
37 rules for how it consumes messages, changes state, and produces other
38 messages. We speak of the 'behavior' of a process as shorthand for the
39 management of its state and the rules governing what messages it can
40 consume and produce. Processes communicate with each other via
41 messages. The Lustre protocol is the collection of messages the
42 processes exchange along with the rules governing the behavior of
43 those processes.
44