Re: parallel file create rates (+high latency)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 25 Jan 2022 at 14:00, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
>
> On Tue, Jan 25, 2022 at 12:52:46PM +0000, Daire Byrne wrote:
> > Yea, it does seem like the server is the ultimate arbitrar and the
> > fact that multiple clients can achieve much higher rates of
> > parallelism does suggest that the VFS locking per client is somewhat
> > redundant and limiting (in this super niche case).
>
> It doesn't seem *so* weird to have a server with fast storage a long
> round-trip time away, in which case the client-side operation could take
> several orders of magnitude longer than the server.

Yea, I'm fine with the speed of light constraints for a single process
far away. But the best way to achieve aggregate performance in such
environments is to have multiple parallel streams in flight at once
(preferably bulk transfers).

Because I am writing through a single re-export server, I just so
happen to be killing any parallelism for single directory files
creates even though it works reasonably well for opens, reads, writes
and stat (and anything cacheable) which all retain a certain amount of
useful parallelism over a high latency network (nconnect helps too).
Each of our batch jobs all read 95% of the same files each time and
they all tend to run within the same short (hour) time periods so
highly cacheable.

> Though even if the client locking wasn't a factor, you might still have
> to do some work to take advantage of that.  (E.g. if your workload is
> just a single "untar"--it still waits for one create before doing the
> next one).

Yep. Again I'm okay with each client of a re-export server doing 3
creates per second, my problem is that all N instances together do 3
creates per second aggregate (in a single directory).

But I guess for this kind of workload, win some lose some. I just need
to figure out if I can engineer it to be less of a loser...

Of course, Hammerspace have a different approach to this kind of
problem with their global namespace and replicated MDT servers. And
that is probably a much more sensible way of going about this kind of
thing.

Daire



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux