Re: squid-2.5 and coss

From: Andres Kroonmaa <andre@dont-contact.us>
Date: Wed, 27 Aug 2003 12:32:46 +0300

On 27 Aug 2003, at 9:51, Kinkie <kinkie-dev@kinkie.it> wrote:

> Duane Wessels <wessels@squid-cache.org> writes:
>
> >> Here's a fun suggestion from our friend Robert - how about creating a
> >> _directory_ instead of a file for the COSS cachedir? Then we can place
> >> the store logfile in there, the coss storefile in there _and_ any other
> >> metadata. It'd make life a whole lot easier and mean you won't get bitten
> >> by the requirement to specify swaplog paths..
> >
> > The only reason not to do that is if we want to eventually support
> > using raw devices/partitions for COSS storage. I think it was one
> > of the original plans.
> >
> > However, to do that, the current code would need some enhancements
> > to make sure that I/Os occur on 512-byte boundaries and are always
> > a multiple of 512 in size.

 Isn't block io restricted to 4/8K size anyway? Its a matter of VM of OS.

> > That might get around some 2GB file-size limits in some cases too.
> >
> > Performance-wise, I suspect it doesn't matter. Using the filesystem
> > seems to give darn good throughput already.
>
> In fact, it's a common trend in current RDBMs: they're starting to favour
> storage areas on fileystems rather than on raw devices. Linux has better
> support for filesystem-based raw operations (O_DIRECT) than to raw devices
> proper.
>
> BTW: O_DIRECT would be a good approach to our FS I/O work but:
> - we need to be able to keep an object hot after reading it - the OS won't
> do it for us anymore
> - it only supports reading and writing on page boundaries, typically 4kb
> (we'd need to be able to pad)

 Afaik, original sense of using raw devices or O_DIRECT was to avoid OS
 stupidity in wasting ram on caching useless data and unmanaged fragmentation
 that would lead to random seeks being not optimisable.
 By using raw device or O_DIRECT it becomes responsibility of app to ensure
 optimal disk access pattern.
 Now that ram has become cheap and huge disk systems fast, need for apps
 handling additional complexity is hard to justify.

 COSS, being basically ring buffer, is very simple disk pattern and doesn't
 really benefit much from avoiding OS support, so, imo, it would work as well
 on plain FS as on any other approach. The only reason to go for raw disk
 or O_DIRECT would be if we want to keep ram usage to very minimum, ie for
 very lowend boxes.

------------------------------------
 Andres Kroonmaa <andre@online.ee>
 CTO, Microlink Data AS
 Tel: 6501 731, Fax: 6501 725
 Pärnu mnt. 158, Tallinn
 11317 Estonia
Received on Wed Aug 27 2003 - 03:44:59 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:20:30 MST