DE112013002995T5 - Real-time measurement of virtualization I / O processing delays - Google Patents
Real-time measurement of virtualization I / O processing delays Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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/3419—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
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.A computer system includes a memory that is divided into a plurality of logical partitions (LPARs), each LPAR executing one of a plurality of instances of an operating system (O / S). The system also includes a processor configured to execute a hypervisor program to manage operation of the plurality of LPARs. The processor determines a reference I / O service time of an I / O operation on a server, measures an actual I / O service time of the operation, and determines a virtualization delay time on the server based on the reference E / A service time and the actual I / O service time.
Description
TECHNISCHES GEBIETTECHNICAL AREA
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.The present invention relates to measuring the delay in processing I / O operations caused by server virtualization, and more particularly to measuring a period of time taken by a hypervisor for multiple instances of an operating system manage.
HINTERGRUNDBACKGROUND
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.In computers that work with virtual machines, a hypervisor program splits physical resources, including a central processing unit (CPU), memory, storage, and I / O units, of a real computer into separate virtual machines. For example, the hypervisor may allocate a predetermined time frame in which each virtual machine can access the CPU, and predetermined portions of memory or storage space that can be accessed by the respective virtual machines.
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.When an interrupt occurs that targets a particular virtual machine, the hypervisor receives the interrupt and determines which virtual machine the interrupt is addressed to. When another virtual machine uses system resources, such as the CPU, a delay in processing the interrupt is caused by the destination virtual machine until the hypervisor controls the CPU to start executing the destination virtual machine. The destination virtual machine may then perform one or more functions based on receipt of the interrupt.
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.Other delays that result from the hypervisor managing multiple virtual machines include emulation overhead in which instructions and operations for accessing I / O devices are intercepted by the hypervisor, and scheduling delays due to transmission and reception of packets, involving multiple hypervisor threads and virtual machines.
Daher besteht nach dem Stand der Technik ein Bedarf, das oben genannte Problem zu lösen.Therefore, there is a need in the art to solve the above problem.
KURZDARSTELLUNGSUMMARY
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.Exemplary embodiments include a method for determining a reference I / O service time of an I / O operation on a server. The server may include a processor executing a hypervisor configured to manage a plurality of logical partitions (LPARs), and each LPAR may execute one of a plurality of instances of an operating system (O / S) , The method may further include, by the processor, measuring an actual I / O service time of the I / O operation by the processor and determining a delay time of the virtualization on the server by the processor based on the reference I / O service time and the actual I / O service time.
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.Viewed from a first aspect, the present invention provides a method for managing multiple instances of an operating system, comprising: determining a reference I / O service time of an I / O operation on a server; Measuring an actual I / O service time of the I / O operation with a processor of the server executing a hypervisor configured to manage a plurality of logical partitions (LPARs), each LPAR containing one of a Runs a plurality of instances of an operating system (O / S); and determining, by the processor, a delay time of virtualization on the server based on the reference I / O service time and the actual I / O service time.
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.Viewed from a further aspect, the present invention provides a computer system for managing a plurality of instances of an operating system, comprising: a memory partitioned into a plurality of logical partitions (LPARs), each LPAR being configured to have one from a plurality of instances of an operating system (O / S) executes; a processor configured to detect a reference I / O service time of an I / O operation on a server, measure an actual I / O service time of the I / O operation, and a delay time The virtualization on the server is determined based on the reference I / O service time and the actual I / O service time.
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.Viewed from a further aspect, the present invention provides a computer program product for managing multiple instances of an operating system, the computer program product having a computer readable storage medium readable by a processing circuit and instructions for execution by the processing circuitry for performing a method of performing stores the steps of the invention.
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.Viewed from another aspect, the present invention provides a computer program stored on a computer-readable medium and capable of being loaded into the internal memory of a digital computer having portions of software code associated therewith Steps of the invention to perform when the program is run on a computer.
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.Additional exemplary embodiments include a computer program product that includes a non-transitory storage medium that may be read by a processing circuitry of a computer and that stores instructions for execution by the processing circuitry to perform a method. The method may include determining a reference I / O service time of an I / O operation on a server. The server may include a processor executing a hypervisor configured to manage a plurality of logical partitions (LPARs), and each LPAR may execute one of a plurality of instances of an operating system (O / S) , The method may further include, by the processor, measuring an actual I / O service time of the I / O operation by the processor and determining a delay time of the virtualization on the server by the processor based on the reference I / O service time and the actual I / O service time.
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.Other exemplary embodiments include a computer system that includes a memory that is divided into a plurality of logical partitions (LPARs), each LPAR that executes one of a plurality of instances of an operating system (O / S), and a processor. The processor is configured to execute a hypervisor program to manage operation of the plurality of LPARs. The processor may determine a reference I / O service time of an I / O operation on a server and measure an actual I / O service time of the I / O operation. The processor may further determine a virtualization delay time on the server based on the reference I / O service time and the actual I / O service time.
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.Additional features and advantages are realized by the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered part of the claimed invention. For a better understanding of the invention with the advantages and features, reference is made to the description and to the drawings.
KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS
Die vorliegende Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie sie in den folgenden Figuren veranschaulicht werden:The present invention will now be described, by way of example only, with reference to preferred embodiments as illustrated in the following figures:
AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION
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.In exemplary embodiments, a delay caused by a hypervisor managing multiple virtual machines or logical partitions (LPARs) is calculated in real-time by calculating an elapsed time from generation of an I / O interrupt by a subchannel and a time at which the target operating system (O / S) is allocated by the hypervisor and a signal is generated that the I / O interrupt has been received and processed.
Jede virtuelle Maschine
Bei dem Gast-O/S
Das E/A-Teilsystem
Der Hypervisor
Das E/A-Teilsystem
Bei Ausführungsformen der vorliegenden Offenbarung verfolgt der Hypervisor
Im Betrieb kann eine Anwendung
Das Gast-O/S
Nachdem auf die externe Speichereinheit
Der Hypervisor
Wenn das Zielgast-O/S, oder in dem vorliegenden Beispiel das Gast-O/S
Bei Ausführungsformen der vorliegenden Offenbarung verfolgt der Hypervisor
Bei einigen Ausführungsformen können die realen CPUs
In Block
In Block
In Block
In Block
In Block
In Block
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.Accordingly, a system running multiple virtual machines, each having an instance of O / S, is capable of tracking time based on a time that a hypervisor requires to manage I / O interrupts; which can be added to the execution of instructions by running the virtual machines. The system and method provide real-time data regarding any delays generated by the hypervisor.
Bei einer beispielhaften Ausführungsform beinhaltet der Computer
Bei dem Prozessor
Der Speicher
Die Anweisungen in dem Speicher
Der Speicher
Bei einer beispielhaften Ausführungsform können eine herkömmliche Tastatur
Wenn es sich bei dem Computer
Wenn der Computer
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.In an exemplary embodiment, the hypervisor delay real-time calculation methods described herein can be implemented with any of the following technologies well known in the art, or a combination thereof: with one or more discrete logic circuits implementing logic gates to implement have logical functions on data signals, an application specific integrated circuit (ASIC) having suitable circuit logic gates, one or more programmable gate arrays (PGA), a field programmable gate array (FPGA), etc.
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
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.Embodiments of the present disclosure may be implemented by any suitable architecture. For example, the architecture of IBM ® z / Architecture ® is used to implement the embodiments of the disclosure. A description of the z / Architecture general operations and specifications is provided in "IBM z / Architecture Principles of Operation", p. Publication No. SA22-7832-08, 9th edition, August 2010. IBM and z / Architecture are registered trademarks of International Business Machines Corporation, Armonk, NY, 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.In addition, embodiments of the present disclosure may be implemented by any suitable system for utilizing subchannels and measuring I / O characteristics. For example, the measurement of I / O characteristics in an embodiment according to the disclosure of the application with the serial no. 10/435 906 to Scott M. Carlson et al. which relates to EXTENDED INPUT / OUTPUT MEASUREMENT FACILITIES, the application of which was granted as US Pat. No. 7,000,036.
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.As one of ordinary skill in the art appreciates, aspects of the present disclosure may be embodied as a system, method, or computer program product. Accordingly, aspects of the present disclosure may assume a purely hardware embodiment, a pure software embodiment (including firmware, resident software, microcode, etc.), or an embodiment that combines software and hardware aspects, all of which are generalized herein as " Circuit "," module "or" system "can be called. Further, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media embodied with computer readable program code.
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.Any combination of one or more computer-readable media may be used. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the above. More concrete examples (non-exhaustive list) of the computer-readable storage medium would include: electrical connection to one or more lines, a portable computer diskette, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory ( EPROM or flash memory), an optical fiber, a portable Compact Disk Read Only Memory (CD-ROM), an optical storage unit, a magnetic storage unit, or any suitable combination of the above. For the purposes of this document, a computer-readable storage medium may be any physical medium that may contain or store a program for use by, or in connection with, a system, apparatus, or device for executing instructions.
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.Program code embodied on a computer readable medium may be transmitted using any suitable medium, such as, but not limited to, wireless, cable, fiber optic cable, radio frequency (RF), etc., or any suitable combination of the above.
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.Computer program code for performing operations for aspects of the present disclosure may be written in any combination of one or more programming languages, for example, in an object-oriented programming language such as Java® , Smalltalk, C ++ or the like and in conventional procedural programming languages such as the "C" programming language Or similar programming languages. The program code may be executed entirely on the user's computer, partly on the user's computer, as a standalone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server , In the latter scenario, the remote computer may be connected to the user's computer through any type of network, such as a Local Area Network (LAN) or Wide Area Network (WAN), or the connection may be to an external computer (e.g. Example over the Internet using an Internet service provider) are produced. Java and all Java-based marks and logos are trademarks or registered trademarks of Oracle and / or its affiliates.
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.Aspects of the present disclosure are described above with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It is understood that each block of the flowcharts and / or block diagrams and combinations of blocks in the flowcharts and / or block diagrams may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, a special purpose computer, or other programmable data processing device to generate a machine so that the instructions executed by the processor of the computer or other programmable data processing device provide a means for implementing the functions. Generate operations specified in the block or blocks of the flowcharts and / or block diagrams.
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.These computer program instructions may also be stored in a computer-readable medium that may control a computer, other programmable computing device, or other entity to function in a particular manner such that the instructions stored in the computer-readable medium produce an article of manufacture containing instructions that implement the function / task specified in the block or blocks of the flowcharts and / or block diagrams.
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.The computer program instructions may also be loaded onto a computer, other programmable computing device, or other device to cause a series of steps of an operation to be performed on the computer, other programmable device, or other device to produce a computer-implemented process. the instructions executed on the computer or other programmable device provide processes to implement the functions / operations specified in the block or blocks of the flowcharts and / or block diagrams.
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.The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of code having one or more executable instructions for implementing the specified logical function (s). It should also be noted that in some alternative implementations, the functions noted in the block may occur in a different order than noted in the figures. For example, depending on the functionality involved, two consecutive blocks may even be executed substantially simultaneously, or the blocks may sometimes be executed in the reverse order. It is further to be noted that each block of the block diagrams and / or the flowcharts and combinations of blocks in the block diagrams and / or flowcharts may be executed by specialized systems based on hardware performing the specified functions or operations, or by combinations of specialized Hardware and computer instructions can be implemented.
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.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used herein, the singular forms "a," "an," and "the," "the," are also intended to encompass the plural forms, unless the context clearly dictates otherwise. It should also be understood that the terms "having" and / or "having" when used in this specification refer to the presence of specified features, integers, steps, acts, elements, and / or components, but not the presence or preclude the inclusion of one or more other features, integers, steps, acts, elemental components, and / or groups thereof.
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.The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act of performing the function in combination with other claimed elements as expressly claimed. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention.
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.While the preferred embodiment of the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements that fall within the scope of the following claims.
Claims (15)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
US13/524,315 | 2012-06-15 | ||
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 (en) | 2015-03-19 |
DE112013002995B4 DE112013002995B4 (en) | 2023-09-28 |
Family
ID=49757199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112013002995.2T Active DE112013002995B4 (en) | 2012-06-15 | 2013-05-21 | Real-time measurement of virtualization I/O processing delays |
Country Status (5)
Country | Link |
---|---|
US (2) | US9122508B2 (en) |
CN (1) | CN104335180B (en) |
DE (1) | DE112013002995B4 (en) |
GB (1) | GB2517619A (en) |
WO (1) | WO2013186645A1 (en) |
Families Citing this family (14)
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 |
US9753860B2 (en) | 2012-06-14 | 2017-09-05 | International Business Machines Corporation | Page table entry consolidation |
US9811472B2 (en) * | 2012-06-14 | 2017-11-07 | International Business Machines Corporation | Radix table translation of memory |
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 |
US11004568B2 (en) | 2017-03-10 | 2021-05-11 | Altair Engineering, Inc. | Systems and methods for multi-dimensional fluid modeling of an organism or organ |
US10977397B2 (en) | 2017-03-10 | 2021-04-13 | Altair Engineering, Inc. | Optimization of prototype and machine design within a 3D fluid modeling environment |
US10437308B2 (en) | 2017-06-05 | 2019-10-08 | Red Hat, Inc. | Predictive virtual machine halt |
CN107704373B (en) * | 2017-10-31 | 2021-08-27 | 北京奇艺世纪科技有限公司 | Data processing method and device |
US10733121B2 (en) * | 2018-05-10 | 2020-08-04 | Qualcomm Incorporated | Latency optimized I3C virtual GPIO with configurable operating mode and device skip |
CN109189567B (en) * | 2018-08-30 | 2021-10-08 | 百度在线网络技术(北京)有限公司 | Time delay calculation method, device, equipment and computer readable storage medium |
US10929263B2 (en) * | 2018-11-13 | 2021-02-23 | International Business Machines Corporation | Identifying a delay associated with an input/output interrupt |
CN110209559B (en) * | 2019-04-26 | 2021-09-14 | 华为技术有限公司 | Non-invasive monitoring method, control equipment and storage medium |
US11176493B2 (en) * | 2019-04-29 | 2021-11-16 | Google Llc | Virtualizing external memory as local to a machine learning accelerator |
Family Cites Families (11)
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 (en) * | 2009-11-25 | 2013-03-06 | 北京航空航天大学 | I/O virtualization method for simplifying mode switch in hardware virtual machine |
US8375171B2 (en) | 2010-04-08 | 2013-02-12 | Unisys Corporation | System and method for providing L2 cache conflict avoidance |
CN102314377B (en) | 2010-06-30 | 2014-08-06 | 国际商业机器公司 | Accelerator and method thereof for supporting virtual machine migration |
US8468524B2 (en) | 2010-10-13 | 2013-06-18 | Lsi Corporation | Inter-virtual machine time profiling of I/O transactions |
CN102222034A (en) | 2011-07-15 | 2011-10-19 | 浙江大学 | Virtualized platform performance evaluating method based on program contour analysis |
-
2012
- 2012-06-15 US US13/524,315 patent/US9122508B2/en not_active Expired - Fee Related
-
2013
- 2013-03-11 US US13/793,603 patent/US9122512B2/en not_active Expired - Fee Related
- 2013-05-21 GB GB201421848A patent/GB2517619A/en not_active Withdrawn
- 2013-05-21 WO PCT/IB2013/054161 patent/WO2013186645A1/en active Application Filing
- 2013-05-21 CN CN201380028441.6A patent/CN104335180B/en active Active
- 2013-05-21 DE DE112013002995.2T patent/DE112013002995B4/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9122508B2 (en) | 2015-09-01 |
GB201421848D0 (en) | 2015-01-21 |
US20130339948A1 (en) | 2013-12-19 |
GB2517619A (en) | 2015-02-25 |
CN104335180A (en) | 2015-02-04 |
DE112013002995B4 (en) | 2023-09-28 |
US9122512B2 (en) | 2015-09-01 |
US20130339951A1 (en) | 2013-12-19 |
CN104335180B (en) | 2018-04-20 |
WO2013186645A1 (en) | 2013-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112013002995B4 (en) | Real-time measurement of virtualization I/O processing delays | |
DE112005001512B4 (en) | Apparatus and method for high performance access to a volatile disk drive storage using a built-in direct memory access device | |
DE112018002951B4 (en) | USING A TRACK FORMAT CODE IN A CACHE CONTROL BLOCK FOR A TRACK IN A CACHE TO PROCESS READ AND WRITE REQUESTS REGARDING THE TRACK IN THE CACHE | |
DE102015105884B4 (en) | Compute nodes and methods for migrating a virtual machine, data center manager for migrating virtual machines, machine-readable storage medium and computing devices | |
DE102013110085B4 (en) | NON-VOLATILE MEMORY DEVICE | |
US9800523B2 (en) | Scheduling method for virtual processors based on the affinity of NUMA high-performance network buffer resources | |
DE102006062802B4 (en) | Information processing system and method for controlling multiple hot plug operations | |
DE102016221811A1 (en) | Mapping of resources with multilayer storage | |
DE102016105589A1 (en) | Apply firmware updates in a zero-downtime system by selectively turning off and on hardware using a hypervisor layer | |
DE112012001660T5 (en) | Memory checkpointing in a system of mirrored virtual machines | |
DE112017004808T5 (en) | DYNAMIC ALLOCATION OF VIRTUAL CPU CORE | |
DE102014108249A1 (en) | Implement advanced error handling for a shared adapter in a virtualized system | |
DE102010001339A1 (en) | Manage requirements of operating systems that run in virtual machines | |
DE112013002014T5 (en) | Provide application-based monitoring and recovery for an HA cluster hypervisor | |
DE112012005209T5 (en) | Bridge function between virtual machine monitor and bare-metal boot process | |
DE102012215918A1 (en) | Mirror virtual machines from a primary to a secondary host | |
DE112013000369T5 (en) | Managing threads within a computing environment | |
DE102013209643B4 (en) | Mechanism for optimized messaging data transmission between nodelets within a tile | |
DE112014002754T5 (en) | Efficient task planning using a locking mechanism | |
DE102014114108A1 (en) | Process control systems and procedures | |
DE112018005121T5 (en) | STORAGE SYSTEM USING CLOUD STORAGE AS A STORAGE BANK | |
WO2014118969A1 (en) | Virtual computer system and data transfer control method for virtual computer system | |
DE102016203808A1 (en) | Reduce virtual machine preemption in a virtualized environment | |
DE112013006634T5 (en) | Computer system and computer system control method | |
DE112014006642T5 (en) | Semiconductor device tester with Dut data streaming |
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 |