Intel CPU の hardware prefetch はストライド付きメモリアクセスをストリームと認識できるだけのはずなので、RDBMS やガベコレのようにメモリアクセスがほとんど予測不能なものや、「フィボナッチ数列でインデックスアクセス」のようなロジックはあるものの CPU に判定不能なものは、software pfetch が利き続けると思います。 ただ昨今は hardware pfetch がストリームとして認識できる本数がどんどん増えています(Core 系はメモリ→キャッシュで12ストリーム)ので、メモリアクセスパターンが異なる複数のスレッドで hardware pfetch が混乱するから software prefetch を書くというのはなくなっていくのかも知れません。 それに Intel x86-64 CPU の Out-Of-Order 実行機能はデタラメに強化され