DE112013002995T5 - Echtzeitmessung von Virtualisierungs-E/A-Verarbeitungsverzögerungen - Google Patents

Echtzeitmessung von Virtualisierungs-E/A-Verarbeitungsverzögerungen Download PDF

Info

Publication number
DE112013002995T5
DE112013002995T5 DE201311002995 DE112013002995T DE112013002995T5 DE 112013002995 T5 DE112013002995 T5 DE 112013002995T5 DE 201311002995 DE201311002995 DE 201311002995 DE 112013002995 T DE112013002995 T DE 112013002995T DE 112013002995 T5 DE112013002995 T5 DE 112013002995T5
Authority
DE
Germany
Prior art keywords
instance
signal
processor
computer
service time
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.)
Granted
Application number
DE201311002995
Other languages
English (en)
Other versions
DE112013002995B4 (de
Inventor
c/o IBM Corp. Yudenfriend Harry
c/o IBM Corp. Oakes Kenneth James
c/o IBM Corp. Gassert Francis
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112013002995T5 publication Critical patent/DE112013002995T5/de
Application granted granted Critical
Publication of DE112013002995B4 publication Critical patent/DE112013002995B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Abstract

Ein Computersystem beinhaltet einen Speicher, der in eine Mehrzahl von logischen Partitionen (LPARs) aufgeteilt ist, wobei jede LPAR eine von einer Mehrzahl von Instanzen eines Betriebssystems (O/S) ausführt. Das System beinhaltet außerdem einen Prozessor, der so konfiguriert ist, dass er ein Hypervisor-Programm ausführt, um einen Betrieb der Mehrzahl von LPARs zu verwalten. Der Prozessor ermittelt eine Bezugs-E/A-Service-Zeit eines E/A-Vorgangs auf einem Server, misst eine tatsächliche E/A-Service-Zeit des Vorgangs und ermittelt eine Verzögerungszeit der Virtualisierung auf dem Server auf Grundlage der Bezugs-E/A-Service-Zeit und der tatsächlichen E/A-Service-Zeit.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf ein Messen der Verzögerung der Verarbeitung von E/A-Vorgängen, die durch Server-Virtualisierung verursacht wird, und im Besonderen auf ein Messen eines Zeitraums, der von einem Hypervisor in Anspruch genommen wird, um mehrere Instanzen eines Betriebssystems zu verwalten.
  • HINTERGRUND
  • Bei Computern, die mit virtuellen Maschinen arbeiten, teilt ein Hypervisor-Programm physische Ressourcen, darunter eine Zentraleinheit (central processing unit, CPU), Speicher, Speicherplatz und E/A-Einheiten, eines realen Computers in getrennte virtuelle Maschinen auf. Beispielsweise kann der Hypervisor einen vorgegebenen Zeitrahmen, in dem jede virtuelle Maschine auf die CPU zugreifen kann, und vorgegebene Abschnitte von Speicher oder Speicherplatz zuordnen, auf die durch die jeweiligen virtuellen Maschinen zugegriffen werden kann.
  • Wenn ein Interrupt auftritt, der auf eine bestimmte virtuelle Maschine abzielt, empfängt der Hypervisor den Interrupt und ermittelt, an welche virtuelle Maschine der Interrupt gerichtet ist. Wenn eine weitere virtuelle Maschine System-Ressourcen wie zum Beispiel die CPU verwendet, wird eine Verzögerung beim Verarbeiten des Interrupts durch die virtuelle Zielmaschine verursacht, bis der Hypervisor die CPU so steuert, dass sie beginnt, die virtuelle Zielmaschine auszuführen. Die virtuelle Zielmaschine kann dann eine oder mehrere Funktionen auf Grundlage des Empfangs des Interrupts durchführen.
  • Zu sonstigen Verzögerungen, die daraus resultieren, dass der Hypervisor mehrere virtuelle Maschinen verwaltet, zählen ein Emulationsaufwand, in dem Anweisungen und Vorgänge zum Zugreifen auf E/A-Einheiten durch den Hypervisor abgefangen werden, und Planungsverzögerungen aufgrund einer Übertragung und eines Empfangs von Paketen, an denen mehrere Hypervisor-Threads und virtuelle Maschinen beteiligt sind.
  • Daher besteht nach dem Stand der Technik ein Bedarf, das oben genannte Problem zu lösen.
  • KURZDARSTELLUNG
  • Beispielhafte Ausführungsformen beinhalten ein Verfahren zum Ermitteln einer Bezugs-E/A-Service-Zeit eines E/A-Vorgangs auf einem Server. Der Server kann einen Prozessor beinhalten, der einen Hypervisor ausführt, der so konfiguriert ist, dass er eine Mehrzahl von logischen Partitionen (LPARs) verwaltet, und jede LPAR kann eine von einer Mehrzahl von Instanzen eines Betriebssystems (operating system, O/S) ausführen. Das Verfahren kann des Weiteren ein Messen einer tatsächlichen E/A-Service-Zeit des E/A-Vorgangs durch den Prozessor und ein Ermitteln einer Verzögerungszeit der Virtualisierung auf dem Server durch den Prozessor auf Grundlage der Bezugs-E/A-Service-Zeit und der tatsächlichen E/A-Service-Zeit beinhalten.
  • Von einem ersten Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren zum Verwalten mehrerer Instanzen eines Betriebssystems bereit, das aufweist: Ermitteln einer Bezugs-E/A-Service-Zeit eines E/A-Vorgangs auf einem Server; Messen einer tatsächlichen E/A-Service-Zeit des E/A-Vorgangs mit einem Prozessor des Servers, der einen Hypervisor ausführt, der so konfiguriert ist, dass er eine Mehrzahl von logischen Partitionen (LPARs) verwaltet, wobei jede LPAR eine von einer Mehrzahl von Instanzen eines Betriebssystems (O/S) ausführt; und Ermitteln einer Verzögerungszeit einer Virtualisierung auf dem Server durch den Prozessor auf Grundlage der Bezugs-E/A-Service-Zeit und der tatsächlichen E/A-Service-Zeit.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computersystem zum Verwalten mehrerer Instanzen eines Betriebssystems bereit, das aufweist: einen Speicher, der in eine Mehrzahl von logischen Partitionen (LPARs) aufgeteilt ist, wobei jede LPAR so konfiguriert ist, dass sie eine von einer Mehrzahl von Instanzen eines Betriebssystems (O/S) ausführt; einen Prozessor, der so konfiguriert ist, dass er eine Bezugs-E/A-Service-Zeit eines E/A-Vorgangs auf einem Server ermittelt, eine tatsächliche E/A-Service-Zeit des E/A-Vorgangs misst und eine Verzögerungszeit der Virtualisierung auf dem Server auf Grundlage der Bezugs-E/A-Service-Zeit und der tatsächlichen E/A-Service-Zeit ermittelt.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Verwalten mehrerer Instanzen eines Betriebssystems bereit, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium aufweist, das durch eine Verarbeitungsschaltung gelesen werden kann und das Anweisungen zum Ausführen durch die Verarbeitungsschaltung zum Durchführen eines Verfahrens zum Durchführen der Schritte der Erfindung speichert.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem computerlesbaren Medium gespeichert ist und in den internen Speicher eines Digitalcomputers geladen werden kann, das Abschnitte eines Software-Codes aufweist, um die Schritte der Erfindung durchzuführen, wenn das Programm auf einem Computer ausgeführt wird.
  • Zusätzliche beispielhafte Ausführungsformen beinhalten ein Computerprogrammprodukt, das ein nichttransitorisches Speichermedium beinhaltet, das von einer Verarbeitungsschaltung eines Computers gelesen werden kann und das Anweisungen zur Ausführung durch die Verarbeitungsschaltung zum Durchführen eines Verfahrens speichert. Das Verfahren kann ein Ermitteln einer Bezugs-E/A-Service-Zeit eines E/A-Vorgangs auf einem Server beinhalten. Der Server kann einen Prozessor beinhalten, der einen Hypervisor ausführt, der so konfiguriert ist, dass er eine Mehrzahl von logischen Partitionen (LPARs) verwaltet, und jede LPAR kann eine von einer Mehrzahl von Instanzen eines Betriebssystems (operating system, O/S) ausführen. Das Verfahren kann des Weiteren ein Messen einer tatsächlichen E/A-Service-Zeit des E/A-Vorgangs durch den Prozessor und ein Ermitteln einer Verzögerungszeit der Virtualisierung auf dem Server durch den Prozessor auf Grundlage der Bezugs-E/A-Service-Zeit und der tatsächlichen E/A-Service-Zeit beinhalten.
  • Weitere beispielhafte Ausführungsformen beinhalten ein Computersystem, das einen Speicher, der in eine Mehrzahl von logischen Partitionen (LPARs) aufgeteilt ist, wobei jede LPAR eine von einer Mehrzahl von Instanzen eines Betriebssystems (O/S) ausführt, und einen Prozessor beinhaltet. Der Prozessor ist so konfiguriert, dass er ein Hypervisor-Programm ausführt, um einen Betrieb der Mehrzahl von LPARs zu verwalten. Der Prozessor kann eine Bezugs-E/A-Service-Zeit eines E/A-Vorgangs auf einem Server ermitteln und eine tatsächliche E/A-Service-Zeit des E/A-Vorgangs messen. Der Prozessor kann des Weiteren eine Verzögerungszeit einer Virtualisierung auf dem Server auf Grundlage der Bezugs-E/A-Service-Zeit und der tatsächlichen E/A-Service-Zeit ermitteln.
  • Zusätzliche Merkmale und Vorteile werden durch die Techniken der vorliegenden Erfindung umgesetzt. Sonstige Ausführungsformen und Aspekte der Erfindung werden hierin ausführlich beschrieben und werden als Teil der beanspruchten Erfindung betrachtet. Zum besseren Verständnis der Erfindung mit den Vorteilen und Merkmalen sei auf die Beschreibung und auf die Zeichnungen verwiesen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie sie in den folgenden Figuren veranschaulicht werden:
  • 1 veranschaulicht ein virtuelles Maschinensystem gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 2 veranschaulicht einen Unterkanal-Messblock gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 3 veranschaulicht ein Blockschaubild eines Verfahrens gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 4 veranschaulicht ein Computersystem gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung; und
  • 5 veranschaulicht ein computerlesbares Medium gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Bei beispielhaften Ausführungsformen wird eine Verzögerung, die durch einen Hypervisor verursacht wird, der mehrere virtuelle Maschinen oder logische Partitionen (LPARs) verwaltet, in Echtzeit berechnet, indem eine verstrichene Zeit von einer Erzeugung eines E/A-Interrupts durch einen Unterkanal und einem Zeitpunkt berechnet wird, an dem das Zielbetriebssystem (O/S) durch den Hypervisor zugeteilt wird, und ein Signal erzeugt wird, dass der E/A-Interrupt empfangen und verarbeitet worden ist.
  • 1 veranschaulicht ein Blockschaubild eines virtuellen Maschinensystems 100 gemäß einer Ausführungsform der vorliegenden Offenbarung. Das System 100 beinhaltet eine oder mehrere reale CPUs 111 und einen realen Host-Speicher 112. Abhängig von den Konstruktionsanforderungen des Systems 100 können die eine oder mehreren realen CPUs 111 jeweils einem getrennten Prozessor entsprechen, oder jede CPU 111 kann einer Mehrzahl von Prozessoren, Verarbeitungseinheiten oder Verarbeitungskernen entsprechen. Das System 100 beinhaltet des Weiteren ein E/A-Teilsystem 120 und eine oder mehrere virtuelle Maschinen 130, 140 und 150. Die virtuellen Maschinen 130, 140 und 150 können auch als logische Partitionen (LPARs) 130, 140 und 150 bezeichnet werden. Das System 100 ist mit einer oder mehreren externen Speichereinheiten 160 verbunden.
  • Jede virtuelle Maschine 130 kann eine Instanz oder ein Abbild eines Betriebssystems (O/S) 131, 141 und 151 (auch als Gast-O/S 131, 141 und 151 bezeichnet) beinhalten. Jede virtuelle Maschine kann des Weiteren eine oder mehrere Anwendungen 132, 142, 152, Zwischenanwendungen 133, 143, 153 und virtuelle private Speicher 134, 144 und 154 beinhalten. Für Beschreibungszwecke wird die virtuelle Maschine 130 als Beispiel beschrieben, wenngleich es sich versteht, dass die Beschreibung der virtuellen Maschine 130 für jede der virtuellen Maschinen 130, 140 und 150 gilt.
  • Bei dem Gast-O/S 131 kann es sich um eine Instanz oder ein Abbild eines O/S handeln, das in dem realen Host-Speicher 112 gespeichert ist. In ähnlicher Weise kann es sich bei der Anwendung 132 und der Zwischenanwendung 133 um Instanzen oder Abbilder von Anwendungen und Zwischenanwendungen handeln, die in dem realen Host-Speicher 112 gespeichert sind. Bei dem virtuellen privaten Speicher 134 kann es sich um Speicheradressen innerhalb des realen Host-Speichers 112 handeln, die als der virtuellen Maschine 130 entsprechend bezeichnet sind. Im Betrieb arbeitet jede virtuelle Maschine 130, 140 und 150 getrennt von jeder anderen virtuellen Maschine 130, 140 und 150, wobei sie getrennte Instanzen von Betriebssystemen, Anwendungen und Zwischenanwendungen ausführt und Daten in einem getrennten Speicher oder in Abschnitten des realen Host-Speichers 112 speichert, die als den jeweiligen virtuellen Maschinen 130, 140 und 150 entsprechend bezeichnet sind.
  • Das E/A-Teilsystem 120 beinhaltet einen Hypervisor 121 oder eine LPAR-Zuteilerroutine 121 zum Steuern des Betriebs der virtuellen Maschinen 130, 140 und 150. Der Hypervisor 121 kann einen virtuellen privaten Speicher 122 aufweisen, der dem Hypervisor 121 zugeordnet ist. Bei dem Hypervisor 121 kann es sich um ein Programm handeln, das in dem realen Host-Speicher 112 gespeichert ist und durch die eine oder mehreren CPUs 111 ausgeführt wird, und der virtuelle private Speicher 122 kann ein Segment des realen Host-Speichers 112 sein, der dem Hypervisor 121 zugeordnet ist.
  • Der Hypervisor 121 verwaltet die virtuellen Maschinen 130, 140 und 150, indem er steuert, welche virtuelle Maschine 130, 140 und 150 zum jeweiligen Zeitpunkt auf die eine oder mehreren realen CPUs 111 zugreifen darf, und indem er ermittelt, welche übertragenen und empfangenen Signale, Anweisungen oder sonstigen Daten welcher virtuellen Maschine 130, 140 und 150 entsprechen. Wenn zum Beispiel ein Signal aus einem Unterkanal 113 für die virtuelle Maschine 130 empfangen wird, während die virtuelle Maschine 150 die eine oder mehreren CPUs 111 nutzt, speichert der Hypervisor 121 das Signal, bis die virtuelle Maschine 130 ausgeführt wird, und stellt der virtuellen Maschine 130 das Signal bereit.
  • Das E/A-Teilsystem 120 beinhaltet des Weiteren einen oder mehrere Unterkanäle 113. Die Unterkanäle 113 können Datenübertragungsanschlüssen, die Schaltungen unterstützen, und einem Speicher zum Austauschen von Daten zwischen dem System 100 und externen Einheiten wie zum Beispiel der externen Speichereinheit 160 entsprechen. Wenngleich ein Unterkanal 113 und eine externe Speichereinheit 160 in 1 veranschaulicht werden, versteht es sich, dass Ausführungsformen der vorliegenden Offenbarung eine beliebige Anzahl von Unterkanälen 113 umfassen, die mit einer beliebigen Anzahl von externen Speichereinheiten 160 verbunden sind. Im Besonderen können spezifische Unterkanäle 113 spezifischen externen Speichereinheiten 160 entsprechen, sodass ein Betriebssystem auf bestimmte Unterkanäle 113 zugreifen muss, um auf entsprechende externe Speichereinheiten 160 zuzugreifen.
  • Bei Ausführungsformen der vorliegenden Offenbarung verfolgt der Hypervisor 121 in Echtzeit eine Zeit, die erforderlich ist, um die virtuellen Maschinen 130, 140 und 150 zu verwalten. Das Verwalten der virtuellen Maschinen 130, 140 und 150 kann ein Speichern von Signalen, Befehlen, Interrupts oder sonstigen Daten beinhalten, die für eine bestimmte virtuelle Maschine bestimmt sind, bis diese bestimmte virtuelle Maschine ausgeführt wird. Das Verwalten der virtuellen Maschinen kann außerdem ein Ermitteln beinhalten, ob der Betrieb einer virtuellen Maschine beendet werden sollte, um einer weiteren virtuellen Maschine Zugriff zu gewähren. Wenn zum Beispiel die drei virtuellen Maschinen 130, 140 und 150 sämtlich die CPUs 111 nutzen, kann der Hypervisor 121 die virtuellen Maschinen 130, 140 und 150 so steuern, dass jede virtuelle Maschine 130, 140 und 150 während eines Drittels der Zeit auf die CPUs zugreift. Der Hypervisor 121 kann jedoch auf Grundlage eines empfangenen oder verarbeiteten Befehls-, Signal- oder Datentyps, eines Typs eines Vorgangs, der durch eine virtuelle Maschine ausgeführt wird oder einer beliebigen sonstigen Überlegung ermitteln, ob bei der Aufteilung der Zeit unter den virtuellen Maschinen 130, 140 und 150 eine Ausnahme gemacht werden sollte, um einer virtuellen Maschine zu ermöglichen, einen Teil der Zeit der anderen zu nutzen.
  • Im Betrieb kann eine Anwendung 132 oder eine Zwischenanwendung 133, die auf der einen oder den mehreren CPUs 111 arbeiten, Zugriff zu einer Einheit wie zum Beispiel der externen Speichereinheit 160 anfordern. Der Zugriff kann ein Abrufen von Daten in einem Ladevorgang oder ein Senden von Daten in einem Speichervorgang beinhalten. Wenngleich die externe Speichereinheit 160 als Beispiel für eine Einheit bereitgestellt wird, auf die durch das System 100 zugegriffen werden kann, versteht es sich, dass durch das System 100 auf eine beliebige Einheit wie zum Beispiel eine Medieneinheit, Anzeigeeinheit, Speichereinheit, Netzwerkeinheit oder eine beliebige sonstige Einheit zugegriffen werden kann. Das Gast-O/S 131 erzeugt ein Zugriffsanforderungssignal auf Grundlage der Anforderung von der Anwendung 132 oder der Zwischenanwendung 133. Bei einer Ausführungsform handelt es sich bei dem Zugriffsanforderungssignal um ein Unterkanalstart(Start SubChannel, SSCH)-Signal.
  • Das Gast-O/S 131 überträgt das SSCH-Signal an das E/A-Teilsystem 120. Das E/A-Teilsystem 120 kann ermitteln, welcher Unterkanal von einer Mehrzahl von Unterkanälen der Einheit 160 entspricht, bei der es sich um das gewünschte Ziel der SSCH-Anforderung handelt. Das E/A-Teilsystem 120 überträgt das SSCH mit der Adresse der gewünschten Einheit 160 an den Unterkanal 113, der einen oder mehrere Switches oder sonstige Einheiten so steuert, dass eine Datenübertragung zwischen dem Unterkanal 113 und der externen Speichereinheit 160 ermöglicht wird. Bei einem Ladevorgang können Daten von einer spezifizierten Adresse der externen Speichereinheit 160 dem Unterkanal 113 bereitgestellt werden. Bei einem Speichervorgang können Daten aus dem Unterkanal 113 der externen Speichereinheit 160 bereitgestellt werden.
  • Nachdem auf die externe Speichereinheit 160 zugegriffen worden ist und gegebenenfalls Daten in dem realen Host-Speicher 112 gespeichert worden sind, erzeugt der Unterkanal 113 einen E/A-Interrupt und stellt den E/A-Interrupt dem Hypervisor 121 bereit, wodurch angegeben wird, dass ein Vorgang abgeschlossen worden ist. Der Hypervisor 121 kann ein Gast-O/S oder eine Instanz aus den virtuellen Maschinen 130, 140 und 150 ermitteln, für die der E/A-Interrupt bestimmt ist. Beispielsweise kann der Hypervisor 121 ermitteln, dass der E/A-Interrupt dem Gast-O/S 131 bereitgestellt werden soll.
  • Der Hypervisor 121 kann den E/A-Interrupt in einem Cachespeicher oder Puffer speichern. Der Cachespeicher oder Puffer kann eine Mehrzahl von E/A-Interrupts beinhalten, die verschiedenen Gastbetriebssystemen 131, 141 und 151 entsprechen, und der Hypervisor 121 kann die E/A-Interrupts asynchron und unsortiert zuteilen. Der Hypervisor 121 kann ermitteln, ob ein Vorgang eines zurzeit ausgeführten Gast-O/S angehalten werden sollte, um einen E/A-Interrupt für ein weiteres Gast-O/S bereitzustellen, oder ob dem zurzeit ausgeführten Gast-O/S gestattet werden sollte, die Ausführung abzuschließen.
  • Wenn das Zielgast-O/S, oder in dem vorliegenden Beispiel das Gast-O/S 131, ausgeführt wird, kann der Hypervisor 121 den E/A-Interrupt für das Gast-O/S 131 bereitstellen. Das Gast-O/S 131 kann dann eine Vorgangsabschlussroutine durchführen, um den Status des Unterkanals 113 zu ermitteln und, ob auf die Einheit zugegriffen worden ist. Bei Ausführungsformen der vorliegenden Offenbarung kann es sich bei der Vorgangsabschlussroutine um einen Unterkanaltest(test subchannel, TSCH)-Befehl handeln. Wenn festgestellt wird, dass erfolgreich auf die Einheit 160 zugegriffen worden ist, beispielsweise durch einen Lade- oder Speichervorgang, kann das Gast-O/S 131 die Anwendung 132 oder die Zwischenanwendung 133 darüber in Kenntnis setzen, dass Daten verfügbar oder gespeichert worden sind.
  • Bei Ausführungsformen der vorliegenden Offenbarung verfolgt der Hypervisor 121 eine Zeit zwischen einem Empfang des E/A-Interrupts von dem Unterkanal 113 und einem Zeitpunkt, an dem das Gast-O/S 131 das TSCH-Signal erzeugt, um den Status des Unterkanals 113 abzurufen. Dementsprechend ist das E/A-Teilsystem 120 in der Lage, eine Verzögerung beim Ausführen von Anweisungen von den virtuellen Maschinen 130, 140 und 150 aufgrund des Ausführens des Hypervisors 121 und des Ausführens der mehreren virtuellen Maschinen 130, 140 und 150 anstelle nur eines Betriebssystems zu verfolgen. Die verfolgte Verzögerung entspricht der Zeit, die der Hypervisor 121 benötigt, um einen E/A-Interrupt zu verwalten, der an eines der Gastbetriebssysteme 131, 141 oder 151 gerichtet ist.
  • Bei einigen Ausführungsformen können die realen CPUs 111 oder das E/A-Teilsystem 120, nachdem eine Verzögerung aufgrund von Virtualisierung berechnet worden ist, eine Kapazitätsplanung durchführen, um Vorgänge des Hypervisors 121, der Gastbetriebssysteme 131, 141 und 151 oder der externen Speichereinheiten 160 zu verwalten. Darüber hinaus können die realen CPUs oder das E/A-Teilsystem 120 eine Leistungsengpassanalyse bereitstellen, indem sie Vorgänge, die Betriebssysteme 131, 141 oder 151, die Anwendungen 132, 142 oder 152 oder die Zwischenanwendungen 133, 143 oder 153 identifizieren, die am meisten zu einer erkannten Verzögerung beitragen.
  • 2 veranschaulicht die Speicherung einer gemessenen verstrichenen Zeit gemäß einer Ausführungsform der Offenbarung. Der Unterkanal 213 kann dem Unterkanal 113 von 1 entsprechen, und es kann sich um einen von einer Mehrzahl von Unterkanälen handeln, die jeweils so mit einer oder mehreren externen Einheiten verbunden sind, dass sie eine Datenübertragung zwischen dem System 100 und den externen Einheiten bereitstellen. Die Unterkanäle 213 können einen Messblock 214 beinhalten, der Felder zum Speichern von Vorgangsdaten des Unterkanals 213 beinhaltet. Zu Beispielmesswerten können eine Unterkanalstart-Anzahl, Verbindungs- und Unterbrechungsdauer, eine Erstbefehlsantwort (Initial Command Response, ICR)-Dauer, ein beliebiger sonstiger gewünschter Messwert (als „Messwert X” dargestellt) und eine Interrupt-Verzögerungszeit zählen. Bei Ausführungsformen der vorliegenden Offenbarung entspricht die Interrupt-Verzögerungszeit einem Zeitraum zwischen einem Zeitpunkt, an dem ein E/A-Interrupt durch den Unterkanal 213 erzeugt wird, um anzugeben, dass auf eine externe Einheit zugegriffen worden ist, und einem Zeitpunkt, an dem ein Signal wie zum Beispiel ein Unterkanaltest(TSCH)-Signal von einem O/S in Reaktion auf den E/A-Interrupt empfangen wird. Die Interrupt-Verzögerungszeit kann auf diese Weise einen Messwert einer Zeitverzögerung bereitstellen, die durch den Hypervisor 121 erzeugt wird, der eine Mehrzahl von Instanzen eines O/S 131, 141 und 151 ausführt.
  • 3 veranschaulicht ein Verfahren gemäß einer Ausführungsform der vorliegenden Offenbarung. In Block 301 kann eine Anwendung oder eine Zwischenanwendung Zugriff auf eine Einheit anfordern. Die Anwendung oder die Zwischenanwendung kann Teil einer virtuellen Maschine sein, die auf einer Instanz eines O/S ausgeführt wird, das der virtuellen Maschine zugehörig ist. Die virtuelle Maschine kann eine von einer Mehrzahl von virtuellen Maschinen sein, die gleichzeitig auf einem Computersystem ausgeführt werden. Die Mehrzahl von virtuellen Maschinen kann eine oder mehrere CPUs gemeinsam nutzen, und ein Hypervisor kann den Zugriff der Mehrzahl von virtuellen Maschinen auf die eine oder mehreren CPUs und den realen Speicher verwalten. Bei der Anforderung zum Zugreifen auf die Einheit kann es sich um einen Ladevorgang, einen Speichervorgang oder einen beliebigen sonstigen gewünschten Vorgang handeln.
  • In Block 302 kann das O/S, das der Anwendung oder der Zwischenanwendung zugehörig ist, eine Anforderung zum Zugreifen auf die Einheit erzeugen. Die Anforderung kann eine Unterkanalstart(SSCH)-Anforderung sein und von dem O/S für ein E/A-Teilsystem bereitgestellt werden, das den Hypervisor beinhaltet. Die SSCH-Anforderung gibt einen Unterkanal an, der der Zieleinheit zugehörig ist.
  • In Block 303 ermittelt das E/A-Teilsystem die Einheitenposition und wählt die Route zu der spezifischen Einheit aus, die dem Zielunterkanal zugehörig ist. Die Anforderung wird dann aus der entsprechenden Schnittstelle so weitergegeben, dass sie die Zieleinheit erreicht. Diese Route kann einen Pfad durch Switches und ein Netzwerk beinhalten, um die Zieleinheit zu erreichen. In Block 304 ist auf die Einheit zugegriffen worden, und es ist eine Verbindung zu der Einheit hergestellt worden.
  • In Block 305 wird der angeforderte Vorgang durchgeführt. Wenn es sich bei dem angeforderten Vorgang zum Beispiel um einen Lesevorgang handelt, verwendet das E/A-Teilsystem Zeiger und Steuerelemente in dem Unterkanal, um die Zieldaten von der Zieleinheit abzurufen, und speichert die Daten in dem Host-Speicher. Wenn es sich bei dem angeforderten Vorgang um einen Schreibvorgang handelt, verwendet das E/A-Teilsystem Zeiger und Steuerelemente in dem Unterkanal, um die Zieldaten von dem Host-Speicher für die Zielposition der Einheit bereitzustellen.
  • In Block 306 erzeugt das E/A-Teilsystem einen E/A-Interrupt, nachdem der Vorgang für die Einheit abgeschlossen ist. Der E/A-Interrupt kann beispielsweise dem Hypervisor bereitgestellt werden. Bei einer Ausführungsform wird ein Startzeitstempel in Block 307 aufgezeichnet, wenn der E/A-Interrupt durch das E/A-Teilsystem erzeugt wird. Bei einer weiteren Ausführungsform kann eine Uhr oder ein Zähler gestartet werden.
  • In Block 308 verwaltet der Hypervisor den E/A-Interrupt wie auch jegliche zusätzliche E/A-Interrupts, Befehle oder Anweisungen von den mehreren Instanzen des O/S, die auf dem Computersystem ausgeführt werden. Der Hypervisor kann ermitteln, welches O/S dem erzeugten E/A-Interrupt entspricht, und kann auf Grundlage eines vorgegebenen Intervalls, in dem jede Instanz des O/S über einen vorgegebenen Zeitraum ausgeführt wird, ermitteln, ob ein Ausführen einer weiteren Instanz des O/S beendet werden sollte, um zu ermöglichen, dass der E/A-Interrupt übermittelt wird, oder ob mit der Übermittlung des E/A-Interrupts gewartet werden sollte, bis die entsprechende Instanz des O/S ausgeführt wird.
  • In Block 309 kann der Hypervisor den E/A-Interrupt der entsprechenden Instanz des O/S bereitstellen. In Block 310 kann die Instanz des O/S ein Signal (wie zum Beispiel ein Unterkanaltest(TSCH)-Signal) erzeugen, um den Status des Unterkanals zu ermitteln und, ob auf die Einheit zugegriffen worden ist. Bei Ausführungsformen der vorliegenden Offenbarung kann ein Endzeitstempel in Block 311 zu einem Zeitpunkt aufgezeichnet werden, an dem das TSCH-Signal durch das E/A-Teilsystem, den Hypervisor oder den Unterkanal empfangen wird, und eine Differenz zwischen der Endzeit und der Startzeit kann in Block 312 berechnet werden, um die Zuteilungszeit der logischen Partition (LPAR) zu berechnen, die auch als Interrupt-Verzögerungszeit oder Hypervisor-Verzögerungszeit bezeichnet werden kann. Bei einer weiteren Ausführungsform kann eine Zeit angehalten werden, und die verstrichene Zeit auf dem Zeitgeber kann die LPAR-Zuteilungszeit bereitstellen.
  • Dementsprechend ist ein System, auf dem mehrere virtuelle Maschinen ausgeführt werden, die jeweils eine Instanz eines O/S aufweisen, in der Lage, auf Grundlage einer Zeit, die ein Hypervisor zum Verwalten von E/A-Interrupts benötigt, die Zeit zu verfolgen, die durch Ausführen der virtuellen Maschinen zu der Ausführung von Anweisungen hinzugefügt werden kann. Das System und das Verfahren stellen Echtzeitdaten bezüglich jeglicher Verzögerungen bereit, die durch den Hypervisor erzeugt werden.
  • 3 stellt lediglich ein Beispiel für ein Verfahren gemäß Ausführungsformen der vorliegenden Offenbarung bereit. Es sind viele Änderungen an diesem Schaubild oder den darin beschriebenen Schritten (oder Vorgängen) möglich, ohne vom Gedanken der Erfindung abzuweichen. Die Schritte können beispielsweise in einer abweichenden Reihenfolge durchgeführt werden, oder es können Schritte hinzugefügt, gelöscht oder modifiziert werden. Alle diese Änderungen werden als Teil der beanspruchten Erfindung betrachtet.
  • 4 veranschaulicht ein Blockschaubild eines virtuellen Maschinensystems 400. Die hierin beschriebenen Verfahren können in Hardware, Software (z. B. Firmware) oder einer Kombination davon implementiert werden. Bei einer beispielhaften Ausführungsform werden die hierin beschriebenen Verfahren in Hardware als Teil des Mikroprozessors eines digitalen Spezial- oder Universalcomputers wie etwa eines Personal-Computers, eines Arbeitsplatzrechners, eines Minicomputers oder eines Großrechners implementiert. Das System 400 kann daher einen Universalrechner oder Großrechner 401 beinhalten, der in der Lage ist, mehrere Instanzen eines O/S gleichzeitig auszuführen.
  • Bei einer beispielhaften Ausführungsform beinhaltet der Computer 401 im Hinblick auf die Hardware-Architektur, wie in 4 dargestellt, einen oder mehrere Prozessoren 405, einen Speicher 410, der mit einer Speichersteuereinheit 415 verbunden ist, eine oder mehrere Eingabe- und/oder Ausgabe(E/A)-Einheiten 440, 445 (oder Peripheriegeräte), die zur Datenübertragung über eine lokale Eingabe-/Ausgabe-Steuereinheit 435 verbunden sind. Bei der Eingabe-/Ausgabe-Steuereinheit 435 kann es sich zum Beispiel um einen oder mehrere Busse oder sonstige drahtgebundene oder drahtlose Verbindungen nach dem Stand der Technik handeln, ohne auf diese beschränkt zu sein. Die Eingabe-/Ausgabe-Steuereinheit 435 kann zusätzliche Elemente wie zum Beispiel Steuereinheiten, Puffer (Cachespeicher), Treiber, Zwischenverstärker und Empfänger aufweisen, die der Einfachheit halber weggelassen werden, um Datenübertragungen zu ermöglichen. Des Weiteren kann die lokale Schnittstelle Adress-, Steuer- und/oder Datenverbindungen beinhalten, um entsprechende Datenübertragungen zwischen den oben genannten Komponenten zu ermöglichen. Die Eingabe-/Ausgabe-Steuereinheit 435 kann eine Mehrzahl von Unterkanälen beinhalten, die so gestaltet sind, dass sie auf die Ausgabeeinheiten 440 und 445 zugreifen. Die Unterkanäle können Lichtwellenleiter-Datenübertragungsanschlüsse beinhalten.
  • Bei dem Prozessor 405 handelt es sich um eine Hardware-Einheit zum Ausführen von Software, im Besonderen derjenigen, die in einem Speicher 420 wie zum Beispiel einem Cachespeicher oder dem Speicher 410 gespeichert ist. Der Prozessor 405 kann ein beliebiger nach Kundenwünschen angefertigter oder handelsüblicher Prozessor, eine Zentraleinheit (CPU), ein Hilfsprozessor von mehreren Prozessoren, die dem Computer 401 zugehörig sind, ein Mikroprozessor auf Grundlage eines Halbleiters (in Form eines Mikro-Chips oder eines Chip-Satzes), ein Makroprozessor oder allgemein eine beliebige Einheit zum Ausführen von Anweisungen sein.
  • Der Speicher 410 kann ein beliebiges flüchtiges Speicherelement (z. B. einen Direktzugriffsspeicher (random access memory, RAM, wie etwa einen DRAM, SRAM, SDRAM usw.)) und nichtflüchtige Speicherelemente (z. B. einen ROM, einen löschbaren, programmierbaren Festwertspeicher (erasable programmable read only memory, EPROM), einen elektrisch löschbaren, programmierbaren Festwertspeicher (electronically erasable programmable read only memory, EEPROM), einen programmierbaren Festwertspeicher (programmable read only memory, PROM), ein Band, eine CD-ROM (compact disc read only memory, Kompakt-Disk-Festwertspeicher), eine Platte, eine Diskette, ein Steckmodul, eine Kassette oder dergleichen usw.) bzw. eine Kombination von diesen beinhalten. Außerdem kann der Speicher 410 elektronische, magnetische, optische und/oder andere Arten von Speichermedien umfassen. Es ist zu beachten, dass der Speicher 410 eine verteilte Architektur aufweisen kann, wobei sich verschiedene Komponenten entfernt voneinander befinden, auf die jedoch durch den Prozessor 405 zugegriffen werden kann.
  • Die Anweisungen in dem Speicher 410 können ein oder mehrere getrennte Programme beinhalten, von denen jedes eine geordnete Auflistung ausführbarer Anweisungen zum Implementieren logischer Funktionen aufweist. In dem Beispiel von 4 die Anweisungen in dem Speicher 410 ein geeignetes Betriebssystem (OS) 411. Das Betriebssystem 411 steuert im Wesentlichen die Ausführung anderer Computerprogramme und stellt Zeitplanung, Eingabe-Ausgabe-Steuerung, Datei- und Datenverwaltung, Speicherverwaltung und Datenübertragungssteuerung sowie damit in Zusammenhang stehende Dienste bereit.
  • Der Speicher 410 kann mehrere logische Partitionen (LPARs) 412 beinhalten, die jeweils eine Instanz eines Betriebssystems ausführen. Die LPARs 412 können durch einen Hypervisor verwaltet werden, bei dem es sich um ein Programm handeln kann, das in dem Speicher 410 gespeichert und durch den Prozessor 405 ausgeführt wird.
  • Bei einer beispielhaften Ausführungsform können eine herkömmliche Tastatur 450 und eine Maus 455 mit der Eingabe-/Ausgabe-Steuereinheit 435 verbunden werden. Zu sonstigen Ausgabeeinheiten wie etwa den E/A-Einheiten 440, 445 können Eingabeeinheiten, etwa ein Drucker, ein Scanner, ein Mikrophon und dergleichen zählen, ohne auf diese beschränkt zu sein. Schließlich können die E-/A-Einheiten 440, 445 des Weiteren Einheiten, die Daten zwischen Ein- und Ausgängen übertragen, wie zum Beispiel eine Netzwerk-Schnittstellenkarte (network interface card, NIC) oder einen Modulator/Demodulator (zum Zugreifen auf andere Dateien, Einheiten, Systeme oder ein Netzwerk), einen Hochfrequenz-(HF-) oder einen anderen Sender-Empfänger, eine Telefonschnittstelle, eine Brücke, einen Router und dergleichen beinhalten, ohne auf diese beschränkt zu sein. Das System 400 kann des Weiteren eine Anzeigesteuereinheit 425 beinhalten, die mit einer Anzeige 430 verbunden ist. Bei einer beispielhaften Ausführungsform kann das System 400 des Weiteren eine Netzwerk-Schnittstelle 460 zum Verbinden mit einem Netzwerk 465 beinhalten. Bei dem Netzwerk 465 kann es sich um ein Netzwerk auf Grundlage von IP zur Datenübertragung zwischen dem Computer 401 und einem beliebigen externen Server, Client und dergleichen über eine Breitbandverbindung handeln. Das Netzwerk 465 überträgt und empfängt Daten zwischen dem Computer 401 und externen Systemen. Bei einer beispielhaften Ausführungsform kann es sich bei dem Netzwerk 465 um ein verwaltetes IP-Netzwerk handeln, das durch einen Diensteanbieter verwaltet wird. Das Netzwerk 465 kann drahtlos implementiert werden, z. B. mithilfe von drahtlosen Protokollen und Technologien wie z. B. WiFi, WiMax usw. Bei dem Netzwerk 465 kann es sich auch um ein Netzwerk mit Paketvermittlung wie zum Beispiel um ein lokales Netzwerk, ein Weitverkehrs-Netzwerk, ein Hochgeschwindigkeits-Netzwerk, ein Internet-Netzwerk oder einen anderen, ähnlichen Typ von Netzwerkumgebung handeln. Das Netzwerk 465 kann ein festes drahtloses Netzwerk, ein drahtloses lokales Netzwerk (local area network, LAN), ein drahtloses Weitverkehrs-Netzwerk (wide area network, WAN), ein persönliches Netzwerk (personal area network, PAN), ein virtuelles privates Netzwerk (VPN), ein Intranet oder ein sonstiges geeignetes Netzwerksystem sein, und es beinhaltet Geräte zum Empfangen und Übertragen von Signalen.
  • Wenn es sich bei dem Computer 401 um einen PC, einen Arbeitsplatzrechner, eine intelligente Einheit oder dergleichen handelt, können die Anweisungen in dem Speicher 410 des Weiteren ein grundlegendes Eingabe-/Ausgabe-System (basic input output system, BIOS) beinhalten (das der Einfachheit halber weggelassen wird). Das BIOS ist ein Satz von wesentlichen Software-Routinen, die Hardware beim Starten initialisieren und testen, das OS 411 starten und die Übertragung von Daten zwischen den Hardware-Einheiten unterstützen. Das BIOS ist im ROM gespeichert, sodass das BIOS ausgeführt werden kann, wenn der Computer 401 aktiviert wird.
  • Wenn der Computer 401 in Betrieb ist, ist der Prozessor 405 so konfiguriert, dass er in dem Speicher 410 gespeicherte Anweisungen ausführt, Daten in den und aus dem Speicher 410 überträgt und allgemein Vorgänge des Computers 401 den Anweisungen entsprechend steuert.
  • Bei einer beispielhaften Ausführungsform können die hierin beschriebenen Echtzeit-Berechnungsverfahren für Hypervisor-Verzögerungen mit einer beliebigen der folgenden Technologien, die in der Technik bestens bekannt sind, oder einer Kombination davon implementiert werden: mit einer oder mehreren diskreten logischen Schaltungen, die Logikgatter zum Implementieren von logischen Funktionen auf Datensignale hin aufweisen, einer anwendungsspezifischen integrierten Schaltung (application specific integrated circuit, ASIC), die geeignete Schaltungslogikgatter aufweist, einem oder mehreren programmierbaren Gate-Arrays (PGA), einem feldprogrammierbaren Gate-Array (FPGA) usw.
  • Wie oben beschrieben, können Ausführungsformen in Form von computerimplementierten Prozessen und Vorrichtungen zum Umsetzen dieser Prozesse verkörpert sein. Eine Ausführungsform kann ein Computerprogrammprodukt 500, wie in 5 dargestellt, auf einem computerlesbaren/-verwendbaren Medium 502 beinhalten, wobei Computerprogrammcodelogik 504, die Anweisungen enthält, in physischen Medien wie einem Herstellungsgegenstand verkörpert wird. Zu beispielhaften Herstellungsgegenständen für das computerlesbare/-verwendbare Medium 502 können Disketten, CD-ROMs, Festplatten, Universal-Serial-Bus(USB)-Flash-Laufwerke oder ein beliebiges anderes computerlesbares Speichermedium zählen, wobei der Computer, wenn die Computerprogrammcodelogik 504 in einen Computer geladen und durch diese ausgeführt wird, zu einer Vorrichtung zum Umsetzen der Erfindung wird. Ausführungsformen beinhalten die Computerprogrammcodelogik 504, unabhängig davon, ob sie zum Beispiel in einem Speichermedium gespeichert, in einen Computer geladen und/oder durch diesen ausgeführt oder über ein Übertragungsmedium wie zum Beispiel elektrische Verdrahtung oder Verkabelung, durch Lichtwellenleiter oder über elektromagnetische Strahlung übertragen wird, wobei der Computer, wenn die Computerprogrammcodelogik 504 in einen Computer geladen und durch diesen ausgeführt wird, zu einer Vorrichtung zum Umsetzen der Erfindung wird. Bei Implementierung auf einem Universalmikroprozessor konfigurieren Segmente der Computerprogrammcodelogik 504 den Mikroprozessor so, dass er spezifische Logikschaltungen erstellt.
  • Ausführungsformen der vorliegenden Offenbarung können durch eine beliebige geeignete Architektur implementiert werden. Beispielsweise wird die Architektur von IBM® z/Architecture® zum Implementieren der Ausführungsformen der Offenbarung verwendet. Eine Beschreibung der allgemeinen Vorgänge und Spezifikationen der z/Architecture werden in „IBM z/Architecture Principles of Operation”, Veröffentlichung Nr. SA22-7832-08, 9. Ausgabe, August 2010, näher beschrieben. IBM und z/Architecture sind eingetragene Marken von International Business Machines Corporation, Armonk, New York, USA.
  • Darüber hinaus können Ausführungsformen der vorliegenden Offenbarung durch ein beliebiges geeignetes System zur Nutzung von Unterkanälen und zum Messen von E/A-Eigenschaften implementiert werden. Beispielsweise wird die Messung von E/A-Eigenschaften bei einer Ausführungsform gemäß der Offenbarung der Anmeldung mit der Serien-Nr. 10/435 906 von Scott M. Carlson et al. umgesetzt, die sich auf EXTENDED INPUT/OUTPUT MEASUREMENT FACILITIES bezieht, deren Anmeldung als US-Patent Nr. 7 000 036 erteilt wurde.
  • Wie für einen Fachmann zu erkennen ist, können Aspekte der vorliegenden Offenbarung als System, Verfahren oder Computerprogrammprodukt verkörpert werden. Dementsprechend können Aspekte der vorliegenden Offenbarung eine reine Hardware-Ausführungsform, eine reine Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder eine Ausführungsform annehmen, in der Software- und Hardware-Aspekte kombiniert werden, die sämtlich hierin verallgemeinernd als „Schaltung”, „Modul” oder „System” bezeichnet werden können. Des Weiteren können Aspekte der vorliegenden Offenbarung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert wird, auf denen computerlesbarer Programmcode verkörpert ist.
  • Es kann eine beliebige Kombination eines oder mehrerer computerlesbarer Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine solche Vorrichtung oder Einheit oder um eine beliebige geeignete Kombination aus Obigen handeln, ohne auf diese beschränkt zu sein. Zu konkreteren Beispielen (einer nicht erschöpfenden Liste) des computerlesbaren Speichermediums würden folgende gehören: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein löschbarer, programmierbarer Festwertspeicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Festwertspeicher (CD-ROM), eine optische Speichereinheit, eine Magnetspeichereinheit oder eine beliebige geeignete Kombination der Obigen. Im Rahmen dieses Dokuments kann ein computerlesbares Speichermedium jedes physische Medium sein, das ein Programm zur Verwendung durch ein System, eine Vorrichtung oder Einheit zur Ausführung von Anweisungen bzw. in Verbindung mit diesen enthalten oder speichern kann.
  • Auf einem computerlesbaren Medium verkörperter Programmcode kann mithilfe eines beliebigen geeigneten Mediums übertragen werden, zum Beispiel über Funk, Kabel, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder über eine beliebige geeignete Kombination der Obigen, ohne auf diese beschränkt zu sein.
  • Computerprogrammcode zum Ausführen von Vorgängen für Aspekte der vorliegenden Offenbarung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, zum Beispiel in einer objektorientierten Programmiersprache wie etwa Java®, Smalltalk, C++ oder dergleichen und in herkömmlichen verfahrensorientierten Programmiersprachen wie zum Beispiel der Programmiersprache „C” oder ähnlichen Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, zum Teil auf dem Computer des Benutzers, als eigenständiges Software-Paket, zum Teil auf dem Computer des Benutzers und zum Teil auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art von Netzwerk verbunden sein, zum Beispiel durch ein lokales Netzwerk (LAN) oder ein Weitverkehrs-Netzwerk (WAN), oder die Verbindung kann mit einem externen Computer (zum Beispiel über das Internet mithilfe eines Internet-Diensteanbieters) hergestellt werden. Java und alle Marken und Logos auf Grundlage von Java sind Marken oder eingetragene Marken von Oracle und/oder seinen verbundenen Unternehmen.
  • Aspekte der vorliegenden Offenbarung werden oben unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der vorliegenden Offenbarung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaubildern durch Computerprogrammanweisungen implementiert werden kann/können. Diese Computerprogrammanweisungen können für einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer sonstigen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder einer sonstigen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Implementieren der Funktionen/Vorgänge erzeugen, die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben sind.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine sonstige programmierbare Datenverarbeitungsvorrichtung oder sonstige Einheiten so steuern kann, dass sie in einer bestimmten Weise funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsgegenstand (article of manufacture) erzeugen, der Anweisungen beinhaltet, die die/den Funktion/Vorgang implementieren, die/der in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben ist.
  • Die Computerprogrammanweisungen können außerdem auf einen Computer, eine sonstige programmierbare Datenverarbeitungsvorrichtung oder sonstige Einheiten geladen werden, um zu bewirken, dass eine Reihe von Schritten eines Vorgangs auf dem Computer, einer sonstigen programmierbaren Vorrichtung oder sonstigen Einheiten ausgeführt wird, um einen computerimplementierten Prozess zu erzeugen, sodass die auf dem Computer oder einer sonstigen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse bereitstellen, um die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Vorgänge zu implementieren.
  • Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und Arbeitsweise möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Abschnitt eines Codes darstellen, der einen oder mehrere ausführbare Anweisungen zum Implementieren der angegebenen logischen Funktion(en) aufweist. Es ist außerdem zu beachten, dass bei einigen alternativen Implementierungen die in dem Block vermerkten Funktionen in einer anderen Reihenfolge als in den Figuren vermerkt auftreten können. Beispielsweise können je nach einbezogener Funktionalität zwei nacheinander dargestellte Blöcke sogar im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können bisweilen in der umgekehrten Reihenfolge ausgeführt werden. Es ist ferner zu beachten, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne und Kombinationen von Blöcken in den Blockschaubildern und/oder in den Ablaufplänen durch Spezialsysteme auf Grundlage von Hardware, die die angegebenen Funktionen oder Vorgänge ausführen, oder durch Kombinationen von Spezial-Hardware und Computeranweisungen implementiert werden können.
  • Die hierin verwendete Terminologie dient lediglich der Beschreibung bestimmter Ausführungsformen und soll die Erfindung nicht beschränken. So, wie sie hierin verwendet werden, sollen die Singularformen „ein”, „eine” und „der”, „die”, „das” auch die Pluralformen umfassen, sofern dies aus dem Kontext nicht eindeutig anders hervorgeht. Es versteht sich darüber hinaus, dass die Begriffe „aufweist” und/oder „aufweisend”, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, Ganzzahlen, Schritten, Vorgängen, Elementen und/oder Komponenten bezeichnen, jedoch nicht das Vorhandensein oder die Beifügung von einem/einer oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Vorgängen, Elementkomponenten und/oder Gruppen davon ausschließen.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Entsprechungen aller Mittel oder Schritt-plus-Funktion-Elemente in den nachstehenden Ansprüchen sollen jede Struktur, jedes Material bzw. jede Handlung zum Durchführen der Funktion in Kombination mit anderen beanspruchten Elementen als ausdrücklich beansprucht beinhalten. Die Beschreibung der vorliegenden Offenbarung erfolgte zum Zweck der Veranschaulichung und Beschreibung, ist jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt gemeint. Viele Modifizierungen und Varianten sind für Fachleute ersichtlich, ohne vom Umfang und Gedanken der Erfindung abzuweichen.
  • Es ist zwar die bevorzugte Ausführungsform der Erfindung beschrieben worden, es versteht sich jedoch, dass Fachleute jetzt und in Zukunft verschiedene Verbesserungen und Erweiterungen vornehmen dürfen, die in den Umfang der nachfolgenden Ansprüche fallen.

Claims (15)

  1. Verfahren zum Verwalten mehrerer Instanzen eines Betriebssystems, das aufweist: Ermitteln einer Bezugs-E/A-Service-Zeit eines E/A-Vorgangs auf einem Server; Messen einer tatsächlichen E/A-Service-Zeit des E/A-Vorgangs mit einem Prozessor des Servers, der einen Hypervisor ausführt, der so konfiguriert ist, dass er eine Mehrzahl von logischen Partitionen (LPARs) verwaltet, wobei jede LPAR eine von einer Mehrzahl von Instanzen eines Betriebssystems (O/S) ausführt; und Ermitteln einer Verzögerungszeit einer Virtualisierung auf dem Server durch den Prozessor auf Grundlage der Bezugs-E/A-Service-Zeit und der tatsächlichen E/A-Service-Zeit.
  2. Verfahren nach Anspruch 1, wobei das Messen der tatsächlichen E/A-Service-Zeit des E/A-Vorgangs ein Überwachen der tatsächlichen E/A-Service-Zeiten von E/A-Vorgängen in Echtzeit für jede Einheit beinhaltet, die mit der Mehrzahl von LPARs in Datenübertragungsverbindung steht.
  3. Verfahren nach einem der vorangehenden Ansprüche, das des Weiteren aufweist: Durchführen zumindest einer Kapazitätsplanung und Leistungsengpassanalyse durch den Prozessor auf Grundlage des Ermittelns der Verzögerungszeit der Virtualisierung auf dem Server.
  4. Verfahren nach einem der vorangehenden Ansprüche, wobei das Messen der tatsächlichen E/A-Service-Zeit des E/A-Vorgangs aufweist: Empfangen eines E/A-Signals durch den Prozessor von einem Unterkanal, das angibt, dass ein angeforderter E/A-Vorgang auf einer Einheit durchgeführt worden ist; Ermitteln durch den Hypervisor, dass eine erste Instanz des O/S von der Mehrzahl von Instanzen des O/S dem E/A-Signal entspricht; Bereitstellen des E/A-Signals für die erste Instanz des O/S; Empfangen eines Bestätigungssignals von der ersten Instanz des O/S, um zu überprüfen, dass der angeforderte E/A-Vorgang durchgeführt worden ist; und Ermitteln einer verstrichenen Zeit durch den Prozessor zwischen dem Empfangen des E/A-Signals und dem Empfangen des Bestätigungssignals.
  5. Verfahren nach Anspruch 4, das des Weiteren aufweist: Ermitteln durch den Hypervisor, dass eine zweite Instanz des O/S auf dem Prozessor ausgeführt wird, wenn das E/A-Signal empfangen wird; und Ermitteln durch den Hypervisor, ob die zweite Instanz des O/S unterbrochen werden sollte, um das E/A-Signal für die erste Instanz des O/S bereitzustellen, oder ob gestattet werden sollte, dass die zweite Instanz des O/S weiter ausgeführt wird.
  6. Verfahren nach Anspruch 4 oder 5, das des Weiteren aufweist: Empfangen einer Anforderung zum Zugreifen auf die Einheit durch den Prozessor entweder von einer Anwendung oder einer Zwischenanwendung, die auf der ersten Instanz des O/S ausgeführt wird.
  7. Verfahren nach einem der Ansprüche 4 bis 6, das des Weiteren aufweist: Erzeugen eines Unterkanalstart(SSCH)-Signals durch die erste Instanz des O/S, um ein Verbinden eines Unterkanals des Computers mit der Einheit anzufordern; und Erzeugen von Steuersignalen durch den Unterkanal, um einen Datenübertragungsweg zwischen dem Unterkanal und der Einheit auf Grundlage des Empfangens der Anforderung zum Zugriff auf die Einheit herzustellen.
  8. Verfahren nach Anspruch 5, wobei es sich bei dem E/A-Signal um einen E/A-Interrupt handelt und der Hypervisor so konfiguriert ist, dass er eine Mehrzahl von E/A-Interrupts verwaltet, die der Mehrzahl von Instanzen des O/S entspricht.
  9. Computersystem zum Verwalten mehrerer Instanzen eines Betriebssystems, das aufweist: einen Speicher, der in eine Mehrzahl von logischen Partitionen (LPARs) aufgeteilt ist, wobei jede LPAR so konfiguriert ist, dass sie eine von einer Mehrzahl von Instanzen eines Betriebssystems (O/S) ausführt; einen Prozessor, der so konfiguriert ist, dass er eine Bezugs-E/A-Service-Zeit eines E/A-Vorgangs auf einem Server ermittelt, eine tatsächliche E/A-Service-Zeit des E/A-Vorgangs misst und eine Verzögerungszeit der Virtualisierung auf dem Server auf Grundlage der Bezugs-E/A-Service-Zeit und der tatsächlichen E/A-Service-Zeit ermittelt.
  10. Computersystem nach Anspruch 9, wobei das Messen der tatsächlichen E/A-Service-Zeit des E/A-Vorgangs ein Überwachen der tatsächlichen E/A-Service-Zeiten von E/A-Vorgängen in Echtzeit für jede Einheit beinhaltet, die mit der Mehrzahl von LPARs in Datenübertragungsverbindung steht.
  11. Computersystem nach einem der Ansprüche 9 oder 10, wobei das Messen der tatsächlichen E/A-Service-Zeit des E/A-Vorgangs aufweist: Empfangen eines E/A-Signals durch den Prozessor von einem Unterkanal, das angibt, dass ein angeforderter E/A-Vorgang auf einer Einheit durchgeführt worden ist; Ermitteln durch den Hypervisor, dass eine erste Instanz des O/S von der Mehrzahl von Instanzen des O/S dem E/A-Signal entspricht; Bereitstellen des E/A-Signals für die erste Instanz des O/S; Empfangen eines Bestätigungssignals von der ersten Instanz des O/S, um zu überprüfen, dass der angeforderte E/A-Vorgang durchgeführt worden ist; und Ermitteln einer verstrichenen Zeit durch den Prozessor zwischen dem Empfangen des E/A-Signals und dem Empfangen des Bestätigungssignals.
  12. Computersystem nach Anspruch 11, wobei der Prozessor so konfiguriert ist, dass er eine zweite Instanz des O/S ermittelt, die auf dem Prozessor ausgeführt wird, wenn das E/A-Signal empfangen wird, und ermittelt, ob die zweite Instanz des O/S unterbrochen werden sollte, um das E/A-Vorgangsbeendigungssignal für die erste Instanz des O/S bereitzustellen, oder ob gestattet werden sollte, dass die zweite Instanz des O/S weiter ausgeführt wird.
  13. Computersystem nach einem der Ansprüche 9 bis 12, wobei der Prozessor so konfiguriert ist, dass er die Verzögerungszeit in einem Segment des Speichers speichert, das dem Unterkanal zugehörig ist.
  14. Computerprogrammprodukt zum Verwalten mehrerer Instanzen eines Betriebssystems, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium, das durch eine Verarbeitungsschaltung lesbar ist und das Anweisungen zur Ausführung durch die Verarbeitungsschaltung zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 8 speichert.
  15. Computerprogramm, dass auf einem computerlesbaren Medium gespeichert und in den internen Speicher eines Digitalcomputers ladbar ist, das Abschnitte eines Software-Codes aufweist, um das Verfahren eines der Ansprüche 1 bis 8 durchzuführen, wenn das Programm auf einem Computer ausgeführt wird.
DE112013002995.2T 2012-06-15 2013-05-21 Echtzeitmessung von Virtualisierungs-E/A-Verarbeitungsverzögerungen Active DE112013002995B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/524,315 2012-06-15
US13/524,315 US9122508B2 (en) 2012-06-15 2012-06-15 Real time measurement of I/O interrupt delay times by hypervisor by selectively starting and/or stopping corresponding LPARs
PCT/IB2013/054161 WO2013186645A1 (en) 2012-06-15 2013-05-21 Real time measurement of virtualization i/o processing delays

Publications (2)

Publication Number Publication Date
DE112013002995T5 true DE112013002995T5 (de) 2015-03-19
DE112013002995B4 DE112013002995B4 (de) 2023-09-28

Family

ID=49757199

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013002995.2T Active DE112013002995B4 (de) 2012-06-15 2013-05-21 Echtzeitmessung von Virtualisierungs-E/A-Verarbeitungsverzögerungen

Country Status (5)

Country Link
US (2) US9122508B2 (de)
CN (1) CN104335180B (de)
DE (1) DE112013002995B4 (de)
GB (1) GB2517619A (de)
WO (1) WO2013186645A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092359B2 (en) 2012-06-14 2015-07-28 International Business Machines Corporation Identification and consolidation of page table entries
US9811472B2 (en) * 2012-06-14 2017-11-07 International Business Machines Corporation Radix table translation of memory
US9753860B2 (en) 2012-06-14 2017-09-05 International Business Machines Corporation Page table entry consolidation
US9535846B2 (en) * 2014-07-28 2017-01-03 International Business Machines Corporation Using a decrementer interrupt to start long-running hardware operations before the end of a shared processor dispatch cycle
US20180088977A1 (en) * 2016-09-28 2018-03-29 Mark Gray Techniques to determine and mitigate latency in virtual environments
US10977397B2 (en) 2017-03-10 2021-04-13 Altair Engineering, Inc. Optimization of prototype and machine design within a 3D fluid modeling environment
US11004568B2 (en) 2017-03-10 2021-05-11 Altair Engineering, Inc. Systems and methods for multi-dimensional fluid modeling of an organism or organ
US10437308B2 (en) 2017-06-05 2019-10-08 Red Hat, Inc. Predictive virtual machine halt
CN107704373B (zh) * 2017-10-31 2021-08-27 北京奇艺世纪科技有限公司 一种数据处理方法及装置
US10733121B2 (en) * 2018-05-10 2020-08-04 Qualcomm Incorporated Latency optimized I3C virtual GPIO with configurable operating mode and device skip
CN109189567B (zh) * 2018-08-30 2021-10-08 百度在线网络技术(北京)有限公司 时延计算方法、装置、设备及计算机可读存储介质
US10929263B2 (en) * 2018-11-13 2021-02-23 International Business Machines Corporation Identifying a delay associated with an input/output interrupt
CN110209559B (zh) * 2019-04-26 2021-09-14 华为技术有限公司 一种非侵入式监测方法、控制设备及存储介质
US11176493B2 (en) * 2019-04-29 2021-11-16 Google Llc Virtualizing external memory as local to a machine learning accelerator

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615343A (en) 1993-06-30 1997-03-25 Intel Corporation Method and apparatus for performing deferred transactions
US7000088B1 (en) * 2002-12-27 2006-02-14 Storage Technology Corporation System and method for quality of service management in a partitioned storage device or subsystem
US7000036B2 (en) * 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US7797472B2 (en) 2004-08-25 2010-09-14 Unisys Corporation Method and apparatus for providing overlapping defer phase responses
US8255906B2 (en) 2007-08-24 2012-08-28 Opnet Technologies, Inc. Modeling overhead for a plurality of virtualization technologies in a computer system
US8429652B2 (en) 2009-06-22 2013-04-23 Citrix Systems, Inc. Systems and methods for spillover in a multi-core system
CN101859256B (zh) * 2009-11-25 2013-03-06 北京航空航天大学 一种硬件虚拟机中精简模式切换的i/o虚拟化方法
US8375171B2 (en) 2010-04-08 2013-02-12 Unisys Corporation System and method for providing L2 cache conflict avoidance
CN102314377B (zh) 2010-06-30 2014-08-06 国际商业机器公司 加速器及其实现支持虚拟机迁移的方法
US8468524B2 (en) 2010-10-13 2013-06-18 Lsi Corporation Inter-virtual machine time profiling of I/O transactions
CN102222034A (zh) 2011-07-15 2011-10-19 浙江大学 基于程序轮廓分析的虚拟化平台性能评测方法

Also Published As

Publication number Publication date
WO2013186645A1 (en) 2013-12-19
GB201421848D0 (en) 2015-01-21
GB2517619A (en) 2015-02-25
US20130339951A1 (en) 2013-12-19
US9122508B2 (en) 2015-09-01
DE112013002995B4 (de) 2023-09-28
CN104335180B (zh) 2018-04-20
US20130339948A1 (en) 2013-12-19
CN104335180A (zh) 2015-02-04
US9122512B2 (en) 2015-09-01

Similar Documents

Publication Publication Date Title
DE112013002995B4 (de) Echtzeitmessung von Virtualisierungs-E/A-Verarbeitungsverzögerungen
DE112005001512B4 (de) Vorrichtung und Verfahren für den Hochleistungs- Zugriff auf einen flüchtigen Plattenlaufwerkspeicher unter Einsatz einer integrierten Direkt-Speicherzugriffs-Einrichtung
DE112018002951B4 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE102015105884B4 (de) Rechenknoten und Verfahren zur Migration einer virtuellen Maschine, Rechenzentrummanager zur Migration virtueller Maschinen, Maschinenlesbares Speichermedium und Rechenvorrichtungen
DE102013110085B4 (de) Nicht-flüchtige speichervorrichtung
US9800523B2 (en) Scheduling method for virtual processors based on the affinity of NUMA high-performance network buffer resources
DE102006062802B4 (de) Informationsverarbeitungssystem und Verfahren zum Steuern von mehreren Hot Plug Vorgängen
DE102016221811A1 (de) Zuordnung von Ressourcen mit mehrschichtigem Speicher
DE102016105589A1 (de) Anwenden von Firmware-Updates in einem System mit Null-Stillstandszeit durch wahlweise Abschalten und Einschalten von Hardware unter Verwenden einer Hypervisor-Schicht
DE112012001660T5 (de) Speicher-Checkpointing in einem System gespiegelter virtueller Maschinen
DE112017004808T5 (de) Dynamische zuteilung virtueller cpu-kerne
DE102014108249A1 (de) Realisieren erweiterter Fehlerbehandlung für einen gemeinsam genutzten Adapter in einem virtualisierten System
DE102010001339A1 (de) Verwalten von Anforderungen von Betriebssystemen, die in virtuellen Maschinen ablaufen
DE112013002014T5 (de) Bereitstellen von anwendungsgestützter Überwachung und Wiederherstellung für einen Hypervisor eines HA-Clusters
DE112012005209T5 (de) Brückenfunktion zwischen Virtual Machine Monitor und Bare-Metal-Bootvorgang
DE102012215918A1 (de) Spiegeln virtueller Maschinen von einem primären auf einen sekundären Host
DE102013209643B4 (de) Mechanismus für optimierte Nachrichtenaustauschdatenübertragung zwischen Nodelets innerhalb eines Plättchens
DE112014002754T5 (de) Effiziente Aufgabenplanung unter Verwendung eines Sperrmechanismus
DE112018005121T5 (de) Speichersystem unter verwendung von cloud-speicher als eine speicherbank
WO2014118969A1 (ja) 仮想計算機システムおよび仮想計算機システムのデータ転送制御方法
DE112013000330T5 (de) In-Situ-Neubewertung von Prozessoren
DE112016007336B4 (de) Informationsverarbeitungsvorrichtung, Vorrichtungszuweisungsverfahren undVorrichtungszuweisungsprogramm
DE102016203808A1 (de) Verringern der Bevorrechtigung virtueller Maschinen in einer virtualisierten Umgebung
DE112014006642T5 (de) Halbleitervorrichtungs-Prüfgerät mit Dut-Daten-Streaming
DE112016003974T5 (de) Dynamisches Abstimmen von Multiprozessor-/Multikern-Rechnersystemen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence