-
Notifications
You must be signed in to change notification settings - Fork 17
/
README
60 lines (49 loc) · 2.41 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Build Instructions for XDD release
--
Supported OS: Linux, AIX, OSX
On supported OS:
> ./configure
> make
> make install
By default, XDD and supporting scripts are installed in /usr/bin and /usr/lib,
in order to change the installation path, use --prefix=<new path> during the
configure step. By default, the following features are enabled: XFS support,
NUMA support, and Infiniband support. If you do not need these features, or
cannot install the relevant support libraries, you can disable each of these
features individually during configure with the following flags, respectively:
--disable-xfs, --disable-numa, and --disable-ib.
Build instructions for XDD repository code
--
If you are using the git repository version of XDD (i.e. you are a
prospective XDD developer), you will need to add one more step during the
software build process. We also suggest enabling debug mode.
On supported OS:
> autoconf
> ./configure --enable-debug
> make
> make install
XFS pre-allocation support
--
File preallocation on end-to-end transfers currently only works for the XFS
file system. This is mainly because the posix_fallocate call is supported
inconsistently in Linux, and so we are making the direct fctl call in the
case of XFS file systems. We attempt to enable preallocate on XFS if we can
find the correct headers in the default places. But if the headers are not
easily locatable then we do not enable XFS preallocation support. The
configure script controls xfs preallocation with with an explicit enable/disable
flag. To guarantee that XFS preallocation is enable, use the following:
> ./configure --enable-xfs
To disable XFS preallocation, use the following instead:
> ./configure --disable-xfs
The defaults have been tested on Fedora 12, Scientific Linux, and Suse only.
Qdepth/Thread count advisory
--
In XDD, the number of threads is often governed by the queue depth option
or the thread count option. The number of threads than may be created is
system dependent. For example, on my laptop I can only create 916 threads
before the system returns a "resource busy or unavailable" error. Its
not just a simple memory limitation necessarily either (i.e. reducing the
pthread stack size doesn't automatically increase the number of threads you
can create). In general, the number of threads that can be initialized
by XDD is limited by the system rather than XDD. This is mainly interesting
when using fork-thread type access patterns.