23.07.2014 Views

Lustre 1.6 Operations Manual

Lustre 1.6 Operations Manual

Lustre 1.6 Operations Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

20.2.6 Mechanics of <strong>Lustre</strong> Readahead<br />

Readahead is a method of reading part of a file's contents into memory with the<br />

expectation that a process working with the file will soon want the data. When<br />

readahead works well, a data-consuming process finds that the information it needs<br />

is available when it asks, and waiting for disk I/O is not necessary.<br />

<strong>Lustre</strong> readahead is triggered when two or more sequential reads by an application<br />

fail to be satisfied by the Linux buffer cache. The size of the initial readahead is 1<br />

MB. Additional readaheads grow linearly and increment until the readahead cache<br />

on the client is full at 40 MB.<br />

/proc/fs/lustre/llite/-/max_read_ahead_mb<br />

This tunable controls the maximum amount of data readahead on a file. Files are<br />

read ahead in RPC-sized chunks (1 MB or the size of read() call, if larger) after the<br />

second sequential read on a file descriptor. Random reads are done at the size of the<br />

read() call only (no readahead). Reads to non-contiguous regions of the file reset the<br />

readahead algorithm, and readahead is not triggered again until there are sequential<br />

reads again. Setting this tunable to 0 disables readahead. The default value is 40 MB.<br />

/proc/fs/lustre/llite/-/max_read_ahead_whole_mb<br />

This tunable controls the maximum size of a file that is read in its entirety, regardless<br />

of the size of the read().<br />

Chapter 20 <strong>Lustre</strong>Proc 20-19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!