Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Dec 2007 14:25:21 -0800
From:      Julian Elischer <julian@elischer.org>
To:        ticso@cicely.de
Cc:        freebsd-fs@freebsd.org, Ivan Voras <ivoras@freebsd.org>
Subject:   Re: readv: parallel or sequential?
Message-ID:  <476AEBD1.5020307@elischer.org>
In-Reply-To: <20071220221735.GB67140@cicely12.cicely.de>
References:  <fjbb3v$n60$1@ger.gmane.org> <fjbk9g$pua$1@ger.gmane.org>	<20071207174914.GQ10459@cicely12.cicely.de>	<200712202140.08367.peter.schuller@infidyne.com> <20071220221735.GB67140@cicely12.cicely.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Bernd Walter wrote:
> On Thu, Dec 20, 2007 at 09:40:00PM +0100, Peter Schuller wrote:
>>> Yes, but how can it now that it is on a RAID0 and taking advantage of
>>> multiple spindles instead of making it worse?
>>> The FS has to do sensible things for single spindle as well.
>>> And normaly disks are fastest when reading linear and with disk read
>>> caches this doesn't even have to be interleaved.
>>> I don't see any potential for parallell access within the same file
>>> beside some special constructed cases maybe.
>> I strongly disagree here. I would expect the operating system to not serialize 
>> all I/O to the same file descriptor/file, if done in paralell from multiple 
>> threads or through AIO. I have at least on use case heavily dependent on 
>> this - does this mean FreeBSD would not be usable for this?
> 
> No - I just didn't though about this.
> In most cases a single file means serialized use from the application,
> but of course this is not true in every case.
> In case the application uses serialized access there is not much to do
> beside preread or caching writes to make use of multiple spindles.
> But an application has to be carefull, because parallel access within
> a single file almost always mean that access is not linear anymore, so
> many opther performance tunings won't work as good as they could, so
> this could easily outweight the performance gain from multiple access.
> Nonlinear access from within an application has to be for another reason
> and not as a performance tuning.

If you want to write to different points in a file you can always open
multiple file descriptors to the same file.
All IO to a single descriptor MUST be serialised.






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?476AEBD1.5020307>