Here's a good starting point for prefetch
Re: "kernel modes" - are you meaning the difference between thread and process models ?
If so, thats rather a long topic. I've experimented between the two modes.
Thread model is meant to reduce some of the inefficiencies with the process model.
In my own lab tests - I was able to get greater throughput but in the real world I found that the server would lock up under some loads. I've probably mis-configured it not sure what I'm doing wrong yet.
Hope this helps.