Simultanes Multithreading
Sie können die Leistung des Verzeichnisservers verbessern, wenn Sie den Server auf einem System ausführen, das mehrere Threads zur Verarbeitung einer Anweisung ausführen kann.
Simultanes Multithreading (SMT) ist ein Prozessordesign, das Hardware-Multithreading mit superskalarer Prozessortechnologie kombiniert. Simultanes Multithreading kann mehrere Threads verwenden, um Anweisungen in jedem Zyklus auszugeben. In bestimmten Multithread-Hardwarearchitekturen ist nur ein einzelner Hardwarekontext oder Thread in jedem Zyklus aktiv. SMT unterstützt alle Threadkontexte, um gleichzeitig zu konkurrieren und Prozessorressourcen gemeinsam zu nutzen. Im Gegensatz zu herkömmlichen superskalaren Prozessoren, bei denen die Parallelität auf Instruktionsebene pro Thread fehlt, verwendet simultanes Multithreading mehrere Threads, um eine niedrige Parallelität auf Instruktionsebene für Einzelthreads auszugleichen. Simultanes Multithreading verwendet mehrere Threads, um verschiedene Anweisungen im selben Taktzyklus auszuführen, indem die Prozesseinheiten verwendet werden, die der erste Thread verlassen hat.
Für simultanes Multithreading sind folgende Änderungen an der Basisprozessorarchitektur erforderlich:
- Die Möglichkeit, Anweisungen aus mehreren Threads in einem Zyklus abzurufen.
- Eine größere Registerdatei zum Speichern von Daten aus mehreren Threads.
Die Leistungsvorteile eines Systems, das simultanes Multithreading ausführen kann, sind:
- Höherer Anweisungsdurchsatz
- Programme sind schneller für verschiedene Workloads, die kommerzielle Datenbanken, Web-Server und wissenschaftliche Anwendungen in sowohl multiprogrammierten als auch parallelen Umgebungen enthalten.