Stellen Sie sich vor, Ihre Trainings-App würde nur aufzeichnen, dass Sie ein einfaches Programm absolvieren, das sich nie ändert oder eine Anpassung Ihres Anstrengungsniveaus erfordert. Die 2D-Grafik Ihres Trainings würde wie die flache Linie auf einem Herzmonitor aussehen und wenig Aufschluss über Ihre Gesamtleistung geben. Leider sieht der Handlungsstrang eines synthetischen Benchmarks für die Speicherleistung von Workstations so aus. Diese Arten von Benchmarks zielen darauf ab, mithilfe von Zugriffsspezifikationen, die für Firmware, Treiber und Hardware stark optimiert sind, Spitzenwerte aus dem Speichergerät zu extrahieren.
Stellen Sie sich vor, Ihre Trainings-App würde nur aufzeichnen, dass Sie ein einfaches Programm absolvieren, das sich nie ändert oder eine Anpassung Ihres Anstrengungsniveaus erfordert. Die 2D-Grafik Ihres Trainings würde wie die flache Linie auf einem Herzmonitor aussehen und wenig Aufschluss über Ihre Gesamtleistung geben. Leider sieht der Handlungsstrang eines synthetischen Benchmarks für die Speicherleistung von Workstations so aus. Diese Arten von Benchmarks zielen darauf ab, mithilfe von Zugriffsspezifikationen, die für Firmware, Treiber und Hardware stark optimiert sind, Spitzenwerte aus dem Speichergerät zu extrahieren.
Der klassische Fall ist die Messung zufälliger E/A bei 4K-Blockgrößen mit sehr hoher Warteschlangentiefe. In diesem Szenario besteht für Anbieter reichlich Gelegenheit, die Speicherwarteschlange zu optimieren und den IOPS-Wert (Eingabe-/Ausgabevorgänge pro Sekunde) für das Gerät zu maximieren. Im Gegensatz dazu haben reale Workstation-Anwendungen eine durchschnittliche IO-Reichweite von eins oder zwei. Bei so geringen Warteschlangentiefen haben Neuordnungen und andere Optimierungen keine so dramatischen Auswirkungen auf die Leistung; Der Engpass verlagert sich auf die reinen Hardwarefunktionen, selbst bei RAID oder aggressiven Hybrid-/Tier-Caching-Architekturen.
Ein Diagrammplot-Speicher liest und schreibt für einen synthetischen Benchmark. Die X-Achse ist der Versatz von einer Startposition, an der ein IO auftritt. Die Y-Achse ist die Blockgröße der an diesem Standort durchgeführten Transaktion. Eine Blockgröße von 128 KB würde beispielsweise versuchen, 128 KB Daten vom Laufwerk an einer versetzten Stelle zu lesen, alles in einer Anfrage.
Unvorhersehbare Speicherpfade
Echte Workstation-Anwendungen folgen keinen vorhersehbaren Pfaden für optimale Speicherzugriffe. In der Welt der nichtlinearen Videobearbeitung beispielsweise richtet sich eine Blockgröße eher nach dem Containerformat oder der Kodierungsmethode als nach einer optimalen Blockgröße für sehr große Dateiübertragungen.
Für eine Anwendung wäre es deutlich schneller, wenn sie für alle großen Dateien, die in den Speicher eingelesen werden, Blockgrößen von 128 KB verwenden und diese Daten dann in einer kleineren Größe übertragen würden. Aber die Tatsache, dass die Anwendung andere, weniger optimale Methoden für den Zugriff auf den Speicher vorschreibt, macht synthetische Messungen weniger repräsentativ für die Art und Weise, wie echte Arbeit verarbeitet wird.
Videobearbeitung ist nur ein Beispiel. Fast alle Anwendungen, auch innerhalb derselben Branche, verwenden unterschiedliche Lese-/Schreibmethoden, sodass die Messung von Spitzenleistungszuständen weitgehend irrelevant ist. Die einzige Möglichkeit, den Speicher genau zu messen, besteht darin, die Vorgänge nachzuahmen, wie sie in den tatsächlichen Anwendungen stattfinden.
Verbesserung der Methodik
Für seinen SPECwpc 2.1-Benchmark, der Anfang 2016 veröffentlicht wurde, verwendete das Unterkomitee SPEC Workstation Performance Characterization (SPECwpc) IOMeter – ein Tool zur Messung und Charakterisierung von IO-Subsystemen –, um IO-Aktivität für eine Vielzahl professioneller Anwendungen zu simulieren. Die Größe und Häufigkeit von Speichertransaktionen wurden aus diesen Anwendungen erfasst und IOMeter nutzte die Daten, um eine Reihe von Speichertransaktionen über einen bestimmten Zeitraum zu generieren.
Obwohl diese Technik besser war als die Messung der maximalen Bandbreite und Latenz einer Workstation, kam sie dennoch nicht sehr annähernd an die tatsächliche Leistung von Anwendungen heran. Mit seiner nächsten Version wollte SPECwpc das Anwendungsverhalten besser nachahmen und gleichzeitig die Auswirkungen neuer Solid-State-Geräte, Technologien wie NAND und 3D Xpoint sowie verschiedener PCIe-Konnektivitätsoptionen widerspiegeln.
Bei der Entwicklung des im November 3 veröffentlichten SPECworkstation 2018-Benchmarks nutzte SPECwpc den Windows Process Monitor, um die Speichertransaktionen einer Vielzahl professioneller Anwendungen zu verfolgen, die tatsächlich arbeiten. SPECwpc hat dann ein Wiedergabedienstprogramm geschrieben, um die Spuren in Streams von Speichertransaktionen zu übersetzen, die nahezu identisch mit denen der tatsächlichen Anwendungen sind.
Lese-/Schreibvorgänge für die SPECworkstation 3 Handbrake-Anwendung
Anstatt die tatsächlichen Daten aus den Anwendungen zu verwenden, die Hunderte von Gigabyte groß wären, füllte SPECwpc die Speicheranforderungen mit zufällig ausgewählten Daten. Das Wiedergabedienstprogramm verwendet dann mehrere Threads, um in mehrere Dateien zu schreiben, genau wie die eigentliche Anwendung.
Der SPECworkstation 3-Benchmark umfasst Spuren aus einer Vielzahl von Anwendungen, darunter Medien und Unterhaltung (3D-Animation, Rendering), Produktentwicklung (CAD/CAM/CAE), Biowissenschaften (medizinisch, molekular), Finanzdienstleistungen, Energie (Öl und Gas). ), allgemeine Operationen und GPU-Berechnung.
Zu den für den SPECworkstation 3-Speicher-Workload verfolgten Anwendungen gehören 7zip, Adobe Media Encoder, Adobe Premier Pro, Ansys Icepak, Ansys Mechanical, Autodesk 3ds Max, Autodesk Maya, Autodesk Revit, Blender, CalculiX, Dassault Systémes Solidworks, Handbrake, Lampps und Microsoft Visual Studio 2015, Namd, das SPECviewperf 13 Energy Viewset und der SPECworkstation 3 WPCcfd Workload.
Lese-/Schreibvorgänge für die Calculix (CCX)-Anwendung im SPECworkstation 3-Benchmark
Blick in die Zukunft
Die in SPECworkstation 3 verwendete Wiedergabemethode erzeugt Threads auf eine Art und Weise, die der realen Anwendung einigermaßen nahe kommt, weist jedoch immer noch ein zentrales Problem auf: Die Chronologie der IOs und jegliche Synchronisierung zwischen Threads wird nicht genau beibehalten. Dies führt dazu, dass einige Threads bestimmte E/As schneller abschließen und die Parallelität der E/As in den verschiedenen Threads nicht perfekt synchronisiert ist, was gelegentlich zu Abweichungen von Lauf zu Lauf führt.
Für SPECworkstation 4, dessen Veröffentlichung irgendwann im Jahr 2020 geplant ist, wird SPECwpc daran arbeiten, die E/A-Chronologie so beizubehalten, dass verhindert wird, dass E/As zusammenlaufen, wenn sie den Bus zum Speichergerät erreichen.
Aufruf zur Teilnahme
Die Nachverfolgung von Speichervorgängen anhand realer Anwendungsverarbeitungsbefehle, wie sie beispielsweise von Workstation-Benutzern in verschiedenen Branchen generiert werden, ist zwar nicht perfekt, stellt jedoch einen großen Fortschritt dar.
Der SPECwpc-Unterausschuss – dem Vertreter von AMD, Dell, Fujitsu, HP, Intel, Lenovo und Nvidia angehören – begrüßt Beiträge zu zukünftigen Arbeitslasten von Geräteherstellern, Anwendungsentwicklern und Benutzern, die an der Speicherleistung interessiert sind.
Wie bei anderen SPEC-Benchmarks wird die Bereitstellung der genauesten Mittel zur Erfassung und Berichterstattung der realen Workstation-Speicherleistung dazu beitragen, Entwicklern den Weg zu weisen, ihre Prozesse in Zukunft zu verbessern.
– Alex Shows
Alex Shows ist Vorsitzender des Unterausschusses SPEC Workstation Performance Characterization (SPECwpc) und Distinguished Engineer bei Dell. Seine 23-jährige Branchenerfahrung umfasst 19 Jahre Softwaredesign, -entwicklung und -dokumentation; 17 Jahre Hardware- und Treiberdesign-Validierung; und 10 Jahre angewandte Forschung in Hardware- und Softwaretechnologien. Er hält 12 Patente, von denen sechs angemeldet sind.
Um mehr über Grafik- und Workstation-Benchmarking zu erfahren, Besuchen Sie die SPEC/GWPG-Website, Abonnieren Sie den SPEC/GWPG-Newsletter, oder treten Sie den Grafiken bei und Workstation Benchmarking LinkedIn-Gruppe.
SPEC/GWPG-Benchmarks sind verfügbar für kostenloser Download für alle, mit Ausnahme von Anbietern von Computern und zugehörigen Produkten und Dienstleistungen, die dies nicht tun Mitglieder der SPEC Graphics and Workstation Performance Group (SPEC/GWPG).