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>