[OpenAFS-devel] how does fileserver read from disk?

Marcus Watts mdw@umich.edu
Thu, 22 Sep 2005 02:21:18 -0400


Tom Keiser replied
...
> I suggest you go learn how autonomic and heuristic algorithms work
> before making such strong claims.  Fundamentally, each level in the
> software stack closer to the application will have more information
> regarding i/o patterns than the levels below it.  And, more
...

We aren't here to discuss whether I know what a heuristic is.
The problem you need to show here is how aio can be used to efficiently
schedule disk I/O.  Arguing vague generalities won't help you.
Sure the fileserver could keep RPC history around.  Should it?
How much?  What does it do with it?  The devil is in the details,
and this particular detail could hang your your proposal all by
itself.  Maybe it could save it too.  But you got some mighty
fancy talkin' to do there, to show that RPC history is a better use
of main store rather than more disk cache.  Most people are going
to expect some pie charts and graphs to back that up.

...
> Have you ever taken a close look at FetchData_RXStyle in
> afsfileprocs.c?  Did you notice how it calls readv(); rx_Writev() in a
> tight loop?  Did it ever occur to you that this is horribly
...

I think everybody who has seen the afs code has seen that.  Actually,
the first time I saw that code, it had read & rx_Write.  And I just
found an older copy that has FetchData_RftpStyle, and something else
called "rxvab".  Umm..  But yes, anyways, now that you've seen that, you
clearly know aio better than the rest of us, and you have adequate
knowledge of how the fileserver is put together.  You possess all the
knowledge necessary to implement your autonomous aio algorithm, and you
alone are in a unique position to faithfully implement it.  You don't
need our blessing.  Go do it.  If you can deliver on your promises,
people here will appreciate your donation of the result.

...
> Solaris runs on x86 and amd64.
...

That wasn't our reason for deciding against Solaris.

			-Marcus Watts
			UM ITCS Umich Systems Group