Software::Kernel
Neuer Readahead-Algorithmus für den Linux-Kernel
Patches von Wu Fengguang könnten die Readahead-Performanz des Linux-Kernels deutlich verbessern, falls sie von den anderen Entwicklern akzeptiert werden.
Ein beeindruckend großes Patchset (über 70 Einzelpatches) von Wu Fengguang stattet den Kernel mit einer neuen Readahead-Architektur aus. Readahead analysiert die I/O-Zugriffe von Prozessen und versucht durch Mustererkennung, eventuell später benötigte Daten bereits im Vorfeld ins RAM zu laden - im besten Falle steigt dadurch die Geschwindigkeit, im schlechtesten werden I/O und RAM unnötig beansprucht.
Der Linux-Kernel kommt bereits seit Langem mit einer Readahead-Implementierung, die Neuimplememtierung von Fengguang ist allerdings komplexer und soll auch nicht-lineare Zugriffsmuster erkennen. Erste Benchmark-Ergebnisse (wie immer mit Vorsicht zu genießen) zeigen laut Dokumentation etwa eine bis zu dreißigprozentige Verbesserung bei PostgreSQL, was Andrew Morton prompt mit der Aussage quittierte, dass PostgreSQL dann doch vielleicht besser einen eigenen Readahead-Algorithmus mitbringen solle. Im Laufe der Diskussion stellte sich heraus, dass dies wegen der besseren Portierbarkeit von PostgreSQL bis heute nicht der Fall ist - die wundersame Wirkung der neuen Codebasis muss sich also erst noch zeigen, wird aber von den Unterstützern bereits als signifikant eingestuft.
Andrew Morton hat das Patchset bereits in seinen Kernel-Zweig aufgenommen, der Code dürfte in der kommenden Version 2.6.17-rc5-mm1 erstmals enthalten sein.