Kernels and I/O schedulers

| 1 Comment
While troubleshooting a problem on the laptop yesterday, I spent some 'what does that mean' time figuring out what the various kernel options mean. The one I was working on was 'splash', more on that later, but the one that grabbed my curiosity was the enigmatic 'elevator'. After much googling, I turned up a page at RedHat.com that explains what it means.

Choosing an I/O Scheduler for Red Hat® Enterprise Linux® 4 and the 2.6 Kernel

The 2.6 kernel introduced options for how I/O is queued up to the storage devices. Once I read this article, I was reminded of a comment made during Meet the Experts last year at Brainshare. The comment went like this:
"NetWare makes a great iSCSI target. That way you can take advantage of the NetWare elevators, which are very, very good."
Very interesting. The RedHat article goes into detail about what the four types of I/O schedulers are, and in general what type of access-patterns make the best use of them. For a bulk file-server, "cfq" or "completely fair queueing" is probably the best.

Another thing to note is that the optimization we're talking about here is re-ordering I/O requests before they get passed to drivers. Optimizations done by the drivers and the hardware itself can't be tuned this way, of course. If you have a single LUN that your entire file-server serves out of, there won't be a lot of gain. But when you start adding in multipel LUNs like we have (in general Student and FacStaff volumes are in different LUNs), it starts helping.

I'd really like to see some benchmarking between a Linux 2.6 kernel and a NetWare 6.5 kernel for raw I/O throughput. But due to the different OS, a true apples-to-apples comparison will take a LOT of engineering to accomplish. Certainly beyond my ken.

Maybe this is a good question for Meet the Experts night in a week. Hmmmm.

Tags: ,

1 Comment

netware will be fasteresp on Traditional file system