Christoph Biardzki
2007-Aug-20 04:35 UTC
[Lustre-discuss] Simultaneous MDC operations / latency?
Hi,
I was playing with Lustre in an environment where there is noticeable
roundtrip latency (10ms) between the client and the servers to figure
out how lustre performs on a WAN link. I tried creating (empty) files
(open/close) and directories from a single client with multiple
processes in parallel - the result looks like this:
# of processes | Files/s | Directories/s
---------------------------------------------
1 | 25 | 50
2 | 50 | 100
3 | 75 | still 100
4 | 100 | still 100
5 | 100 | ...
>5 | still 100 | ...
Can someone shed some light on why there seems to be a hard limit
around 100 op/s? ( 1000ms / 10ms RTT?) Is there only one simultaneous
MDC operation possible? Can this value be tuned? What does
max_rpcs_in_flight exactly do for the MDC in Lustre 1.6? Does file
creation (for empty files) need twice the number of RPCs compared to
directories or is this the close operation?
Thanks a lot,
Christoph
--
Leibniz-Rechenzentrum (LRZ)
http://www.lrz.de
Abteilung Hochleistungssysteme
Raum I.3.071 - Boltzmannstra?e 1, 85748 Garching
Tel. +49 89 35831-8853
Hello! On Mon, Aug 20, 2007 at 12:34:53PM +0200, Christoph Biardzki wrote:> Can someone shed some light on why there seems to be a hard limit > around 100 op/s? ( 1000ms / 10ms RTT?) Is there only one simultaneous > MDC operation possible? Can this value be tuned? What doesThere is only one simultaneous rpc in flight for modifying operations (like open, create, ..., the only exception is close that can be only one in flight too). This is hardcoded at the moment for recovvery reasons.> max_rpcs_in_flight exactly do for the MDC in Lustre 1.6? Does fileThis is for nonmodifying operations like getattr, lookup and so on at the moment.> creation (for empty files) need twice the number of RPCs compared to > directories or is this the close operation?This is due to close which is rpc as well. If you replace your open|creat with mknod - you will get RPC numbers similar to mkdir (use dev_t 0 to create regular files). Bye, Oleg