tecCHANNEL Benchmark Suite Pro

tecMem

tecMem misst die effektiv genutzte Speicherbandbreite zwischen der Load/Store-Unit der CPU und den unterschiedlichen Ebenen der Speicherhierarchie (L1-, L2-Cache und RAM). Die Grundidee ist, über viele Iterationen hinweg immer wieder denselben Speicherblock zu lesen. Ist der Speicherblock klein genug, beispielsweise ein KByte, dann befindet sich sein Inhalt nach der ersten Iteration komplett im L1-Cache, und alle künftigen Iterationen lassen sich aus dem L1-Cache bedienen. Damit ist die Bandbreite zwischen der Load/Store-Unit und dem L1-Cache messbar.

Bei einem Block von beispielsweise 128 KByte reicht der L1-Cache hingegen bei den aktuellen CPUs nicht mehr für die gesamten Daten. Der Caching-Algorithmus puffert immer unterschiedliche Bereiche des 128-KByte-Blocks, die Cache-Hits im L1-Cache werden seltener. Dafür kommt jetzt der L2-Cache zum Tragen, der den Block noch komplett aufnehmen kann. Nun ist also die Bandbreite zwischen der Load/Store-Unit und dem L2-Cache für die Performance maßgeblich und damit messbar.

Analoges gilt für noch größere Blöcke, beispielsweise von 4 MByte. Diese Datenmenge passt typischerweise nicht mehr in den L2-Cache. Dann nehmen die L2-Cache-Hits ebenfalls ab, und die Bandbreite zwischen der Load/Store-Unit und dem Arbeitsspeicher wird gemessen.

tecMem setzt ein Minimum von 64 MByte Arbeitsspeicher im PC voraus. Der Benchmark funktioniert nicht auf Multiprozessor-Systemen oder mit Windows-Konfigurationen, die mittels Physical Address Extension (PAE) mehr als 4 GByte Hauptspeicher unterstützen. Bei PAE-Systemen sollte jedoch der Parameter "/NOPAE" in der Datei "boot.ini" Abhilfe schaffen und einen einwandfreien Test ermöglichen.