DE102009060265A1 - Effiziente Verwendung einer Remapping(Neuzuordnung)-Engine - Google Patents

Effiziente Verwendung einer Remapping(Neuzuordnung)-Engine Download PDF

Info

Publication number
DE102009060265A1
DE102009060265A1 DE102009060265A DE102009060265A DE102009060265A1 DE 102009060265 A1 DE102009060265 A1 DE 102009060265A1 DE 102009060265 A DE102009060265 A DE 102009060265A DE 102009060265 A DE102009060265 A DE 102009060265A DE 102009060265 A1 DE102009060265 A1 DE 102009060265A1
Authority
DE
Germany
Prior art keywords
remapping
traffic
engine
amount
remapping engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102009060265A
Other languages
English (en)
Inventor
Ramakrishna Cornelius Saripalli
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102009060265A1 publication Critical patent/DE102009060265A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Abstract

Ein Gerät, System und Verfahren werden offenbart. Bei einer Ausführungsform enthält das Gerät Remapping-Engine-Neuzuweisungs-Logik, die in der Lage ist, eine erste Menge an Verkehr zu überwachen, welche durch eine erste Remapping-Engine übersetzt wird. Wenn die erste Menge an Verkehr den Schwellenwert der ersten Remapping-Engine erreicht, wird die Logik einen Teil des Verkehrs umleiten, um durch eine zweite Remapping-Engine übersetzt zu werden.

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung betrifft Remapping-Engine-Übersetzungen bei einer Computerplattform, die Virtualisierung implementiert.
  • HINTERGRUND DER ERFINDUNG
  • Viele Computerplattformen verwenden Virtualisierung, um Ressourcen effizienter zu handhaben und zu priorisieren. Eingabe/Ausgabe-(I/O – Input/Output)-Geräte können aus der Virtualisierung ebenso einen Nutzen ziehen. Intel® Corporation hat eine Virtualisierungstechnologie für die Direct-I/O-(VT-d)-Spezifikation (Revision 1.0, September 2008) herausgebracht, welche die Implementierungsdetails beschreibt, Direct-Memory-Access-(DMA)-aktivierte I/O-Geräte in einem virtualisierten Umfeld zu nutzen.
  • Um virtuelle Adressen in DMA- und Interrupt-Anfragen, die von einem I/O-Gerät empfangen wurden, effizient in physische Speicheradressen zu übersetzen, wurde eine Logik, genannt Remapping-Engine, entwickelt, welche die Übersetzung durchführt. Eine gegebene Computerplattform kann mehrere Remapping-Engines besitzen. Die VT-d-Spezifikation ermöglicht einem gegebenen I/O-Gerät, wie beispielsweise einem Platform-Component-Interconnect-(PCI)- oder einem PCI-Express-Gerät, sich im Umfang einer einzelnen Remapping-Engine zu befinden. Diese Zuordnung eines Gerätes zu einer Remapping-Engine erfolgt zur Zeit des Hardware-Designs und ist eine Eigenschaft des Designs der Computerplattform.
  • Die Zuordnung eines I/O-Gerätes zu einer einzelnen Remapping-Engine macht es für einen Virtual Machine Monitor (VMM) oder ein Betriebssystem (OS) unflexibel. Das kann auch in verminderter Leistung resultieren.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung ist exemplarisch und in keiner Weise einschränkend durch die Zeichnungen dargestellt, in denen gleiche Bezugsnummern ähnliche Elemente bezeichnen und in denen Folgendes dargestellt ist:
  • 1 beschreibt eine Ausführungsform eines Systems und eines Gerätes, um Remapping-Engines neu zuzuweisen und damit die gesamte Remapping-Last zwischen verfügbaren Remapping-Engines auszugleichen.
  • 2 ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses, um ein I/O-Gerät von einer Remapping-Engine zu einer anderen Remapping-Engine zu migrieren.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Ausführungsformen von einem Gerät, System und Verfahren, um Remapping-Engines neu zuzuweisen und damit die gesamte Remapping-Last zwischen verfügbaren Remapping-Engines auszugleichen, werden offenbart. Bei vielen Szenarien kann eine primäre Remapping-Engine auf einer Computerplattform auf Grund einer hohen Menge an Übersetzungen, die ein bestimmtes zugeordnetes I/O-Gerät (durch DMA- oder Interrupt-Anfragen) anfordert, beansprucht werden. Die Logik innerhalb der Computerplattform kann diese anstrengende Situation bemerken und eine sekundäre Remapping-Engine auffinden, die gegenwärtig nicht belastet ist. Die Logik kann das I/O-Gerät zur nicht belasteten sekundären Remapping-Engine migrieren, um die Belastung von der primären Remapping-Engine wegzunehmen. Wenn die Migration vollständig ist, werden alle nachfolgenden DMA- und Interrupt-Anfragen des I/O-Gerätes, welches Übersetzung erfordern, durch die sekundäre Remapping-Engine übersetzt.
  • Die Verweise in der folgenden Beschreibung und in den Schutzansprüchen auf „eine Ausführungsform” oder „die Ausführungsform” der offenbarten Technologien bedeuten, dass eine bestimmte in Verbindung mit der Ausführungsform beschriebene Funktion, Struktur oder Eigenschaft zumindest in einer Ausführungsform der offenbarten Technologien enthalten ist. Aus diesem Grund verweisen verschiedene Vorkommen des in dieser Spezifikation häufig verwendeten Ausdrucks „in einer Ausführungsform” nicht immer zwingend auf dieselbe Ausführungsform.
  • In der folgenden Beschreibung und in den Schutzansprüchen sind die verwendeten Begriffe „enthält” und „umfassen” sowie deren möglicherweise verwendeten Ableitungen als Synonyme zu verstehen. Zusätzlich können in der folgenden Beschreibung und in den Schutzansprüchen die Begriffe „gekoppelt” und „verbunden” und deren Ableitungen verwendet werden. Diese Begriffe sind jedoch nicht als Synonyme füreinander zu verstehen. Stattdessen kann in bestimmten Ausführungsformen „verbunden” verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt” kann bedeuten, dass zwei oder mehrere Elemente in direktem physischen oder elektrischen Kontakt sind. Jedoch kann „gekoppelt” auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander sind, trotzdem aber miteinander arbeiten oder interagieren.
  • 1 beschreibt eine Ausführungsform von einem System und Gerät, um Remapping-Engines neu zuzuweisen und damit die gesamte Remapping-Last zwischen verfügbaren Remapping-Engines auszugleichen. Das Remapping-Neuzuweisungs-System kann ein Teil einer Computerplattform sein (d. h. Computersystem), welche eine oder mehrere Prozessoren enthält. Die Prozessoren können jeweils einen oder mehrere Kerne aufweisen. Die Prozessoren können bei verschiedenen Ausführungsformen Intel® Mikroprozessoren oder eine andere Marke von Mikroprozessoren sein. Die Prozessoren sind in 1 nicht gezeigt.
  • Das System enthält einen physischen Systemspeicher 100. Bei einigen Ausführungsformen kann der Systemspeicher 100 eine Art dynamische Random Access Memory (DRAM) sein. Zum Beispiel kann der Systemspeicher eine Art Double Data Rate (DDR; doppelte Datenrate) Synchronous DRAM sein. Bei anderen Ausführungsformen kann der Systemspeicher eine andere Art von Speicher, wie beispielsweise ein Flash-Speicher, sein.
  • Das System enthält Direct-Memory-Access-(DMA; direkter Speicherzugriff)- und Interrupt-Remapping-Logik 102. Virtualisierungs-Remapping-Logik, wie beispielsweise DMA- und Interrupt-Remapping-Logik 102, schützt physische Regionen von Systemspeicher 100 durch Begrenzen des DMA von I/O-Geräten, wie beispielsweise I/O-Gerät 1 (104) und I/O-Gerät 2 (106) auf vorherig zugeordnete physische Speicherregionen, wie beispielsweise Domäne A (108) für das I/O-Gerät 1 (104) und Domäne B (110) für das I/O-Gerät 2 (106). Die Remapping-Logik schränkt ebenso von I/O-Geräten generierte Interrupts auf diese Regionen ein. Die DMA- und Interrupt-Remapping-Logik 102 kann in einem Prozessor in dem System, in einem I/O-Komplex in dem System oder an anderer Stelle unterbracht sein. Ein I/O-Komplex kann ein integrierter Schaltkreis innerhalb des Computersystems sein, welcher von dem einen oder den mehreren Prozessoren getrennt ist. Der I/O-Komplex kann einen oder mehrere I/O-Host-Controller enthalten, um den Informationsaustausch zwischen den/dem Prozessoren/Speicher und einem oder mehreren I/O-Geräten in dem System, wie beispielsweise I/O-Gerät 1 (104) und I/O-Gerät 2 (106), zu erleichtern. Während bei bestimmten Ausführungsformen die DMA- und Interrupt-Remapping-Logik 102 in den I/O-Komplex integriert sein kann, sind die anderen Teile des I/O-Komplexes in 1 nicht gezeigt. Bei einigen Ausführungsformen, wie beispielsweise bei vielen „System auf einem Chip”-Ausführungsformen, kann der I/O-Komplex in einen Prozessor integriert sein. Wenn somit die DMA- und Interrupt-Remapping-Logik 102 in den I/O-Komplex integriert ist, wäre sie in diesen Ausführungsformen daher auch in einen Prozessor integriert.
  • Die DMA- und Interrupt-Remapping-Logik 102 kann bei einigen Ausführungsformen, die ein virtualisiertes Umfeld innerhalb des Computersystems ermöglichen, mit einem Virtual Machine Monitor (VVM) programmiert werden. Bei anderen Ausführungsformen kann die DMA- und Interrupt-Remapping-Logik 102 durch ein Betriebssystem (OS) programmiert werden.
  • Bei vielen Ausführungsformen sind I/O-Gerät 1 (104) und I/O-Gerät 2 (106) DMA-fahige und Interrupt-fähige Geräte. Bei diesen Ausführungsformen übersetzt die DMA- und Interrupt-Remapping-Logik 102 die Adresse von jeder eingehenden DMA-Anfrage und von jedem Interrupt von den I/O-Geräten in die richtige Adresse des physischen Speichers im Systemspeicher 100. Bei vielen Ausführungsformen prüft die DMA- und Interrupt-Remapping-Logik 102 basierend auf der Information, die durch den VVM oder das Betriebssystem (OS) bereitgestellt wird, die Erlaubnis, auf die übersetzte physische Adresse zuzugreifen.
  • Die DMA- und Interrupt-Remapping-Logik 102 ermöglicht dem VVM oder OS mehrere DMA-Schutzdomänen, wie beispielsweise Domäne A (108) für I/O-Gerät 1 (104) und Domäne B (110) für I/O-Gerät 2 (106), anzulegen. Jede Schutzdomäne ist ein isoliertes Umfeld, das einen Teilsatz des physischen Host-Speichers enthält. Die DMA- und Interrupt-Remapping-Logik 102 aktiviert den VMM oder das OS, um ein oder mehrere I/O-Geräte einer Schutzdomäne zuzuordnen. Wenn irgendein beliebiges I/O-Gerät versucht, Zugriff auf einen bestimmten Speicherplatz im Systemspeicher 100 zu erhalten, schaut die DMA- und Interrupt-Remapping-Logik 102 die Remapping-Seitentabellen 112 nach der Zugriffsberechtigung dieses I/O-Gerätes zu dieser spezifischen Schutzdomäne durch. Wenn das I/O-Gerät versucht, außerhalb des Bereichs zuzugreifen, auf den es zugreifen darf, blockiert die DMA- und Interrupt-Remapping-Logik 102 den Zugriff und meldet einen Fehler an den VMM oder das OS.
  • Bei vielen Ausführungsformen gibt es zwei oder mehr Remapping-Engines, wie beispielsweise Remapping-Engine 1 (114) und Remapping-Engine 2 (116), die in der DMA- und Interrupt-Remapping-Logik 102 integriert sind. Jede Remapping-Engine enthält Logik, um Ströme von DMA-Anfragen und Interrupts von einem oder mehreren I/O-Geräten zu behandeln. Die Remapping-Engines starten generell als spezifischen I/O-Geräten zugeordnet. Zum Beispiel kann Remapping-Engine 1 (114) zugeordnet sein, die DMA-Anfragen und Interrupts an Domäne A (108) zu behandeln, die von I/O-Gerät 1 (104) empfangen wurden, und Remapping-Engine 2 (116) kann zugeordnet sein, die DMA-Anfragen und Interrupts an Domäne B (110) zu behandeln, die vom I/O-Gerät 2 (106) empfangen wurden.
  • Obwohl die Remapping-Engines ursprünglich zugeordnet sein können, DMA-Anfragen und Interrupts zu physischen Adressen für ein spezifisches I/O-Gerät zu übersetzen, kann bei vielen Ausführungsformen Remapping-Neuzuweisung-Logik 118 diese ursprünglichen Zuweisungen auf Grund beobachteter Arbeitslasten für jede Remapping-Engine dynamisch ändern. Bei vielen Ausführungsformen werden die DMA- und Interrupt-Remapping-Logik 102 und die Remapping-Neuzuweisungs-Logik 118 zusammen in einer Computerplattform genutzt, die I/O-Virtualisierungstechnologien verwendet. Zum Beispiel kann I/O-Gerät 1 (104) eine sehr schwere DMA-Anfrage-Arbeitslast generieren, während I/O-Gerät 2 (106) untätig ist. Die schwere DMA-Anfrage-Arbeitslast von I/O-Gerät 1 (104) kann die Kapazität von Remapping-Engine 1 (114) überlasten, was eine Verschlechterung der Leistung (d. h. Ansprechzeit) für die Anfragen von I/O-Gerät 1 (104) sowie einem oder mehreren zusätzlichen I/O-Geräten (nicht abgebildet), die auch von der Remapping-Engine 1 (114) abhängig sein können, hervorrufen würde. In diesem Beispiel kann Remapping-Neuzuweisung-Logik 118 die Diskrepanz in den Arbeitslasten bemerken und entscheiden, die von I/O-Gerät 1 (104) empfangene DMA-Anfrage-Arbeitslast zwischen der Remapping-Engine 1 (114) und der andernfalls ungenutzten Remapping-Engine 2 (116) aufzuteilen. Somit würde die zusätzliche Kapazität von Remapping-Engine 2 (116) die Arbeitslast, die von Remapping-Engine 1 (114) gefordert wird, erleichtern und kann die Reaktionsfähigkeit bezüglich Anfragen für I/O-Gerät 1 (104) erhöhen.
  • Bei einem anderen Beispiel kann das Gegenteil der Fall sein, wobei Remapping-Engine 2 (116) mit von I/O-Gerät 2 (106) empfangenen DMA-Anfragen überlastet ist, und somit Remapping-Neuzuweisungs-Logik 118 einen Teil der empfangenen Arbeit zur Remapping-Engine 1 (114) abspalten. Bei noch einem weiteren Beispiel kann ein drittes I/O-Gerät (nicht dargestellt), das anfänglich Remapping-Engine 1 (114) zugewiesen war, sehr viel Interrupt-Verkehr zur Übersetzung zu Remapping-Engine 1 (114) senden. Dieser Interrupt-Verkehr von I/O-Gerät 3 kann mehr Verkehr sein als die Kombination von DMA- und Interrupt-Anfragen von I/O-Gerät 1 und 2 zusammen. In diesem Beispiel kann Remapping-Neuzuweisungs-Logik 118 es Remapping-Engine 1 (114) überlassen, die eingehenden Anfragen von I/O-Gerät 3 zu behandeln, kann aber I/O-Gerät 1 (104) zu Remapping-Engine 2 (116) neu zuweisen. Somit müsste Remapping-Engine 2 (116) jetzt die eingehenden Anfragen sowohl für I/O-Gerät 1 und als auch für I/O-Gerät 2 übersetzen.
  • Bei vielen DMA- und Interruptverkehr-Szenarien kann die Remapping-Neuzuweisung-Logik 118 versuchen, DMA-Anfragen von einer Remapping-Engine einer anderen neu zuzuweisen, um die empfangene Arbeitslast unter allen verfügbaren Remapping-Engines auszugleichen. Bei vielen in 1 nicht gezeigten Ausführungsformen kann es einen Pool von Remapping-Engines geben, der mehr als zwei gesamte Remapping-Engines enthält. Bei diesen Ausführungsformen kann die Remapping-Neuzuweisungs-Logik 118 jedem der Remapping-Engines im Pool Arbeit neu zuordnen, um die Gesamtzahl an DMA-Anfragen unter dem gesamten Pool leidlich auszugleichen. Wenn bei einigen Ausführungsformen eine einzelne Remapping-Engine, wie Remapping-Engine 1 (114), die ganze DMA-Anfragearbeit ausführt, aber die Menge an Arbeit klein genug ist, um die Kapazität der bestimmten Remapping-Engine nicht zu belasten, kann die Remapping-Neuzuweisung-Logik 118 einen Teil der DMA-Anfrage-Arbeitslast nicht neu zuweisen. Bei einigen Ausführungsformen wird die Neuzuweisung deshalb generell ausgeführt, wenn die Arbeitslast für eine gegebene Remapping-Engine den Schwellenwert der Remapping-Engine bezüglich Anfragen erreicht hat. Bei vielen Ausführungsformen werden wiederum die DMA- und Interrupt-Remapping-Logik 102 und die Remapping-Neuzuweisung-Logik 118 beide in einer Computerplattform genutzt, die I/O-Virtualisierungstechnologien verwendet.
  • Bei vielen Ausführungsformen ist der Schwellenwert von Anfragen eine Anzahl an Anfragen während einer gegebenen Zeitspanne, welche der Grenze gleicht, die die Remapping-Engine ohne eine Leistungsverschlechterung behandeln kann. Eine Verschlechterung der Leistung der Remapping-Engine kann durch eine Warteschlange von sich anhäufenden DMA-Anfragen hervorgerufen werden, da die Anfragen durch die Remapping-Engine mit einer schnelleren Geschwindigkeit empfangen werden, als die Remapping-Engine Anfragen übersetzen kann. Die Remapping-Neuzuweisungs-Logik 118 kann eines von mehreren unterschiedlichen Verfahren nutzen, um die gegenwärtige Arbeitslast von DMA-Anfragen mit dem Schwellenwert zu vergleichen. Zum Beispiel kann ein Verhältnis von Anfragen zu Systemtaktzyklen mit einem Schwellenverhältnis verglichen werden. Die Überwachungslogik kann in die Remapping-Neuzuweisungs-Logik 118 integriert sein, da sie alle Anfragen vom Satz an I/O-Geräten empfängt und jede Anfrage einer Remapping-Engine zuordnet.
  • Bei vielen Ausführungsformen stellt die DMA-Remapping-Logik 102 ein oder mehrere Steuerregister für den VMM oder das OS bereit, um die Fähigkeit, DMA-Anfragearbeitslasten zwischen Remapping-Engines neu zuzuweisen, für die Remapping-Neuzuweisung-Logik 118 zu aktivieren oder zu deaktivieren. Bei vielen Ausführungsformen können Remapping-Engines als äquivalente Remapping-Engines bezeichnet werden, wenn der gleiche Satz an I/O-Geräten für jede einzelne verfügbar ist. Somit könnte eine Remapping-Engine theoretisch DMA-Anfrageübersetzungen für einen Satz von I/O-Geräten ausführen, während eine zweite Remapping-Engine untätig ist, wobei das Gegenteil ebenfalls zutrifft. Wenn ein I/O-Gerät für eine Remapping-Engine zugänglich ist, nicht aber für eine andere Remapping-Engine, können die Remapping-Engines nicht als äquivalent betrachtet werden. Äquivalente Remapping-Engines ermöglichen der Remapping-Neuzuweisungs-Logik 118, DMA-Anfragearbeitslasten mit jeder äquivalenten Remapping-Engine frei zu mischen und anzupassen.
  • Wenn die Äquivalenz zwischen Remapping-Engines vom VMM oder OS durch das eine oder mehrere Steuerregister aktiviert ist, kann jede Remapping-Engine den gleichen Satz an Remapping-Seitentabellen 112 und alle anderen Remapping-bezogenen Register aktiv verwenden, um am DMA-Anfrage-Übersetzungsprozess teilzunehmen. Bei vielen Ausführungsformen sind das eine oder die mehreren Steuerregister softwarebasierte Register, die sich im Systemspeicher befinden, wie beispielsweise die Steuerregister 120A. Bei anderen Ausführungsformen sind das eine oder die mehreren Steuerregister hardwarebasierte Register, die sich physisch in der DMA-Remapping-Logik 102 befinden, wie beispielsweise die Steuerregister 120B.
  • Bei vielen Ausführungsformen kann die DMA-Remapping-Logik 102 zum VMM oder OS die äquivalente Beziehung zwischen zwei oder mehr Remapping-Engines kommunizieren, indem eine Erweiterung zur gegenwärtigen DRHD-(DMA Remapping Hardware unit Definition)-Struktur verwendet wird, die in der Intel® VT-d Spezifikation definiert ist.
  • Jede Remapping-Engine hat eine DRHD-Struktur im Speicher. Zum Beispiel können sich die DRHD-Strukturen in den Remapping-Seitentabellen/-Strukturen 112 befinden, die Teil des Systemspeichers 100 sind. Bei anderen Ausführungsformen kann sich die DRHD-Struktur an einem anderen Ort innerhalb des Systemspeichers 100befinden. Die DRHD-Struktur für jede Remapping-Engine enthält ein Array von Remapping-Engines, die der betreffenden Remapping-Engine äquivalent sind. Dieses Array wird das „äquivalente DRHD Array” genannt. Dieses Array ist eine Sammlung von Feldern. Es ist in Tabelle 1 definiert. Das Array wird verwendet, um dem VMM oder OS solche Äquivalenz mitzuteilen. Es liegt am VMM oder OS zu entscheiden, wenn nötig die alternativen Remapping-Engines mit der Remapping-Engine, die primär einem gegebenen I/O-Gerät zugewiesen war, zu verwenden. Tabelle 1. Das strukturelle Layout eines äquvalenten DRHD-Array.
    Anzahl an Einheiten im äquivalenten Array Ein 16-Bit-Feld, das indirekt die Länge dieses gesamten Feldes anzeigt.
    Basisadresse der ersten äquivalenten Einheit Das ist ein 64-Bit-Feld. Siehe die Register-Basisadresse im DRHD (Abschnitt 8.3 der VT-d-Spezifikation).
    Basisadresse der n-ten äquivalenten Einheit N wird im ersten Feld angezeigt.
  • Bei einigen Ausführungsformen kann die Remapping-Neuzuweisungs-Logik 118 die DMA-Anfrageübersetzungsarbeitslast für jede Remapping-Engine an den VMM oder das OS melden, was dem VMM oder OS die Entscheidung ermöglichen würde, alternative Remapping-Engines zu aktivieren und zu nutzen, um den Übersetzungsdruck auf die primäre Remapping-Engine zu reduzieren.
  • Die DMA-Remapping-Logik 102 kann auch Informationen über die Fähigkeiten jeder einzelnen Remapping-Engine in Bezug auf migrierende Remapping-Seitentabellen zwischen Remapping-Engines kommunizieren. Wenn im Speziellen der VMM oder das OS bestimmt, die Zuordnungseinträge für DMA- und Interrupt-Anfragen von einer Remapping-Engine zu einer anderen zu migrieren, kann es eine softwarebasierte oder hardwarebasierte Seitentabellenkopie geben.
  • Bei einigen Ausführungsformen kann der VMM oder das OS die Seitentabellen, bezogen auf das neu zugewiesene I/O-Gerät, aufstellen und dann die Remapping-Seitentabellen vom alten Remapping-Engine-Speicherplatz für Seitentabellen zum neuen Remapping-Engine-Speicherplatz für Seitentabellen kopieren. Bei anderen Ausführungsformen kann die DMA- und Interrupt-Remapping-Logik 102 die Seitentabellen zwischen den Remapping-Engine-Speicherplätzen still kopieren. Das stille Kopieren dieser Seitentabellen ermöglicht es, den Overhead von VMM- oder OS-Softwareebene zu entfernen und auf eine untere Hardware-Ebene zu bringen. Das kann ohne die Kenntnis von Software geschehen.
  • Wenn die Seitentabellen einmal vom alten Remapping-Engine-Speicherplatz zum neuen kopiert (d. h. migriert) sind, ist die neue Remapping-Engine diejenige, die für die Bedienung aller zukünftigen Übersetzungsanfragen des betreffenden I/O-Gerätes verantwortlich ist. Die alte Remapping-Engine ist für das I/O-Gerät nicht mehr verantwortlich und wird keine vom Gerät empfangene DMA- oder Interrupt-Anfrage mehr übersetzen.
  • 2 ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses, um ein I/O-Gerät von einer Remapping-Engine zu einer anderen Remapping-Engine zu migrieren. Der Prozess erfolgt durch eine Verarbeitungslogik, die eine Hardware, eine Software oder eine Kombination aus Hardware und Software sein kann. Der Prozess beginnt, indem die Verarbeitungslogik eine DMA- oder Interrupt-Anfrage von einem I/O-Gerät (Verarbeitungsblock 200) empfängt.
  • Die Verarbeitungslogik bestimmt, ob die primäre Remapping-Engine, die zum Bedienen der Anfrage zugewiesen ist, ihren Schwellenwert an Anfragen im Laufe einer bestimmten Zeitspanne (Verarbeitungsblock 202) erreicht hat. Diese Bestimmung kann Leistungszähler, Zeitstempel, Algorithmen und andere Methodiken zu der Feststellung nutzen, ob die primäre Remapping-Engine gegenwärtig genug Übersetzungsanfragen hat, um die Übersetzungsreaktionsfähigkeit der Engine pro Anfrage zu verschlechtern.
  • Zum Beispiel kann der VMM oder das OS jede Remapping-Engine entweder direkt oder durch die Remapping-Zuweisungslogik 118 abfragen, um den gegenwärtigen Zustand des Remapping-Übersetzungsdrucks auf jede Remapping-Engine abzufragen. Bei einem anderen Beispiel kann die DMA- und Interrupt-Remapping-Logik 102 den VMM oder das OS unterbrechen, wenn mindestens eine der Remapping-Engines beginnt, Übersetzungsdruck oder Einschränkungen bei seinen Übersetzungsressourcen zu erfahren. Bei beiden Beispielen kann die DMA- und Interrupt-Remapping-Logik 102 auch ausführlichere Information über die genaue Art des Übersetzungsdrucks kommunizieren, einschließlich der Hierarchie oder der genauen I/O-Geräte, die der Grund für den Übersetzungsdruck sind. Der VMM oder das OS können entscheiden, welche Leistungsinformationen, wenn überhaupt, zu verwenden sind, wenn sie bestimmen, ob die Übersetzungseinträge eines I/O-Geräts zu einer anderen äquivalenten Remapping-Engine zu migrieren sind.
  • Kehren wir zurück zu 2: Wenn dieser Schwellenwert von Anfragen nicht erreicht wurde, lässt die Verarbeitungslogik die primäre Remapping-Engine die DMA- oder Interrupt-Anfrage übersetzen, und der Prozess ist abgeschlossen.
  • Andernfalls, wenn der Schwellenwert von Anfragen erreicht wurde, bestimmt die Verarbeitungslogik, welche Remapping-Engine von einer oder mehreren anderen äquivalenten Remapping-Engines verfügbar ist und entweder gegenwärtig zu wenig oder überhaupt nicht verwendet wird. Dies kann die Bestimmung einschließen, ob es genügend Überkapazität in einer gegebenen Backup-Remapping-Engine gibt, um den zusätzlichen Druck im zusätzlichen Verkehr des Gerätes aufzunehmen.
  • Sobald eine verfügbare Backup-Remapping-Engine gefunden wurde, migriert Verarbeitungslogik dann die Remapping-Seitentabellen für das I/O-Gerät von der primären Remapping-Engine zur Backup-Remapping-Engine (Verarbeitungsblock 206). Wenn die Backup-Remapping-Engine die Seitentabellen des I/O-Gerätes, die für das Remapping genutzt werden können, empfangen hat, leitet Verarbeitungslogik dann die DMA- oder Interrupt-Anfrage zur Backup-Remapping-Engine um (Verarbeitungsblock 208), und der Prozess ist abgeschlossen.
  • Bei vielen Ausführungsformen kann Verarbeitungslogik, nachdem sie überprüft hat, dass es eine verfügbare äquivalente Remapping-Engine gibt, ein Steuerregister in der Hardware (1, 120B) programmieren, um anzuzeigen, dass die neue Backup-Remapping-Engine als äquivalent zu der primären Remapping-Engine betrachtet werden sollte.
  • Um dieses Register-Programmieren zu berücksichtigen, können gegenwärtig belegte Felder im Global Command Register (das gegenwärtig in der Spezifikation Intel® VT-d definiert ist) für diesen Befehl neu definiert werden (z. B. ein Befehl, der „Aktivieren der äquivalenten Remapping-Engine” genannt wird). Die neue Remapping-Engine kann zu diesem Zweck durch ein anderes 8-Byte-Register identifiziert werden. Die Tabelle 2 zeigt ein Beispiel für die Modifizierungen, die an den globalen Befehls- und Statusregistern durchgeführt wurden, um die Überprüfung auf Äquivalenz unter Remapping-Engines zu. Tabelle 2. Für die Remapping-Engine-Äquivalenz genutzten globalen Befehls- und Statusregister-Bits.
    Bit 21 des globalen Befehlsregisters Wenn es auf 1 gesetzt ist, wurde eine neue äquivalente Remapping-Engine identifiziert Wenn es auf 0 gesetzt ist, wird jede vorhandene Äquivalenz-Beziehung entfernt.
    Bit 21 des globalen Statusregisters Dieses Bit wird auf 1 gesetzt, nachdem die Hardware mit der Ausführung des Befehls fertig ist.
  • Der VMM oder das OS kann Äquivalenz entweder für alle gegenwärtigen Geräte aktivieren, die zum Umfang der Remapping-Engine A gehören, oder nur für einen bestimmten Satz von Geräten, die gegenwärtig zum Umfang der Remapping-Engine A gehören. Kann die Äquivalenz nicht ausgeführt werden, kann die DMA- und Interrupt-Remapping-Logik 102 diesen Fehlerstatus durch ein Fehlerregister kommunizieren.
  • Somit werden Ausführungsformen von einem Gerät, System und Verfahren offenbart, um Remapping-Engines neu zuzuweisen und damit die gesamte Remapping-Last zwischen verfügbaren Remapping-Engines auszugleichen. Die hier beschriebenen Ausführungsformen wurden mit Bezug auf bestimmte beispielhafte Ausführungsformen erläutert. Es ist für Personen, die Einsicht in diese Offenbarung haben, offensichtlich, dass verschiedene Anpassungen und Veränderungen an diesen Ausführungsformen vorgenommen werden müssen, ohne dabei im weiteren Sinne und dem Umfang der hierin beschriebenen Ausführungsformen abzuweichen. Die Beschreibung und die Zeichnungen sind demgemäß als exemplarische Darstellung, jedoch nicht in einem einschränkenden Sinne, anzusehen.

Claims (24)

  1. Gerät, das Folgendes umfasst: Remapping-Engine-Neuzuweisungs-Logik, um eine erste Menge an Verkehr zu überwachen, die durch eine erste Remapping-Engine übersetzt wird; und einen Teil der ersten Menge an Verkehr umzuleiten, um durch eine zweite Remapping-Engine übersetzt zu werden, wenn die erste Menge an Verkehr einen ersten Remapping-Engine-Verkehrsschwellenwert erreicht.
  2. Gerät nach Anspruch 1, wobei die Remapping-Engine-Neuzuweisungs-Logik weiter Folgendes bewirkt: vor dem Umleiten des Teils der ersten Menge an Verkehr das Abfragen der zweiten Remapping-Engine, um eine Menge an verfügbarer Übersetzungskapazität zu bestimmen; und das Ermöglichen der Umleitung, wenn die verfügbare Menge an Übersetzungskapazität in der Lage ist, den Teil der ersten Menge an umzuleitendem Verkehr zu bedienen.
  3. Gerät nach Anspruch 2, wobei die Remapping-Engine-Neuzuweisungs-Logik weiter Folgendes bewirkt: das Bestimmen der Kapazität der ersten und zweiten Remapping-Engine; und das Aufteilen eines Teil der ersten Menge an Verkehr auf jeweils die erste und die zweite Remapping-Engine, so dass jede Engine im Verhältnis zur maximalen Kapazität jeder Engine im Wesentlichen den gleichen Prozentsatz an Verkehr aufweist.
  4. Gerät nach Anspruch 3, wobei die Remapping-Engine-Neuzuweisungs-Logik weiter Folgendes bewirkt: das Umleiten eines Teils der ersten Menge an Verkehr zu einer oder mehreren zusätzlichen Remapping-Engines, wobei die erste, die zweite und eine oder mehrere zusätzliche Remapping-Engines im Verhältnis zur maximalen Kapazität jeder Engine jeweils im Wesentlichen den gleichen Prozentsatz an Verkehr aufweisen.
  5. Gerät nach Anspruch 1, wobei die erste Menge an Verkehr zumindest den Verkehr von einem ersten Gerät und einem zweiten Gerät umfasst.
  6. Gerät nach Anspruch 5, wobei der Teil der ersten Menge an Verkehr, der zur zweiten Remapping-Engine umgeleitet wird, zumindest den Verkehr vom zweiten Gerät umfasst.
  7. Gerät nach Anspruch 1, wobei die Remapping-Engine-Neuzuweisungs-Logik weiter Folgendes bewirkt: das Überwachen der ersten Menge an Verkehr, die durch die erste Remapping-Engine und die zweite Remapping-Engine übersetzt wird; und das Umleiten des Teils der ersten Menge an Verkehr, der durch die zweite Remapping-Engine übersetzt wird, zur ersten Remapping-Engine, wenn die erste Menge an Verkehr unter den ersten Verkehrsschwellenwert zurückkehrt.
  8. Gerät nach Anspruch 7, wobei die Remapping-Engine-Neuzuweisungs-Logik weiter Folgendes bewirkt: das Kommunizieren an eine Power-Management-Logik, dass die zweite Remapping-Engine beendet werden kann, nachdem der Teil der ersten Menge an Verkehr, der durch die zweite Remapping-Engine übersetzt wird, zur ersten Remapping-Engine zurückgeleitet wird.
  9. System, das umfasst: ein erstes Gerät und ein zweites Gerät; eine erste Remapping-Engine und eine zweite Remapping-Engine, wobei jede Remapping-Engine sowohl mit dem ersten als auch mit dem zweiten Gerät gekoppelt ist; und Remapping-Engine-Neuzuweisungs-Logik, die sowohl mit der ersten als auch mit der zweiten Remapping-Engine gekoppelt ist, wobei die Remapping-Engine-Neuzuweisungs-Logik eine erste Menge an Verkehr überwacht, die durch eine erste Remapping-Engine übersetzt wird; und einen Teil der ersten Menge an Verkehr, der durch eine zweite Remapping-Engine zu übersetzen ist, umleitet, wenn die erste Menge an Verkehr einen ersten Remapping-Engine-Verkehrsschwellenwert erreicht.
  10. System nach Anspruch 9, wobei die Remapping-Engine-Neuzuweisungs-Logik weiter Folgendes bewirkt: vor dem Umleiten des Teils der ersten Menge an Verkehr das Abfragen der zweiten Remapping-Engine, um eine Menge an verfügbarer Übersetzungskapazität zu bestimmen; und das Ermöglichen der Umleitung, wenn die verfügbare Menge an Übersetzungskapazität den Teil der ersten Menge an umzuleitendem Verkehr bedienen kann.
  11. System nach Anspruch 10, wobei die Remapping-Engine-Neuzuweisungs-Logik weiter Folgendes bewirkt: das Bestimmen der Kapazität der ersten und zweiten Remapping-Engine; und das Aufteilen eines Teils der ersten Menge an Verkehr auf jeweils die erste und die zweite Remapping-Engine, so dass jede Engine im Verhältnis zur maximalen Kapazität jeder Engine im Wesentlichen den gleichen Prozentsatz an Verkehr aufweist.
  12. System nach Anspruch 11, wobei die Remapping-Engine-Neuzuweisungs-Logik weiter Folgendes bewirkt: das Umleiten eines Teils der ersten Menge an Verkehr zu einer oder mehreren zusätzlichen Remapping-Engines, wobei die erste, die zweite und eine oder mehrere zusätzliche Remapping-Engines im Verhältnis zur maximalen Kapazität jeder Engine jeweils im Wesentlichen den gleichen Prozentsatz an Verkehr aufweisen.
  13. System nach Anspruch 9, wobei die erste Menge an Verkehr zumindest den Verkehr von dem ersten Gerät und dem zweiten Gerät umfasst.
  14. System nach Anspruch 13, wobei der Teil der ersten Menge an Verkehr, der zur zweiten Remapping-Engine umgeleitet wird, mindestens den Verkehr von zumindest dem zweiten Gerät umfasst.
  15. System nach Anspruch 9, wobei die Remapping-Engine-Neuzuweisungs-Logik weiter Folgendes bewirkt: das Überwachen der ersten Menge an Verkehr, die durch die erste Remapping-Engine und die zweiten Remapping-Engine übersetzt wird; und das Umleiten des Teils der ersten Menge an Verkehr, der durch die zweite Remapping-Engine übersetzt wird, zur ersten Remapping-Engine, wenn die erste Menge an Verkehr unter den ersten Verkehrsschwellenwert zurückkehrt.
  16. System nach Anspruch 15, das weiter umfasst: eine Power-Management-Logik, um die Leistung, die zumindest zu jeweils der ersten und zweiten Remapping-Engine geliefert wird, zu regeln, wobei die Remapping-Engine-Neuzuweisungs-Logik weiter Folgendes bewirkt: das Kommunizieren an die Power-Management-Logik, um zumindest die Menge an Leistung, der zur zweiten Remapping-Engine geliefert wird, abzusenken, nachdem der Teil der ersten Menge an Verkehr, der durch die zweite Remapping-Engine übersetzt wird, zur ersten Remapping-Engine zurückgeleitet wird.
  17. Verfahren, das Folgendes umfasst: das Überwachen einer ersten Menge an Verkehr, die durch eine erste Remapping-Engine übersetzt wird; und das Umleiten eine Teil der ersten Menge an Verkehr, die durch eine zweite Remapping-Engine zu übersetzen ist, wenn die erste Menge an Verkehr einen ersten Remapping-Engine-Verkehrsschwellenwert erreicht.
  18. Verfahren nach Anspruch 17, das weiter Folgendes umfasst: vor dem Umleiten des Teils der ersten Menge an Verkehr das Abfragen der zweiten Remapping-Engine, um eine Menge an verfügbarer Übersetzungskapazität zu bestimmen; und das Ermöglichen der Umleitung, wenn die verfügbare Menge an Übersetzungskapazität in der Lage ist, den Teil der ersten Menge an umzuleitendem Verkehr zu bedienen.
  19. Gerät nach Anspruch 18, das weiter Folgendes umfasst: das Bestimmen der Kapazität der ersten und zweiten Remapping-Engine; und das Aufteilen eines Teils der ersten Menge an Verkehr auf jeweils die erste und zweite Remapping-Engine, so dass jede Engine im Verhältnis zur maximalen Kapazität jeder Engine im Wesentlichen den gleichen Prozentsatz an Verkehr aufweist.
  20. Gerät nach Anspruch 19, das weiter Folgendes umfasst: das Umleiten eines Teils der ersten Menge an Verkehr zu einer oder mehreren zusätzlichen Remapping-Engines, wobei die erste, die zweite und eine oder mehrere zusätzliche Remapping-Engines im Verhältnis zur maximalen Kapazität jeder Engine jeweils im Wesentlichen den gleichen Prozentsatz an Verkehr aufweisen.
  21. Gerät nach Anspruch 17, wobei die erste Menge an Verkehr zumindest den Verkehr von einem ersten Gerät und einem zweiten Gerät umfasst.
  22. Gerät nach Anspruch 21, wobei der Teil der ersten Menge an Verkehr, der zur zweiten Remapping-Engine umgeleitet wird, zumindest den Verkehr von dem zweiten Gerät umfasst.
  23. Gerät nach Anspruch 17, das weiter umfasst: das Überwachen der ersten Menge an Verkehr, die durch die erste Remapping-Engine und die zweite Remapping-Engine übersetzt wird; und das Umleiten des Teils der ersten Menge an Verkehr, die durch die zweite Remapping-Engine übersetzt wird, zur ersten Remapping-Engine, wenn die erste Menge an Verkehr unter den ersten Verkehrsschwellenwert zurückkehrt.
  24. Gerät nach Anspruch 23, das weiter umfasst: das Kommunizieren an eine Power-Management-Logik, dass die zweite Remapping-Engine beendet werden kann, nachdem der Teil der ersten Menge an Verkehr, der durch die zweite Remapping-Engine übersetzt wird, zur ersten Remapping-Engine zurückgeleitet wurde.
DE102009060265A 2008-12-31 2009-12-23 Effiziente Verwendung einer Remapping(Neuzuordnung)-Engine Ceased DE102009060265A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/319,060 US20100169673A1 (en) 2008-12-31 2008-12-31 Efficient remapping engine utilization
US12/319,060 2008-12-31

Publications (1)

Publication Number Publication Date
DE102009060265A1 true DE102009060265A1 (de) 2011-02-03

Family

ID=41716941

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009060265A Ceased DE102009060265A1 (de) 2008-12-31 2009-12-23 Effiziente Verwendung einer Remapping(Neuzuordnung)-Engine

Country Status (5)

Country Link
US (1) US20100169673A1 (de)
JP (1) JP2010157234A (de)
CN (1) CN101794238B (de)
DE (1) DE102009060265A1 (de)
GB (1) GB2466711A (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5320140B2 (ja) * 2009-04-14 2013-10-23 株式会社日立製作所 計算機システム、割込み中継回路及び割込み中継方法
US8285915B2 (en) * 2010-01-13 2012-10-09 International Business Machines Corporation Relocating page tables and data amongst memory modules in a virtualized environment
US8478845B2 (en) * 2010-08-16 2013-07-02 International Business Machines Corporation End-to-end provisioning of storage clouds
KR101867960B1 (ko) * 2012-01-05 2018-06-18 삼성전자주식회사 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법
WO2013162523A1 (en) * 2012-04-24 2013-10-31 Intel Corporation Dynamic interrupt reconfiguration for effective power management
US10303618B2 (en) * 2012-09-25 2019-05-28 International Business Machines Corporation Power savings via dynamic page type selection
US8966132B2 (en) * 2012-11-16 2015-02-24 International Business Machines Corporation Determining a mapping mode for a DMA data transfer
US8984179B1 (en) 2013-11-15 2015-03-17 International Business Machines Corporation Determining a direct memory access data transfer mode
US20180039518A1 (en) * 2016-08-02 2018-02-08 Knuedge Incorporated Arbitrating access to a resource that is shared by multiple processors
FR3070514B1 (fr) * 2017-08-30 2019-09-13 Commissariat A L'energie Atomique Et Aux Energies Alternatives Controleur d'acces direct en memoire, dispositif et procede de reception, stockage et traitement de donnees correspondants
CN109783196B (zh) * 2019-01-17 2021-03-12 新华三信息安全技术有限公司 一种虚拟机的迁移方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061549A1 (en) * 2005-09-15 2007-03-15 Kaniyur Narayanan G Method and an apparatus to track address translation in I/O virtualization
US20080134192A1 (en) * 2002-02-21 2008-06-05 Jack Allen Alford Apparatus and method of dynamically repartitioning a computer system in response to partition workloads

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
JP2774862B2 (ja) * 1990-07-16 1998-07-09 株式会社日立製作所 Dma制御装置および情報処理装置
JPH05216842A (ja) * 1992-02-05 1993-08-27 Mitsubishi Electric Corp 資源管理装置
EP1484685A4 (de) * 2002-03-07 2008-04-02 Fujitsu Ltd Speicherungsvirtualisierungssystem umsetzungsverwaltungsvorrichtung und speicherungs-virtualisierungssystem umsetzungsverwaltungsverfahren
JP2005293427A (ja) * 2004-04-02 2005-10-20 Matsushita Electric Ind Co Ltd データ転送処理装置及びデータ転送処理方法
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US8843727B2 (en) * 2004-09-30 2014-09-23 Intel Corporation Performance enhancement of address translation using translation tables covering large address spaces
JP2006113827A (ja) * 2004-10-15 2006-04-27 Hitachi Ltd Cpu余裕管理とトランザクション優先度による負荷分散方法
US20060288130A1 (en) * 2005-06-21 2006-12-21 Rajesh Madukkarumukumana Address window support for direct memory access translation
US20070067505A1 (en) * 2005-09-22 2007-03-22 Kaniyur Narayanan G Method and an apparatus to prevent over subscription and thrashing of translation lookaside buffer (TLB) entries in I/O virtualization hardware
US8001543B2 (en) * 2005-10-08 2011-08-16 International Business Machines Corporation Direct-memory access between input/output device and physical memory within virtual machine environment
US7613898B2 (en) * 2006-01-17 2009-11-03 Globalfoundries Inc. Virtualizing an IOMMU
US20080077767A1 (en) * 2006-09-27 2008-03-27 Khosravi Hormuzd M Method and apparatus for secure page swapping in virtual memory systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080134192A1 (en) * 2002-02-21 2008-06-05 Jack Allen Alford Apparatus and method of dynamically repartitioning a computer system in response to partition workloads
US20070061549A1 (en) * 2005-09-15 2007-03-15 Kaniyur Narayanan G Method and an apparatus to track address translation in I/O virtualization

Also Published As

Publication number Publication date
US20100169673A1 (en) 2010-07-01
GB2466711A (en) 2010-07-07
CN101794238B (zh) 2014-07-02
JP2010157234A (ja) 2010-07-15
GB0922600D0 (en) 2010-02-10
CN101794238A (zh) 2010-08-04

Similar Documents

Publication Publication Date Title
DE102009060265A1 (de) Effiziente Verwendung einer Remapping(Neuzuordnung)-Engine
DE112011102183B4 (de) Beschleuniger für die Migration virtueller Maschinen
DE112004001320B3 (de) Verfahren, System und Vorrichtung zur Verbesserung der Leistung von Mehrkernprozessoren
DE69233655T2 (de) Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren
DE102008035120B4 (de) Prozessorauswahl für einen Interrupt, die einen Prozessorcluster identifiziert
DE69735575T2 (de) Verfahren und Vorrichtung zur Unterbrechungsverteilung in einem skalierbaren symmetrischen Mehrprozessorsystem ohne die Busbreite oder das Busprotokoll zu verändern
DE10297166T5 (de) Mechanismus zur Interrupt-Abwicklung in Computersystemen, welche die gleichzeitige Ausführung mehrerer Threads unterstützen
DE102018213430A1 (de) Beschleuniger mit geringer Latenzzeit
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE112012005209T5 (de) Brückenfunktion zwischen Virtual Machine Monitor und Bare-Metal-Bootvorgang
DE112007002201T5 (de) Quality-of-Service-Implementierung für Plattformressourcen
DE102010001985A1 (de) Vorrichtung zum Schalten des Betriebs einer virtuellen Maschine zwischen mehreren Computern, die der gleichen Computerplattform zugeordnet sind, und entsprechende Schaltverfahren
DE112015007188T5 (de) Batch-Migration virtueller Maschinen während des aktiven Bertriebs
DE102010035603A1 (de) Bereitstellen von Hardwareunterstützung für gemeinsam benutzten virtuellen Speicher zwischen physischem Lokal- und Fernspeicher
DE112010005821T5 (de) Kontextwechsel
DE112010003554T5 (de) Symmetrische Direktmigration von Virtuellen Maschinen
DE112013006063T5 (de) Funktionsübernahme für einen Datenübertragungskanal in einem Netzwerk mit Hochleistungsdatenverarbeitung
JP4230551B2 (ja) 多重プロセッサを有するコンピュータ・システム
DE112010002425B4 (de) Delegieren einer Anfrageoperation an eine ander Einrichtung
DE2847216A1 (de) Datenverarbeitungssystem mit mehrprogrammbetrieb
DE102018209205A1 (de) Datenspeicher mit intelligentem Speicher oder Ladeverfahren und -vorrichtung
DE602005006338T2 (de) Vorrichtung und Verfahren zur Datenübertragungsverarbeitung
DE112004001887T5 (de) Optimierung der SMI-Handhabung und -Initialisierung
DE102016203808A1 (de) Verringern der Bevorrechtigung virtueller Maschinen in einer virtualisierten Umgebung
DE102020103521A1 (de) Minimieren der Nutzung von Hardware-Zählern bei getriggerten Operationen für kollektive Kommunikation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final