Re: squid-1.2-SQUIDFS

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Sat, 30 May 1998 02:32:53 +0200

--MimeMultipartBoundary
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Eric Stern wrote:

> Just did. I would have earlier, but I spent the last couple of days
> fighting with Async IO. Damn thing just wouldn't work. Finally, yesterd=
ay
> I tried the "regular" 1.2beta20 distribution with Async IO, and it didn=
't
> work either, so I guess its not my code!

b20 had some minor troubles, but it did work most of the time. b21 works
better. Make sure your libc is up to date (and pthreads library aswell
if not using glibc)

> Yes, thats true, it wasn't. But I don't see any reason why it shouldn't
> work with Async IO. I had to rewrite disk.c and async_io.c a bit to mak=
e
> it work (I made the queues work differently), but it wasn't that bad.
> I'm a little skeptical about the benefits of async IO. I would have
> thought that it would only help much in a multiprocessor situation. I
> presume that is what you meant by scaling.

No. MP was not on my mind. Keeping multiple disk spindles working was.
Without async-i/o at most one disk can be reading at a single time and
about one disk writing, which teoretically limits the disk speed to
about two disk-spindles. But it also opens up the possibility to add one
or two processors to drive the disk I/O load if needed, but only for
disk I/O. Main thread is still limited to one CPU.

Another nice effect of async-io is that when the load crawls up then
multiple operations get queued on the same disk, and the OS begins to
optimize in which order the I/O operations is done, which limits the
in-total seek-times for high loads.

> To be honest, the MAIN reason I like squidfs is the reduction in
> filedescriptor usage. Anything else is just a bonus.

If you are to support async-I/O you still have to use multiple file
descriptors as you can't securely have more than one outstanding I/O
operation per FD (shared file-offset amongs other things). Not even
using readv/writev guards you against this.

Most OS:es can be tuned to support large amounts of filedescriptors.

---
Henrik Nordstr=F6m
--MimeMultipartBoundary--
Received on Tue Jul 29 2003 - 13:15:50 MDT

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