Neuerungen im Betriebssystem Solaris 10

Verbesserung der Systemleistung

In Solaris 10 5/08 wurden die folgenden Leistungsmerkmale und Verbesserungen für die Systemverwaltung implementiert.

64 bit SPARC: Unterstützung von Speicherzuweisungsoptimierung für sun4v-Plattformen

Die Speicherzuweisungsoptimierung (Memory Placement Optimization, MPO) ermöglicht Betriebssystemen die Zuweisung von Speicher lokal zum Kernbereich, wo Threads bzw. Prozesse ausgeführt werden. Die sun4v-Architektur wird in einer virtualisierten Hardware-Umgebung ausgeführt. MPO für sun4v-Plattformen enthält die erforderlichen Standard-Zugriffsmethoden in der sun4v-Schicht, die für das generische MPO-Framework Ortsinformationen bereitstellen. Dieses Leistungsmerkmal ist besonders optimal für Plattformen, die mehrere Sockets mit unterschiedlicher Speicherzugriffslatenz besitzen. Das MPO-Leistungsmerkmal verbessert die Leistung mehrerer Anwendungen, da das Betriebssystem Speicher lokal zu den Knoten zuweisen kann.

SPARC: Unterstützung für gemeinsam genutzte Kontexte

Der Kontextmechanismus, der von der Hardware des Speicherverwaltungsmoduls zur Unterscheidung gleicher virtueller Adressen in verschiedenen Prozessaddressräumen genutzt wird, kann bei der Verwendung von gemeinsam genutztem Speicher Ineffektivitäten verursachen. Diese Ineffektiviäten werden hervorgerufen, da die Daten an einer bestimmten Adresse des gemeinsam genutzten Speicher identisch sind, die Kontextnummern der jeweiligen zugehörigen Prozesse aber unterschiedlich sind. Deswegen kann die MMU-Hardware keine Übereinstimmung erkennen. Das hat zur Folge, dass Zuweisungen unnötigerweise aus dem Umsetzungs-Cache des Speicherverwaltungsmoduls (Translation Lookaside Buffer, TLB) gelöscht und durch identische Zuweisungen mit einer unterschiedlichen Kontextnummer ersetzt werden.

Das Niagara 2-System besitzt einen zusätzlichen Kontext zur gemeinsamen Nutzung. Dabei handelt es sich um eine Hardwarefunktion, die zum Vermeiden dieser Ineffektivitäten bei der Verwaltung von gemeinsam genutztem Speicher verwendet werden kann. Beim Durchsuchen des TLB nach Zuweisungen lösen identische Daten im privaten oder gemeinsamen Kontext einen sog. „TLB-Hit“ aus. Die gegenwärtige Software-Unterstützung für gemeinsam genutzte Kontexte aktiviert dieses Leistungsmerkmal für Prozesse, die den sog. Dynamic Intimate Shared Memory (DISM) verwenden. In diesem Fall verwenden das Prozesstextsegment und die DISM-Segmente, die für jeden Prozess mit den gleichen Berechtigungen den gleichen virtuellen Adressen zugewiesen sind, den jeweiligen gemeinsam genutzten Kontext.

x86: Erkennen von CPUID-basierten Cache-Hierarchien

Moderne Intel-Prozessoren besitzen eine Schnittstelle, über die mithilfe einer CPUID-Anweisung Informationen zur Cache-Hierarchie des Prozessors abgerufen werden können.