Verarbeiter-Sympathie

Verarbeiter-Sympathie oder Zentraleinheitsbefestigen. Zentraleinheitsbefestigen ermöglicht, komplette virtuelle Maschinen oder eine spezifische virtuelle Zentraleinheit (vCPU), zu einer physischen Zentraleinheit oder einer Reihe von Zentraleinheiten kartografisch darzustellen und kartografisch undarzustellen. Es ist eine Modifizierung der geborenen Hauptwarteschlange, die Algorithmus in einer symmetrischen Mehrverarbeitung Betriebssystem plant. Jede Aufgabe (es Prozess oder Faden sein), in der Warteschlange hat ein Anhängsel, das sein bevorzugtes / Verwandtschaft-Verarbeiter anzeigt. In der Zuteilungszeit wird jede Aufgabe seinem Verwandtschaft-Verarbeiter in der Bevorzugung vor anderen zugeteilt.

Verarbeiter-Sympathie nutzt die Tatsache aus, dass einige Reste eines Prozesses im Staat eines Verarbeiters (insbesondere in seinem geheimen Lager) vom letzten Mal bleiben können, als der Prozess gelaufen ist. Als es es geplant hat, um auf demselben Verarbeiter zu laufen, konnte das nächste Mal auf das Laufen des Prozesses effizienter durch das Reduzieren von Leistung erniedrigenden Situationen wie geheimes Lager Fräulein hinauslaufen. Ein praktisches Beispiel könnte vielfache Beispiele einer Anwendung führen, die vielfache Fäden wie eine grafikmachende Software nicht verwendet. Gesamte Systemleistungsfähigkeitszunahmen.

Terminplanungsalgorithmus-Durchführungen ändern sich in der Anhänglichkeit an der Verarbeiter-Sympathie. Unter bestimmten Verhältnissen werden einige Durchführungen einer Aufgabe erlauben, sich zu einem anderen Verarbeiter zu ändern, wenn, wie man hält, das am effizientesten ist. Das kann der Fall sein, wenn zwei mit dem Verarbeiter intensive Aufgaben (A und B) Sympathie zu einem Verarbeiter haben, während ein anderer Verarbeiter unbenutzt liegt. Viele Algorithmen würden Aufgabe B zum zweiten Verarbeiter auswechseln, um Verarbeiter-Gebrauch zu maximieren. Aufgabe B würde dann Sympathie mit dem zweiten Verarbeiter erwerben, während Aufgabe A fortsetzen würde, Sympathie mit dem ursprünglichen Verarbeiter zu haben.

Verarbeiter-Sympathie kann Probleme des geheimen Lagers effektiv reduzieren, aber sie zügelt das beharrliche lasterwägende Problem nicht. Weiter wird Verarbeiter-Sympathie mehr kompliziert in Systemen mit ungleichförmigen Architekturen. Zum Beispiel hat ein System mit zwei Doppelkern Zentraleinheitsgeschenke eine Herausforderung an einen Terminplanungsalgorithmus hypereingefädelt. Es gibt ganze Sympathie zwischen zwei virtuellen Zentraleinheiten, die auf demselben Kern über die hypereinfädelnde, teilweise Sympathie zwischen zwei Kernen auf demselben physischen Span durchgeführt sind (wie die Kerne einige, aber nicht alle, geheimes Lager teilen), und keine Sympathie zwischen getrennten physischen Chips.

Da andere Mittel auch geteilt werden, kann Verarbeiter-Sympathie allein nicht als die Basis für das Zentraleinheitsverschicken verwendet werden. Wenn ein Prozess kürzlich auf einer virtueller Hypergewindezentraleinheit in einem gegebenen Kern gelaufen ist, und dass virtuelle Zentraleinheit zurzeit beschäftigt ist, aber sein Partner ist nicht, würde Sympathie des geheimen Lagers darauf hinweisen, dass der Prozess dem müßigen Partner entsandt werden sollte. Jedoch bewerben sich die zwei virtuellen Zentraleinheiten um im Wesentlichen die ganze Computerwissenschaft, geheimes Lager und Speichermittel. Es würde normalerweise in diesem Fall effizienter sein, den Prozess zu einem verschiedenen Kern oder Zentraleinheit zu entsenden, wenn man verfügbar ist. Das würde wahrscheinlich eine Strafe übernehmen, wenn Prozess das geheime Lager neu bevölkert, aber gesamte Leistung würde wahrscheinlich höher sein, weil sich der Prozess um Mittel innerhalb der Zentraleinheit würde nicht bewerben müssen.

Auf Linux könnte die Zentraleinheitssympathie eines Prozesses mit dem taskset (1) Programm verändert werden.

Auf SGI Systemen bindet dplace einen Prozess zu einer Reihe von Zentraleinheiten.

NetBSD 5.0, FreeBSD 7.2 und spätere Versionen kann pthread_setaffinity_np und pthread_getaffinity_np verwenden. In NetBSD, das psrset Dienstprogramm, um eine Sympathie eines Fadens auf einen bestimmten Zentraleinheitssatz zu setzen. In FreeBSD, cpuset Dienstprogramm wird verwendet, um Zentraleinheitssätze zu schaffen und Prozesse diesen Sätzen zuzuteilen.

Auf Windows NT können Faden und Prozess-Zentraleinheitssympathien getrennt durch das Verwenden von API-Anrufen von SetThreadAffinityMask und SetProcessAffinityMask oder über den Aufgabe-Betriebsleiter Schnittstelle (für die Prozess-Sympathie nur) gesetzt werden. Mac OS X stellt eine Sympathie-API aus, die Hinweise dem Kern zur Verfügung stellt, wie man Fäden gemäß Sympathie-Sätzen plant.

Siehe auch

  • Sympathie-Maske

Außenverbindungen


Caius Gabriel Cibber / Kassel (Bezirk)
Impressum & Datenschutz