On Thu, Oct 23, 2008 at 4:53 PM, Greg Smith <gsmith@gregsmith.com> wrote:
>> I think the current plan is to use posix_advise() to allow parallel I/O,
>> rather than async I/O becuase posix_advise() will require fewer code
>> changes.
>
> These are not necessarily mutually exclusive designs. fadvise works fine on
> Linux, but as far as I know only async I/O works on Solaris. Linux also has
> an async I/O library, and it's not clear to me yet whether that might work
> even better than the fadvise approach.
fadvise is a kludge. While it will help, it still makes us completely
reliant on the OS. For performance reasons, we should be supporting a
multi-block read directly into shared buffers. IIRC, we currently
have support for rings in the buffer pool, which we could read
directly into. Though, an LRU-based buffer manager design would be
more optimal in this case.
--
Jonah H. Harris, Senior DBA
myYearbook.com