h1

h2

h3

h4

h5
h6
http://join2-wiki.gsi.de/foswiki/pub/Main/Artwork/join2_logo100x88.png

Enhancing full-system simulation: techniques for maximizing performance and accuracy



Verantwortlichkeitsangabevorgelegt von Niko Zurstraßen, M. Sc.

ImpressumAachen : RWTH Aachen University 2025

Umfang1 Online-Ressource : Illustrationen


Dissertation, Rheinisch-Westfälische Technische Hochschule Aachen, 2025

Veröffentlicht auf dem Publikationsserver der RWTH Aachen University


Genehmigende Fakultät
Fak06

Hauptberichter/Gutachter
;

Tag der mündlichen Prüfung/Habilitation
2025-09-11

Online
DOI: 10.18154/RWTH-2025-08754
URL: https://publications.rwth-aachen.de/record/1020075/files/1020075.pdf

Einrichtungen

  1. Lehrstuhl für Software für Systeme auf Silizium (611910)

Thematische Einordnung (Klassifikation)
DDC: 621.3

Kurzfassung
Die rein virtuelle Simulation von Rechensystemen ist zu einem Grundpfeiler der modernen Hard- und Softwareentwicklung geworden. Diese virtuellen Zwillinge von Computersystemen, auch als Full-System-Simulatoren (FSS) bezeichnet, ermöglichen eine Vielzahl einzigartiger Anwendungsfälle. Als virtuelle Entwicklungsplattformen erlauben FSS die Entwicklung von Software lange bevor Hardware-Prototypen verfügbar sind und verkürzen so die Time-to-Market.. Werden zudem mikroarchitektonische Details einbezogen, unterstützen FSS die frühzeitige Entwurfsraumerkundung (Design Space Exploration), indem sie Systemeigenschaften abschätzen (Leistung, Leistungsaufnahme, Cache-Treffer-/Fehlraten usw.).Letztlich haben alle Anwendungsfälle eines gemeinsam: Ein FSS sollte so schnell wie möglich sein und dennoch die erforderliche Genauigkeit liefern. Als Plattform für die Softwareentwicklung wirkt sich die Leistung unmittelbar auf die Produktivität der Entwickler aus. Bei der Entwurfsraumerkundung bestimmt die Leistung die Anzahl der untersuchbaren Designs. Zudem gilt – ähnlich wie beim realen Gegenstück –, dass ein FSS nie schnell genug sein kann. Um der stetig wachsenden Nachfrage nach mehr Leistung gerecht zu werden, fokussiert sich diese Arbeit auf die Entwicklung von Methoden zur Beschleunigung der Simulationsausführung. Analog zu den Phasen eines Compilers sind viele der hier behandelten Herausforderungen orthogonal, tragen jedoch zu demselben Ziel bei. Konkret stellt diese Arbeit zunächst eine parallelisierte Version des populären Open-Source-FSS gem5 vor (Kapitel 3).Durch die Nutzung moderner Multicore-Systeme erreicht der parallelisierte Simulator bei der Simulation von Multithread-Benchmarks Beschleunigungen von bis zu 24,7×.Darauf aufbauend werden analytische Modelle zur Vorhersage von Leistung und Genauigkeit vorgestellt (Kapitel 4).Anschließend werden neue Verfahren zur schnellen Simulation von (Vektor-)Gleitkomma-Instruktionen eingeführt (Kapitel 5).Durch den ausgeklügelten Einsatz der Host-FPU erzielen einzelne Instruktionen gegenüber einer Soft-Float-Implementierung Beschleunigungen von bis zu 5×.Abschließend wird eine globale, statische Registerallokation für Dynamic Binary Translators (DBTs) vorgestellt (Kapitel 6).Im Vergleich zu lokalen Registerallokationsmethoden, wie sie im State-of-the-Art-FSS QEMU eingesetzt werden, erzielt die in dieser Arbeit vorgestellte Methode Beschleunigungen von bis zu 1,4×.

Simulating compute systems by pure virtual means has become a cornerstone of modern hardware and software development. These virtual twins of computers, also referred to as Full-System Simulators (FSSs), enable a plethora of unique use cases. As virtual development platforms, FSSs enable the development of software long before any hardware prototypes are available, speeding up the time to market. When also incorporating microarchitectural details, FSSs facilitate early design space exploration by estimating a system’s characteristics (performance, power consumption, cache hit/miss rates, etc.).Ultimately, all use cases share one thing in common: the FSS should be as fast as possible while still providing the required accuracy. As a software development platform, the performance directly affects the developer’s productivity. When conducting design space exploration, the performance determines the number of explorable designs. Moreover, and much like its real-world counterpart, a FSS can never be fast enough. In order to meet the ever-increasing demand for more performance, this thesis focuses on the development of methods that accelerate the execution of simulations. Similar to the phases of a compiler, many of the here presented challenges are orthogonal but contribute to the same goal. More specifically, this thesis first presents a parallelized version of the popular open-source FSS gem5 (Chapter 3).By leveraging modern multi-core systems, the parallelized simulator attains speedups of up to 24.7× when simulating multi-threaded benchmarks. Based on this, analytical models for performance and accuracy prediction are presented (Chapter 4).This is followed by introducing new methods for the fast simulation of (vector) floating point instructions (Chapter 5).By using the host FPU in a sophisticated way, individual instructions see speedups of up to 5× compared to a soft float implementation. Lastly, a global, static register allocation for Dynamic Binary Translators (DBTs) is presented (Chapter 6).Compared to local register allocation methods, as used by the state-of-the-art FSS QEMU, the method of this thesis achieves speedups of up to 1.4×

OpenAccess:
Download fulltext PDF
(additional files)

Dokumenttyp
Dissertation / PhD Thesis

Format
online

Sprache
English

Externe Identnummern
HBZ: HT031316709

Interne Identnummern
RWTH-2025-08754
Datensatz-ID: 1020075

Beteiligte Länder
Germany

 GO


OpenAccess

QR Code for this record

The record appears in these collections:
Document types > Theses > Ph.D. Theses
Faculty of Electrical Engineering and Information Technology (Fac.6)
Publication server / Open Access
Public records
Publications database
611910

 Record created 2025-10-19, last modified 2025-12-05


OpenAccess:
Download fulltext PDF
(additional files)
Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)