[go: up one dir, main page]

DE102008046096A1 - Verfahren und Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit - Google Patents

Verfahren und Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit Download PDF

Info

Publication number
DE102008046096A1
DE102008046096A1 DE102008046096A DE102008046096A DE102008046096A1 DE 102008046096 A1 DE102008046096 A1 DE 102008046096A1 DE 102008046096 A DE102008046096 A DE 102008046096A DE 102008046096 A DE102008046096 A DE 102008046096A DE 102008046096 A1 DE102008046096 A1 DE 102008046096A1
Authority
DE
Germany
Prior art keywords
hardware unit
virtual
computer system
operating parameter
physical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102008046096A
Other languages
English (en)
Inventor
Florian Mangold
Harald Dr. Rölle
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.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens 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 Siemens AG, Siemens Corp filed Critical Siemens AG
Priority to DE102008046096A priority Critical patent/DE102008046096A1/de
Priority to EP09780864A priority patent/EP2318962A1/de
Priority to PCT/EP2009/059342 priority patent/WO2010025994A1/de
Priority to US13/058,254 priority patent/US8457944B2/en
Publication of DE102008046096A1 publication Critical patent/DE102008046096A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3442Recording 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 planning or managing the needed capacity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Die Betriebsparameter von nachgebildeten, virtuellen Hardwareeinheiten (305a, 305b, 305c, 305d, 305e) werden zum Beispiel über eine Schnittstelleneinrichtung (310) einer Nachbildevorrichtung (306) während des Ausführens eines Programmablaufs (300) auf den virtuellen Hardwareeinheiten derart variiert, dass Anforderungsparameter des Ausführens eines Programmablaufs (300) an mindestens eine physische Hardwareeinheit (309a, 309b, 309c, 309d, 309e) bestimmt werden können. Demgemäß sind ein Verfahren und eine Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit (309a, 309b, 309c, 309d, 309e) vorgesehen. Das Verfahren und die Vorrichtung finden bei der Bestimmung von Anforderungsparameter von Softwareprodukten an zu verwendende Hardwarekomponenten Einsatz. Vorteilhaft ist hierbei, dass Anforderungsparameter systematisch, unter Einbeziehung eines Betriebssystems (303), ohne Verwendung teurer, physischer Hardwarekomponenten (309a, 309b, 309c, 309d, 309e) und ohne Modifikationen an einem physischen Rechnersystem (308) bestimmt werden können.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit, welche einen wohldefinierten Programmablauf gewährleisten. Die Erfindung betrifft ferner eine Rechneranlage, welche sich zur Durchführung des Verfahrens eignet, sowie ein Computerprogrammprodukt, welches die Durchführung eines entsprechenden Verfahrens zur Bestimmung von Anforderungsparametern veranlasst.
  • Bei der Entwicklung von hardware- wie auch softwareimplementierten Systemen ist die Kompatibilität von Komponenten, insbesondere deren Wiederverwendbarkeit, nach Möglichkeit zu gewährleisten. Hierzu können Softwaresysteme modular durch wieder verwendbare Softwarekomponenten aufgebaut sein. Softwarekomponenten sind hierbei beispielsweise Programmmodule, Bibliotheken oder Packages. Rechneranlagen können durch Hardwarekomponenten modular aufgebaut sein, wobei die Kompatibilität der Hardwarekomponenten durch standardisierte Schnittstellen gegeben ist. Beispielsweise sollen mehrere Softwarekomponenten nicht nur auf einzelnen, sondern auf unterschiedlichen Rechneranlagen ohne signifikanten Mehraufwand ausführbar sein. Durch die Wiederverwendbarkeit von Softwarekomponenten, insbesondere auf unterschiedlichen Rechneranlagen, ergibt sich ein optimiertes Kosten-Nutzen-Verhältnis. Durch die Wiederverwendbarkeit ist die Erstellung von qualitativ hochwertigem Softwarecode motiviert, welcher ausreichend getestet und gut dokumentiert ist. Ein weiterer vorteilhafter Aspekt ist die Möglichkeit qualitativ hochwertigen Softwarecode von externen Entwicklern zuzukaufen.
  • Der Ansatz Softwarekomponenten nicht zielsystemspezifisch konstruieren zu müssen, hat sich mit der Verbreitung der höheren Programmiersprachen durchgesetzt. Es werden Software komponenten erstellt, welche durch Übersetzer beziehungsweise Compiler von der Hochsprache in die Maschinensprache des jeweiligen Zielsystems übersetzt werden. Zuvor wurden Softwarekomponenten direkt in der Maschinensprache für das jeweilige Zielsystem implementiert. Da Maschinensprachen im Gegensatz zu Hochsprachen für den Menschen weniger intuitiv verständlich sind, war dieses Vorgehen mit einem höheren Aufwand und höherer Fehleranfälligkeit verbunden. Insbesondere konnte der Softwarecode zumeist nicht wiederverwendet werden. Die stets neue Implementierung der Softwarekomponenten führte ebenfalls zu einer erhöhten Fehleranfälligkeit. Aufgrund der Kosteneffizienz und des Wiederverwendungsaspekts sollen Softwarekomponenten nicht genau auf ein Zielsystem und dessen genauen technischen Details konstruiert werden. Man geht bewusst eine Abstraktion ein, um schneller, effizienter und fehlerfreier eine Softwarekomponente zu entwickeln.
  • Die Kompatibilität von Hardwarekomponenten ist eine nicht-funktionale Anforderung, die gewünscht und notwendig ist. Andererseits zeigt die Hardware durch den Technologiefortschritt eine hohe Diversität. So können unterschiedliche Controller beispielsweise mit spezifischen Leistungsdaten verwendet werden. Analog gibt es unterschiedliche Speichermedien, die sich untereinander bezüglich Preis und Leistung erheblich unterscheiden. Hardwareeinheiten haben zumeist Standardschnittstellen, die funktional vollständig identisch sind. Ein Softwareentwickler weiß, insbesondere durch spezielle Entwurfs- und Architekturmuster, wie Schichtung oder Proxies, zumeist nicht auf welche genaue Ausprägung einer Hardwareeinheit die Softwarekomponente zugreift.
  • Aus den vorgenannten Aspekten ergibt sich, dass eine vollständige Testabdeckung einer Softwarekomponente bezüglich der verwendeten Hardwarekomponenten nur mit signifikantem Aufwand möglich ist. So können Hardwarekomponenten, auf der die Softwarekomponente ausgeführt werden soll, kompatibel bezüglich der hardwarebasierten Schnittstellen sein, jedoch können die Leistungskenngrößen der Hardwarekomponenten den Anforderungs parametern der Softwarekomponente nicht genügen. Dies kann in einem besonders nachteiligen Fall zu einem nichtgebrauchsfähigen Softwareprodukt bezüglich der verwendeten Hardwarekomponenten führen. Ein Softwareprodukt umfasst hierbei mindestes eine Softwarekomponente.
  • Beispielsweise werden bei Softwareprodukten Anforderungsparameter an die ausführenden Hardwarekomponenten angegeben, welche einen wohldefinierten Programmablauf gewährleisten. Der Programmablauf umfasst hierbei das Ausführen einer Softwarekomponente. Anforderungsparameter werden zum Beispiel durch Tests des Softwareprodukts auf verschiedenen physischen Rechneranlagen ermittelt. Durch die steigende Diversität der Rechneranlagen können diese Anforderungsparameter jedoch nicht mehr beziehungsweise nur ungenügend empirisch ermittelt werden. Insbesondere können Abhängigkeiten zwischen den Betriebsparametern der verwendeten Hardwareeinheiten nur mit enormem empirischem Aufwand ermittelt werden. Liegen entsprechende Anforderungsparameter vollständig und ausreichend genau vor, sind Aussagen über Betriebsparameter der benötigten Hardwarekomponenten möglich. Insbesondere können bei der Verwendung der entsprechenden Hardwareeinheiten Kosten eingespart werden, indem eine performantere aber teurere Hardwareeinheit durch eine günstigere Hardwareeinheit ausgetauscht wird. Der Einsatz von zu performanten Hardwareeinheiten führt zu erhöhten Betriebsnebenkosten, insbesondere höhere Energieaufnahme beziehungsweise höherer Wärmeabstrahlung, welche durch intensiveren Einsatz von Kühlkomponenten kompensiert werden muss.
  • Durch den großen Umfang funktional kompatibler Hardwareeinheiten können herkömmliche Techniken zur Bestimmung von Anforderungsparametern nur ausgewählte Betriebsparameterprofile testen. Ein vollständiger Test aller Betriebsparameterprofile für bestehende Hardwarekomponenten ist durch die große Vielfalt der möglichen Kombinationen von Hardwarekomponenten zum Ausbilden einer geeigneten Rechneranlage nahezu unmöglich. Üblicherweise werden genaue Anforderungen an die Hardwarekom ponenten nur rudimentär und unsystematisch bestimmt. Es wird daher häufig nicht mit ausreichendem Umfang an Hardwarekomponenten getestet, sondern nur auf wenigen exemplarischen Rechneranlagen.
  • Der Einsatz mathematischer Modelle, wie beispielweise Markovketten oder gewichtete Petri-Netze zur Bestimmung von Anforderungsparametern, erfordert aufwendigen Experteneinsatz, kann fehlerbehaftet und/oder ungenau sein, was sich als besonders nachteilig erweisen kann.
  • Es ist daher eine Aufgabe der vorliegenden Erfindung ein verbessertes Verfahren zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit bereitzustellen.
  • Diese Aufgabe wird durch ein Verfahren zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit gemäß Patentanspruch 1 gelöst.
  • Demgemäß ist ein Verfahren zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit eines mehrere Hardwareeinheiten umfassenden physischen Rechnersystems vorgesehen. Es wird mindestens eine physische Hardwareeinheit als virtuelle Hardwareeinheit mit variierenden Betriebsparametern nachgebildet, wodurch sich unterschiedliche Leistungskenngrößen ergeben. Leistungskenngrößen der physischen Hardwareeinheit sollen dabei vordefinierten Leistungskenngrößen entsprechen. Hierzu wird unter Verwendung einer als virtuelle Hardwareeinheit nachgebildeten Hardwareeinheit ein vorgegebener Programmablauf ausgeführt, wobei Betriebsparameter der virtuellen Hardwareeinheit variiert werden. Hieraus lassen sich Anforderungsparameter bestimmen, welche den Betriebsparametern der physischen Hardwareeinheit entsprechen, welche einen wohldefinierten Programmablauf gewährleisten. Die Anforderungsparameter werden in Abhängigkeit einer überwachten Leistungskenngröße der virtuellen Hardwareeinheit bestimmt.
  • Unter Nachbilden der physischen Hardwareeinheit versteht man das Bereitstellen und Betreiben von virtuellen Hardwareeinheiten gemäß der Funktionalität einer physischen Hardwareeinheit.
  • Anforderungsparameter sind diejenigen Betriebsparameter einer Hardwarekomponente, welche zum wohldefinierten und fehlerfreien Ausführen einer Softwarekomponente mindestens erforderlich sind.
  • Betriebsparameter beschreiben nicht-funktionale Eigenschaften einer Hardwarekomponente. Beispiele hierfür können sein: Taktung eines Prozessors, Lese- oder Schreibzugriffszeiten eines Speichers, Kapazität eines Speichers, Umdrehungen einer Festplatte oder die Bandbreite einer Sende- oder Empfangseinrichtung. Betriebsparameter können in Betriebsparameterprofilen bezüglich einer Hardwarekomponente zusammengefasst werden.
  • Leistungskenngrößen beschreiben hierbei das sich aus den Betriebsparametern ergebende nicht-funktionale Verhalten der Hardwareeinheit oder des Rechnersystems in Abhängigkeit des Ausführens des Programmablaufs. Leistungskenngrößen können sich auf physische und/oder auf virtuelle Hardwareeinheiten oder Rechnersysteme beziehen. Ein Programmablauf kann beispielsweise eine Testroutine, einen Algorithmus, ein Softwareprogramm, eine Befehlssequenz und/oder eine Programmroutine, zur Berechnung einer Ausgabe oder zum Bereitstellen eines Dienstes umfassen.
  • Ein wohldefinierter Programmablauf ist dann gewährleistet, wenn beispielsweise vorgegebene Anforderungen, welche als ”Constraints” bezeichnet werden können, erfüllt werden. Vorgegebene Anforderungen können nicht-funktionale Anforderungen umfassen, welche sich wiederum auf funktionale Anforderungen auswirken können. Beispielsweise können vordefinierte Antwortzeiten gefordert werden, wobei ein Nichteinhalten der vordefinierten Antwortzeiten zu einem Time-out, zu einem Synchronisationsfehler oder einem allgemeinen Fehlverhalten füh ren kann. Die Vermeidung eines Synchronisationsfehlers kann dabei eine funktionale Anforderung sein. Anforderungen können insbesondere bezüglich einem Echtzeitverhalten des vorgegebenen Programmablaufs definiert werden. Wird beispielsweise eine Bildsequenz durch den Programmablauf definiert, so ist beispielsweise eine Echtzeitanforderung ein Einhalten einer Mindestbildanzahl pro Zeiteinheit. Eine weitere Anforderung bezüglich der Mindestbildanzahl ist beispielsweise ein möglichst äquidistantes Einblenden des jeweiligen Bildes, um Verzögerungen beziehungsweise Ruckeln, beispielsweise in Videoinformationen, zu verhindern.
  • Somit wird ein physisches Rechnersystem als ein virtuelles Rechnersystem nachgebildet, wobei das virtuelle Rechnersystem wiederum aus mehreren virtuellen Hardwareeinheiten bestehen kann. Durch die variierbaren Betriebsparameter der virtuellen Hardwareeinheiten können diverse Hardwareeinheiten mit wiederum diversen Betriebsparameterprofilen bezüglich deren Ausführung des vordefinierten Programmablaufs überwacht werden. Vorteilhaft ist hierbei, dass aufgrund der Verwendung der virtuellen Hardwareeinheiten keine physischen Modifikationen an der entsprechenden Rechneranlage durchgeführt werden müssen. Außerdem gestaltet sich vorteilhaft, dass Betriebsparameter beziehungsweise Betriebsparameterprofile der verwendeten Hardwareeinheiten systematisch, beispielsweise von einem vorgegebenen Testprogramm, getestet werden können. Das Testprogramm kann das Ausführen des Programmablaufs mit variierenden Betriebsparametern und das Bestimmen der Anforderungsparameter veranlassen.
  • Ein physisches Rechnersystem kann beispielsweise als Computer, PC, EDV-Anlage, elektronische Datenverarbeitungsanlage, Workstation und/oder EDV-System vorliegen.
  • In einer Variante des Verfahrens wird zumindest eine Auswahl der folgenden Verfahrensschritte ausgeführt: Nachbilden der physischen Hardwareeinheit als virtuelle Hardwareeinheit zum Ausbilden zumindest eines Teils des virtuellen Rechnersys tems, welches dem physischen Rechnersystem entspricht; Zuordnen von mindestens einem Betriebsparameterprofil an die virtuelle Hardwareeinheit, welches mindestens einen Betriebsparameter umfasst; Ausführen des vorgegebenen Programmablaufs unter Verwendung der virtuellen Hardwareeinheit; Variieren des Betriebsparameterprofils der virtuellen Hardwareeinheit während des Ausführens des Programmablaufs; Überwachen der Leistungskenngröße des virtuellen Rechnersystems während des Ausführens des Programmablaufs und Bestimmen der Anforderungsparameter in Abhängigkeit der überwachten Leistungskenngröße des virtuellen Rechnersystems, wobei die Anforderungsparameter denjenigen Betriebsparametern der physischen Hardwareeinheit entsprechen, welche einen wohldefinierten Programmablauf gewährleisten.
  • Das Nachbilden kann auch Emulieren oder Virtualisieren umfassen. Hierbei kann Emulieren das teilweise Bereitstellen von Funktionalität durch die virtuelle Hardwareeinheit umfassen, wobei nicht bereitgestellte Funktionalität von einer physischen Hardwareeinheit bereitgestellt werden kann. Virtualisieren kann hierbei das vollständig Bereitstellen von Funktionalität durch die virtuelle Hardwareeinheit umfassen. Die nachgebildete Hardwareeinheit liegt virtuell vor und wird beispielsweise durch eine Softwarekomponente und/oder durch eine Bibliothek beschrieben und/oder nachgebildet. Die physische Hardwareeinheit liegt physisch, also materiell vor.
  • Zuordnen von Betriebsparameterprofilen kann beispielsweise das Auswählen geeigneter Betriebsparameter und die Zuweisung von geeigneten Definitionsbereichen an die Betriebsparameter umfassen. Hierbei werden Betriebsparameter in geeigneter Weise Betriebsparameterprofilen zugewiesen. Die Eignung der Zuweisung ergibt sich aus den jeweiligen Anwendungsszenarien. Beispielsweise mag es geeignet sein, gemäß einer vorhandenen physischen Hardwareeinheit, der virtuellen Hardwareeinheit möglichst identische Betriebsparameter zuzuordnen. Eine Zuordnung kann gemäß einer zu entwickelnden physischen Hardwareeinheit erfolgen, wobei Betriebsparameter der zu entwi ckelnden physischen Hardwareeinheit testweise einem Betriebsparameterprofil einer virtuellen Hardwareeinheit zugeordnet werden.
  • Beispielsweise kann zu einem Betriebsparameterprofil und/oder zu einer Funktionalität einer virtuellen Hardwareeinheit kein identisches Betriebsparameterprofil und/oder Funktionalität einer physischen Hardwareeinheit vorhanden sein. Die Hardwareeinheit wäre dann rein virtuell. Dann gibt es zur virtuellen Hardwareeinheit keine entsprechende physische Hardwareeinheit.
  • Virtuelle Hardwareeinheiten können beispielsweise als emulierte Hardwareeinheiten oder als virtualisierte Hardwareeinheiten vorliegen. Der Programmablauf wird unter Verwendung zumindest einer virtuellen Hardwareeinheit ausgeführt, wobei das entsprechende Betriebsparameterprofil der virtuellen Hardwareeinheit beispielsweise gemäß eines vorgegebenen Testprogramms variiert werden kann. Hieraus ergeben sich Leistungskenngrößen des virtuellen Rechnersystems während des Ausführens des Programmablaufs. Die Leistungskenngrößen werden dabei überwacht. Ausgehend von den überwachten Leistungskenngrößen des virtuellen Rechnersystems können Anforderungsparameter des Programmablaufs an die physische Hardwareeinheit, beziehungsweise an die physischen Hardwareeinheiten bestimmt werden. Anforderungsparameter sind hierbei diejenigen Betriebsparameter der physischen Hardwareeinheit, welche einen wohldefinierten Programmablauf gewährleisten. Anforderungsparameter können auch in Abhängigkeit von Betriebsparameterprofilen einer oder mehrerer virtuellen Hardwareeinheiten bestimmt werden. Insbesondere können Abhängigkeiten unterschiedlicher Betriebsparameter der physischen Hardwareeinheiten anhand der resultierenden Leistungskenngrößen systematisch bestimmt werden.
  • Bei der Durchführung des Verfahrens können zumindest eine Auswahl von Verfahrensschritten iterativ oder zeitlich parallel ausgeführt werden. Ferner können Betriebsparameterprofile in Programmabläufen in Abhängigkeit anderer Betriebsparameterprofile variiert werden. Beispielsweise kann ein Betriebsparameter, der die Kapazität eines Arbeitspeichers beschreibt, in Abhängigkeit eines Betriebsparameters, der die Kapazität eines Festplattenspeichers beschreibt, variiert werden. Ein vorteilhaftes Resultat wäre hierbei beispielsweise, dass aufgrund der überwachten Leistungskenngrößen teuerer Arbeitsspeicher durch vergleichsweise kostengünstigeren Festplattenspeicher zur Kostenreduktion ersetzt werden kann. Dies ist beispielsweise sinnvoll, wenn zur Gewährleistung des wohldefinierten Programmablaufs die mit dem Arbeitsspeicher verglichen niedrigeren Zugriffszeiten einer Festplatte ausreichend sind. Beispielsweise kann eine überwachte Leistungskenngröße eine Zugriffszeit auf einen Arbeitsspeicher sein.
  • Ferner können Betriebsparameterprofile derart variiert werden, dass überwachte Leistungskenngrößen sukzessive abgesenkt werden, bis ein wohldefinierter Programmablauf nicht mehr gewährleistet ist. Aus den überwachten Leistungskenngrößen in Abhängigkeit des jeweiligen Betriebsparameterprofils können somit die Anforderungsparameter bestimmt werden.
  • Das Variieren des Betriebsparameterprofils erfolgt beispielsweise über eine entsprechende Schnittstelleneinrichtung des virtuellen Rechnersystems, beziehungsweise der jeweiligen virtuellen Hardwareeinheit. Beispielsweise kann ein Hypervisor über eine geeignete Schnittstelleneinrichtung verfügen. Das Variieren der Betriebsparameterprofile kann ferner in Abhängigkeit der Überwachung der Leistungskenngröße geschehen. Stimmt die gemessene Leistungskenngröße nicht mindestens mit einer vorgegebenen Soll-Leistungskenngröße überein, können auf die Leistungskenngröße Einfluss nehmende Betriebsparameter entsprechend variiert werden.
  • Das Überwachen der Leistungskenngröße kann ein Erfassen, Messen, Schätzen, Protokollieren und/oder Speichern von Leistungskenngrößen umfassen. Hierzu wird beispielsweise der Programmablauf unter Verwendung einer virtuellen Hardwareeinheit ausgeführt und sich daraus ergebende Leistungskenngrößen gemessen oder durch beispielsweise statistische Verfahren geschätzt. Das Messen umfasst hierbei jede Art des Beobachtens, des, des Vergleichens, des digitalen oder des analogen Erfassens von Leistungskenngrößen. Das Schätzen umfasst hierbei jede Art der Hochrechnung, Interpolation, Extrapolation und/oder Inferenz beziehungsweise Deduktion. Als Voraussetzung zum Schätzen kann beispielsweise eine vorgegebene Menge an Informationen vorliegen, welche Erfahrungswerte von Leistungskenngrößen oder bereits überwachte Leistungskenngrößen wiedergegeben.
  • Die Erfindung betrifft ferner eine Rechneranlage zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit eines mehrere Hardwareeinheiten umfassenden physischen Rechnersystems. Die Rechneranlage kann über eine Steuereinrichtung verfügen, welche ein vorgenanntes Verfahren ausführt. Ferner kann die Rechneranlage über eine Nachbildeinrichtung, eine Zuordnungseinrichtung, eine Ausführungseinrichtung, eine Variierungseinrichtung und/oder eine Anforderungsparameterbestimmungseinrichtung verfügen. Die Nachbildeinrichtung, die Zuordnungseinrichtung, die Ausführungseinrichtung, die Variierungseinrichtung und/oder die Anforderungsparameterbestimmungseinrichtung können auch in der Steuereinrichtung umfasst sein.
  • Die Nachbildeeinrichtung kann die physische Hardwareeinheit als virtuelle Hardwareeinheit nachbilden und Funktionalität der physischen Hardwareeinheit durch die virtuelle Hardwareeinheit bereitstellen. Die Zuordnungseinrichtung kann virtuellen Hardwareeinheiten entsprechende Betriebsparameterprofile zuordnen.
  • Die Ausführungseinrichtung kann den vorgegebenen Programmablauf unter Verwendung der virtuellen Hardwareeinheit ausführen. Die Verwendung der virtuellen Hardwareeinheit kann beispielsweise in passiver oder aktiver Weise durchgeführt werden. Beispielsweise kann eine Hardwareeinheit aktiv Rechen schritte ausführen. Rechenschritte sind beispielsweise Grundrechenoperationen oder Wertzuweisungen an Variablen. Eine passive Verwendung umfasst beispielsweise das Protokollieren der Leistungskenngrößen. Eine Recheneinheit kann als Prozessor, Mikroprozessor, Computer, Computersystem, CPU (= Central Processing Unit), arithmetische Recheneinheit oder Schaltkreis ausgeführt sein.
  • Die Variierungseinrichtung kann das Betriebsparameterprofil der virtuellen Hardwareeinheit während des Programmablaufs variieren. Das Variieren umfasst beispielsweise das Zuweisen eines errechneten, geschätzten, gemessenen oder durch einen Benutzer eingegebenen Werts an den Betriebsparameter. Der Wert kann hierbei in Abhängigkeit von überwachten Leistungskenngrößen oder anderen Betriebsparameterprofilen errechnet werden. Beispielsweise können die Betriebsparameter derart variiert werden, dass sich bei jeder aufeinanderfolgenden Ausführung des Programmablaufs die überwachten Leistungskenngrößen verringern. Wie die Betriebsparameter zu variieren sind, kann die Variierungseinrichtung ferner aus einem Datenspeicher auslesen.
  • Die Überwachungseinrichtung kann Leistungskenngrößen der virtuellen Hardwareeinheit überwachen, welche zum Ausführen des vorgegebenen Programmablaufs verwendet werden. Auf Grundlage der überwachten Leistungskenngrößen kann die Anforderungsparameterbestimmungseinrichtung, die Anforderungsparameter des Programmablaufs an die Hardwareeinheit bestimmen.
  • Die Nachbildeeinrichtung, die Zuordnungseinrichtung, die Ausführungseinrichtung, die Variierungseinrichtung, die Überwachungseinrichtung und die Anforderungsparameterbestimmungseinrichtung können in physischer Form vorliegen, sie können aber auch als nachgebildete Hardwareeinheiten virtuell vorliegen, wobei die Funktionalität der physischen Hardwareeinheit zumindest teilweise nachgebildet ist. Beispielsweise können vorgenannte Einrichtungen als Computerprogrammteil implementiert sein.
  • Die Erfindung betrifft darüber hinaus ein Computerprogrammprodukt, welches die Durchführung eines Verfahrens zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit veranlasst.
  • Somit werden ein Verfahren und eine Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit beschrieben, wodurch umfangreiche, präzise und systematische Tests des Ausführens von Programmabläufen auf unterschiedlichen Zielsystemen ermöglicht werden. Ferner können die Anforderungsparameter an mindestens eine physische Hardwareeinheit, beziehungsweise Abhängigkeiten zwischen Betriebsparameterprofilen zwischen mehreren Hardwareeinheiten in Abhängigkeit einer überwachten Leistungskenngröße bestimmt werden.
  • Weitere vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschriebenen Ausführungsbeispiele. Im Weiteren wird die Erfindung anhand beispielhafter Implementierungen unter Bezugnahme auf die beigelegten Figuren näher erläutert. Es zeigt dabei:
  • 1 ein Ablaufdiagramm einer Variante eines Verfahrens zum Bestimmen von Anforderungsparametern;
  • 2 eine schematische Darstellung einer Rechneranlage zur Bestimmung von Anforderungsparametern;
  • 3 ein Ablaufdiagramm einer Variante eines Verfahrens zum Bestimmen von Anforderungsparametern; und
  • 4 eine schematische Darstellung einer Rechneranlage zur Bestimmung von Anforderungsparametern.
  • In den Figuren sind gleiche beziehungsweise funktionsgleiche Elemente mit den gleichen Bezugszeichen versehen worden, sofern nichts Anderes angegeben ist.
  • 1 zeigt ein Ablaufdiagramm einer Variante eines Verfahrens zum Bestimmen von Anforderungsparametern. Hierbei wird in einem ersten Verfahrensschritt 100 ein vorgegebener Programmablauf unter Verwendung einer als virtuelle Hardwareeinheit nachgebildeten physischen Hardwareeinheit ausgeführt. In einem nächsten Verfahrensschritt 101 wird ein Betriebsparameterprofil der virtuellen Hardwareeinheit variiert. Um Anforderungsparameter an die physische Hardwareeinheit empirisch zu ermitteln, kann es notwendig sein, die Verfahrensschritte 100 ”Ausführen eines Programmablaufs” und 101 ”Variieren des Betriebsparameterprofils” nacheinander iterativ auszuführen. Dies wird in 1 durch einen weiteren Pfeil, der die Verfahrensschritte 101 und 100 verbindet, gekennzeichnet. Pfeile zeigen hierbei eine mögliche Ausführungsreihenfolge der Verfahrensschritte an.
  • Ein Anforderungsparameter sind diejenigen Betriebsparameter einer Hardwarekomponente, welche zum Ausführen eines vorgegebenen Programmablaufs mindestes erforderlich sind. Betriebsparameter beschreiben nicht-funktionale Eigenschaften einer Hardwareeinheit. Beispiele hierfür können sein: Taktung eines Prozessors, Lese- oder Schreibzugriffszeiten eines Speichers, Kapazität eines Speichers, Umdrehungen einer Festplatte, Bandbreite einer Sende- oder Empfangseinrichtung. Betriebsparameter können in Betriebsparameterprofilen bezüglich einer Hardwarekomponente zusammengefasst werden.
  • Anforderungsparameter eines Datenbankmanagementsystems an eine Festplatte ist beispielsweise eine geforderte Zugriffszeit bei einem Lesevorgang. Liegt die Zugriffszeit über dem Anforderungsparameter kann, beispielsweise durch einen Time-Out, der wohldefinierte Programmablauf des Datenbankmanagementsystems nicht gewährleistet werden. Ein Anforderungsparameter eines Programmablaufs an eine Festplatte kann beispielsweise eine Mindestkapazität von 500 GB sein, da sonst generierte Datenmengen nicht persistent gespeichert werden können.
  • Die virtuelle Hardwareeinheit weist Leistungskenngrößen auf, welche sich in Abhängigkeit des Betriebsparameterprofils und des auszuführenden Programmablaufs ergeben. Anhand einer überwachten Leistungskenngröße werden in einem Verfahrensschritt 102 Anforderungsparameter des Programmablaufs an die physische Hardwareeinheit bestimmt.
  • 2 zeigt eine schematische Darstellung einer Rechneranlage 1 zur Bestimmung von Anforderungsparametern eines vorgegebenen Programmablaufs an mindestens eine physische Hardwareeinheit. Die Rechneranlage 1 verfügt über eine Steuereinrichtung 11, welche über eine Schnittstelleneinrichtung 11a mit Nachbildeeinrichtungen 12, 13 und 14 kommuniziert. Kommunikation ist durch Doppelpfeile angedeutet. Beispielsweise handelt es sich bei einem Block 12 um eine Nachbildeeinrichtung zum Nachbilden einer Festplatte, bei einem Block 13 um eine Nachbildeeinrichtung zum Nachbilden eines Wechselspeicherlaufwerks und bei einem Block 14 um eine Nachbildeeinrichtung zum Nachbilden einer Netzwerkkarte. Hierbei sind auch Nachbildeeinrichtungen zum Nachbilden anderer physischer Hardwareeinheiten denkbar. Physische Hardwareeinheiten sind hierbei zum Betrieb eines Rechnersystems notwendige Hardwarekomponenten, wobei die Verwendung in passiver oder aktiver Weise erfolgen kann.
  • Analog kann die Verwendung der virtuellen Hardwareeinheit passive oder aktive Verwendung umfassen. Beispielsweise kann eine Hardwareeinheit aktiv Rechenschritte ausführen, beispielsweise Grundrechenoperationen oder Wertzuweisungen an Variablen. Beispielsweise kann ein Zuordnen der Betriebsparameter an das Betriebsparameterprofil, das Nachbilden der physischen Hardwareeinheiten, das Ausführen des Programmablaufs und/oder das Bestimmen der Anforderungsparameter durch eine virtuelle Hardwareeinheit veranlasst werden, welche als Recheneinheit implementiert ist. Eine Recheneinheit kann als Prozessor, Mikroprozessor, Computer, Computersystem, CPU, Central Processing Unit, arithmetische Recheneinheit und/oder Schaltkreis ausgeführt sein. Eine passive Verwendung umfasst beispielsweise das Protokollieren der Leistungskenngrößen und/oder das Speichern der Betriebsparameter, der Betriebsparameterprofile und/oder der bestimmten Anforderungsparameter.
  • Leistungskenngrößen beschreiben hierbei das sich aus den Betriebsparametern ergebende nicht-funktionale Verhalten der Hardwareeinheit oder des Rechnersystems in Abhängigkeit des Ausführens des Programmablaufs. Leistungskenngrößen können sich auf physische und/oder auf virtuelle Hardwareeinheiten oder Rechnersysteme beziehen. Beispielsweise ist eine Leistungskenngröße eine sich aus Taktung einer Rechnereinheit und/oder Taktung eines Speichers ergebende Bearbeitungszeit eines Programmablaufs durch ein virtuelles Rechnersystem.
  • Ein Programmablauf kann eine Testroutine, einen Algorithmus, ein Softwareprogramm, eine Befehlssequenz und/oder eine Programmroutine, zur Berechnung einer Ausgabe oder zum Bereitstellen eines Dienstes umfassen. Beispielsweise kann ein Programmablauf eine zu testende Softwarekomponente sein. Beispielsweise soll für ein Datenbankmanagementsystem getestet werden, welche Anforderungen an eine verwendete Festplatte bezüglich Antwortzeiten benötigt werden. Eine Antwortzeit ist hierbei eine Leistungskenngröße, welche durch den Betriebsparameter ”Anzahl der Umdrehungen” einer Festplatte beeinflusst werden kann.
  • Ferner umfasst die in 2 beschriebene Rechneranlage 1 eine Ausgabeeinheit 10, welche die durch die Steuereinrichtung 11 erfassten Anforderungsparameter ausgibt. Eine Ausgabeeinheit kann hierbei ein Drucker, ein Bildschirm oder eine Vorrichtung zur Wiedergabe eines akustischen Signals sein. Alternativ zu der Ausgabeeinheit kann eine Vorrichtung zum Speichern der Anforderungsparameter vorgesehen sein. Die Vorrichtung zum Speichern der Anforderungsparameter kann als jegliche Art von Speicher, beispielsweise als Festplatte, Flash Disk, CD, DVD, Band und/oder als Wechseldatenträger, vorliegen.
  • Das Nachbilden der physischen Hardwareeinheit ist besonders dann vorteilhaft, wenn die physische Hardwareeinheit in Betrieb ist und der Betrieb nicht unterbrochen werden kann. Bietet die physische Hardwareeinheit beispielsweise einen Dienst an, so kann sie nachgebildet werden und unter Verwendung der nachgebildeten, virtuellen Hardwareeinheit können Anforderungsparameter an die physische Hardwareeinheit bestimmt werden. Der angebotene Dienst kann somit ohne Unterbrechung der physischen Hardwareeinheit angeboten werden. Insbesondere ist es möglich, das Nachbilden von Hardwareeinheiten softwarebasiert durchzuführen. Hierzu können Betriebsparameterprofile ohne Modifikation des physischen Rechnersystems systematisch und reproduzierbar variiert werden. Hierdurch können Anforderungsparameter bestimmt werden, welche diejenigen Betriebsparameter der physischen Hardwareeinheit sind, welche einen wohldefinierten Programmablauf gewährleisten.
  • Zum Ausführen der in 1 beschriebenen Verfahrensschritte kann die Steuereinrichtung 11 folgende Einrichtungen umfassen: eine Zuordnungseinrichtung 11b zum Zuordnen des Betriebsparameterprofils an die virtuelle Hardwareeinheit, eine Ausführungseinrichtung 11c zum Ausführen des vorgegebenen Programmablaufs unter Verwendung der virtuellen Hardwareeinheit, eine Variierungseinrichtung 11d zum Variieren des Betriebsparameterprofils der virtuellen Hardwareeinheit während des Programmablaufs, eine Überwachungseinrichtung 11e zum Überwachen der Leistungskenngröße und eine Anforderungsparameterbestimmungseinrichtung 11f zum Bestimmen der Anforderungsparameter.
  • Durch die Zuordnungseinheit 11b wird einer virtuellen Hardwareeinheit, welche von einer der Nachbildeeinrichtungen 12, 13 oder 14 bereitgestellt wird, ein Betriebsparameterprofil zugeordnet. Geeignete Betriebsparameterprofile werden durch die Zuordnungseinheit 11b beispielsweise über die Steuereinrichtung 11 aus einem Datenspeicher 9 ausgelesen, in Abhängigkeit einer Leistungskenngröße bereitgestellt oder in Ab hängigkeit einer Benutzereingabe bereitgestellt. Benutzer kann hierbei eine weitere Einrichtung oder ein menschlicher Benutzer, beispielsweise ein Administrator sein. Zuordnen kann beispielsweise auch das Zuweisen eines Definitionsbereichs an einen Betriebsparameter umfassen. Zuordnen kann weiterhin das Zuweisen von Betriebsparametern an Betriebsparameterprofile umfassen. Wird das Verfahren zum ersten Mal durchgeführt kann Zuordnen auch das Belegen der Betriebsparameter mit initialen Werten umfassen. Beispielsweise kann eine Taktrate eines Prozessors, welcher durch eine Nachbildeeinrichtung als virtueller Prozessor nachgebildet wurde, initial mit 2 GHz belegt werden. Analog kann ein nachgebildeter, virtueller Arbeitsspeicher initial mit 2 GB belegt werden.
  • Die Ausführungseinrichtung 11c führt einen vorgegebenen Programmablauf unter Verwendung der virtuellen Hardwareeinheit aus. Der Programmablauf wird somit durch die virtuelle Hardwareeinheit ausgeführt oder durch die virtuelle Hardwareeinheit im Zusammenwirken mit den anderen virtuellen Hardwareeinheiten oder, im Falle eines Emulierens, unter Zusammenwirkung von physischen Hardwareeinheiten mit der virtuellen Hardwareeinheit ausgeführt. Die Verwendung umfasst aktive sowie passive Verwendung.
  • Die Variierungseinrichtung 11d variiert das Betriebsparameterprofil der jeweiligen virtuellen Hardwareeinheit. Das Variieren umfasst beispielsweise das Zuweisen eines errechneten, geschätzten, gemessenen oder durch einen Benutzer eingegebenen Werts an den Betriebsparameter. Der Wert kann hierbei in Abhängigkeit von überwachten Leistungskenngrößen oder anderen Betriebsparameterprofilen errechnet werden. Beispielsweise können die Betriebsparameter derart variiert werden, dass sich bei jeder aufeinanderfolgenden Ausführung des Programmablaufs die überwachten Leistungskenngrößen verringern. Wie die Betriebsparameter zu variieren sind, kann die Variierungseinrichtung 11d ferner über die Steuereinrichtung 11 aus einem Datenspeicher 9 auslesen.
  • Die Überwachung der Leistungskenngrößen geschieht durch eine Überwachungseinrichtung 11e. Die Überwachungseinrichtung 11e überwacht Leistungskenngrößen einer Hardwareeinheit, einer Auswahl von Hardwareeinheiten oder des gesamten virtuellen Rechnersystems. Aus den überwachten Leistungskenngrößen bestimmt die Anforderungsparameterbestimmungseinrichtung 11f die Anforderungsparameter des Programmablaufs an die physische Hardwareeinheit. Die Anforderungsparameter sind diejenigen Betriebsparameter, die einen wohldefinierten Programmablauf gewährleisten. Hierbei können sich Anforderungsparameter auf eine physische Hardwareeinheit, eine Auswahl von physischen Hardwareeinheiten oder ein physisches Rechnersystem beziehen.
  • 3 zeigt ein Ablaufdiagramm einer Variante eines Verfahrens zum Bestimmen von Anforderungsparametern. In einem ersten Verfahrensschritt 200 wird eine physische Hardwareeinheit als virtuelle Hardwareeinheit nachgebildet. Die nachgebildete, virtuelle Hardwareeinheit findet Verwendung in den Verfahrensschritten 201, 202, 203 und 204, was in 3 durch einen übergeordneten Verfahrensschritt 200, mittels einem die Verfahrensschritte 201, 202, 203 und 204 umfassenden Block grafisch dargestellt ist. Der Verfahrensschritt 200 umfasst das Bereitstellen einer virtuellen Hardwareeinheit, was beispielsweise durch Emulieren oder Virtualisieren geschehen kann. Beispielsweise kann der Verfahrensschritt durch einen Hypervisor durchgeführt werden. Ein Hypervisor kann beispielsweise VMWare sein. Ein Hypervisor kann eine Nachbildeeinrichtung umfassen, beispielsweise die in 2 beschriebene Nachbildeeinrichtung 12 zum Nachbilden einer Festplatte, die Nachbildeeinrichtung 13 zum Nachbilden eines Wechselspeicherlaufwerks und/oder die Nachbildeeinrichtung 14 zum Nachbilden einer Netzwerkkarte.
  • Emulieren kann das teilweise Bereitstellen von Funktionalität durch die virtuelle Hardwareeinheit umfassen, wobei nicht bereitgestellte Funktionalität von einer physischen Hardwareeinheit bereitgestellt werden kann. Beispielsweise können bei einem Emulieren Lesezugriffe auf einen ersten Datensatz einer Festplatte durch eine virtuelle Hardwareeinheit ausgeführt werden und Schreibzugriffe auf einen zweiten Datensatz der Festplatte durch eine physische Hardwareeinheit ausgeführt werden. Virtualisieren kann hierbei das vollständige Bereitstellen von Funktionalität durch die virtuelle Hardwareeinheit beschreiben.
  • Beispielsweise werden bei einem Virtualisieren einer physischen Festplatte die Funktionalität der physischen Festplatte, wie beispielsweise das Lesen und das Schreiben der Datensätze, durch eine virtuelle Festplatte ausgeführt. Eine virtuelle Festplatte ist hierbei eine virtuelle Hardwareeinheit, welche die Funktionalität einer physischen Festplatte durch Emulieren oder Virtualisieren bereitstellt. Betriebsparameter der virtuellen Hardwareeinheit wie beispielsweise die Speicherkapazität können hierbei unter Verwendung einer physischen Festplatte bereitgestellt werden. Analog kann auch eine physische Festplatte Speicherkapazität für mehrere virtuelle Festplatten bereitstellen. Selbst bei einer vollständigen Nachbildung der Funktionalität der physischen Festplatte, wie beispielsweise Schreib- oder Leseoperationen, benötigt also eine virtuelle Festplatte einen physischen Speicher, um den Betriebsparameter Speicherkapazität entsprechend der vorhandenen physischen Speicherkapazität anbieten zu können.
  • In einem virtuellen Rechnersystem kann die Anzahl der umfassten virtuellen Hardwareeinheiten ungleich der Anzahl der physischen Hardwareeinheiten des nachgebildeten, physischen Rechnersystems sein. Beispielsweise können in einem virtuellen Rechnersystem mehrere virtuelle Hardwareeinheiten vorhanden sein, welche durch eine einzige physische Hardwareeinheit betrieben werden. Ein Nachbilden einer physischen Hardwareeinheit stellt nicht zwangsläufig eine Bijektion zwischen physischen Hardwareeinheiten und virtuellen Hardwareeinheiten dar, sondern kann auch eine n:m Abbildung sein. Hierbei sind n und m jeweils natürliche Zahlen, welche die Anzahl der jeweiligen Hardwareeinheiten benennen.
  • Nachbilden einer physischen Hardwareeinheit umfasst daher das Bereitstellen und Betreiben einer virtuellen Hardwareeinheit gemäß der Funktionalität der jeweiligen physischen Hardwareeinheit.
  • Im Verfahrensschritt 201 wird der virtuellen Hardwareeinheit ein Betriebsparameterprofil zugeordnet. Hierzu werden aus einer Menge von Betriebsparametern geeignete Betriebsparameter ausgewählt und Betriebsparameterprofilen zugewiesen, welche wiederum der virtuellen Hardwareeinheit zugewiesen werden. Ferner umfasst das Zuordnen das Zuweisen von Definitionsbereichen an die Betriebsparameter. Wird das Verfahren ein erstes Mal ausgeführt umfasst das Zuordnen auch die Zuweisung initialer Werte an die Betriebsparameter. In einem Verfahrensschritt 202 wird ein vorgegebener Programmablauf unter Verwendung der virtuellen Hardwareeinheit ausgeführt. An der Ausführung können neben der virtuellen Hardwareeinheit auch andere virtuelle oder physische Hardwareeinheiten beteiligt sein. Ein Programmablauf kann hierbei eine Testroutine, einen Algorithmus, ein Softwareprogramm, eine Befehlssequenz und/oder eine Programmroutine umfassen. Beispielsweise kann ein Programmablauf ein Office-Programm, ein Datenbankmanagementsystem, ein Video-Player, ein Steuerungsprogramm oder Serverdienst sein. Weiterhin können Programmabläufe serverseitig oder clientseitig und/oder verteilt ausgeführt werden.
  • Beispielsweise stellt ein Office-Programm Anforderungsparameter an den Betriebsparameter Speicherkapazität einer physische Festplatte, da es lokal auf der Festplatte installiert wird. Ein wohldefinierter Programmablauf kann beispielsweise sein, dass jederzeit die erzeugten Dokumente persistent gespeichert werden können. Zum persistenten Speichern stellt ein Office-Programm ebenfalls Anforderungsparameter an eine physische Festplatte. Bezüglich des Abgleichs von Dokumenten mit einer entfernten Dokumentenablage benötigt das Office-Programm eine Netzwerkanbindung, welche beispielsweise über eine physische Netzwerkkarte bereitgestellt wird. Anforde rungsparameter an die physische Netzwerkkarte kann dann beispielsweise eine vorgegebene Bandbreite sein.
  • Zum Bestimmen von Anforderungsparameter an einen physischen Arbeitsspeicher kann in einem Schritt 200 der Arbeitsspeicher als virtueller Arbeitsspeicher nachgebildet werden. Der Programmablauf des Office-Programms wird dann unter Verwendung des virtuellen Arbeitsspeichers, welchem ein Betriebsparameterprofil in einem Schritt 201 zugeordnet wurde, ausgeführt.
  • Das Ausführen des Office-Programms erfolgt in einem Schritt 202, wobei ein entsprechendes Betriebsparameterprofil, welches die Speicherkapazität des virtuellen Arbeitsspeichers festlegt, in einem Schritt 203 variiert wird. Beispielsweise wird die Kapazität bei mehreren Ausführungen des Programmablaufs durch ein Testprogramm, das über eine geeignete Schnittstelle die Veränderung der den Betriebsparametern zugewiesenen Werten vornehmen kann, sukzessive verringert. Der Programmablauf gilt beispielsweise als nicht mehr wohldefiniert, wenn sich durch Auslagerung von Daten auf den Festplattenspeicher, aufgrund der verminderten Speicherkapazität des virtuellen Arbeitsspeichers, erhebliche Zeitverzögerungen ergeben. Die Zeitverzögerung ist eine Leistungskenngröße der verwendeten virtuellen Hardwareeinheit. Überschreitet die Zeitverzögerung eine vorgegebene Soll-Leistungskenngröße, ist der wohldefinierte Programmablauf nicht mehr gewährleistet.
  • Die Anforderungsparameter beschreiben nun diejenigen Betriebsparameter des Arbeitsspeichers, welche beim Ausführen des Office-Programms unter Verwendung des virtuellen Arbeitsspeichers die Soll-Leistungskenngröße erfüllen. Der Einsatz des erfindungsgemäßen Verfahrens im beschriebenen Beispiel ist vorteilhaft, weil die Anforderungsparameter des Office-Programms an den physischen Arbeitsspeicher systematisch und ohne Modifikationen an einem physischen Rechnersystem bestimmt werden können.
  • Im Verfahrensschritt 203 werden Betriebsparameterprofile variiert. Das Variieren umfasst hierbei das Zuweisen von veränderten Werten an die Betriebsparameter. Dies kann in Abhängigkeit eines weiteren Betriebsparameterprofils einer virtuellen Hardwareeinheit geschehen. Weiterhin können Betriebsparameter derart variiert werden, dass sich in einem Programmablauf gemessene Leistungskenngrößen in einem nächsten Programmablauf vermindern. Beispielsweise kann in jeweils nachfolgenden Programmabläufen die Taktung eines Prozessors vermindert werden, so dass die jeweilige Ausführung des Programmablaufs im Vergleich zum jeweils vorherigen Ausführen des Programmablaufs länger dauert. So kann beispielsweise getestet werden, bei welcher Taktung des Prozessors ein time-out auftritt. Wie die entsprechenden Betriebsparameter zu variieren sind, kann aus einem Datenspeicher ausgelesen werden, berechnet, geschätzt oder auch durch Benutzereingabe bestimmt werden.
  • Im Verfahrensschritt 204 werden die sich aus dem Betriebsparameterprofil und dem Programmablauf ergebenden Leistungskenngrößen überwacht. Eine Leistungskenngröße ist beispielsweise eine Ausführungszeit, die das Ausführen eines Programmablaufs unter Verwendung der virtuellen Hardwareeinheit benötigt. Anhand der überwachten Leistungskenngrößen werden in Verfahrensschritt 205 Anforderungsparameter an die physische Hardwareeinheit bestimmt.
  • Zum Bestimmen von Anforderungsparametern an die physische Hardwareeinheit können die Verfahrensschritte 200, 201, 202, 203, 204 und 205 parallel, teilweise parallel oder in der gleichen Reihenfolge iterativ ausgeführt werden. Beispielsweise kann der Verfahrensschritt 203, in welchem die Betriebsparameterprofile variiert werden, parallel zum Verfahrensschritt 202 durchgeführt werden. Hieraus ergibt sich, dass die Betriebsparameter während des Ausführens des Programmablaufs unter Verwendung der virtuellen Hardwareeinheit variiert werden.
  • Verfahrensschritt 204 ”Überwachen der Leistungskenngröße” kann beispielsweise parallel zu Verfahrensschritt 202 ”Ausführen des Programmablaufs” und Verfahrensschritt 203 ”Variieren der Betriebsparameterprofile” durchgeführt werden, um so die sich ergebenden Leistungskenngrößen zu überwachen. Beispielsweise kann eine in 2 beschriebene Überwachungseinrichtung 11e, Leistungskenngrößen, wie beispielsweise Ausführungszeiten von Programmabläufen mitprotokollieren, während eine Taktung eines nachgebildeten, virtuellen Prozessors während des Ausführens des Programmablaufs sukzessive vermindert wird. Beispielsweise kann auch Verfahrensschritt 201 parallel zum Ausführen des Programmablaufs in Verfahrensschritt 202 durchgeführt werden. Mögliche Ausführungsreihenfolgen der Verfahrensschritte sind in 3 entsprechend durch Pfeile gekennzeichnet.
  • 4 zeigt eine schematische Darstellung einer Rechneranlage 3 zur Bestimmung von Anforderungsparametern. Hierzu wird ein vorgegebener Programmablauf 300 durch ein Testprogramm 302 in einer Instanz eines Tests 301 bezüglich der Anforderungsparameter des vorgegebenen Programmablaufs an mindestens eine physische Hardwareeinheit getestet. Alternativ kann das Testprogramm 302 auch als ”Test Driver” bezeichnet werden. Sowohl der Programmablauf 300, als auch das Testprogramm 302 greifen über ein Gastbetriebssystem 303, alternativ auch ”Guest-Operating-System” genannt, auf ein virtuelles Rechnersystem 304 zu.
  • Das virtuelle Rechnersystem umfasst die virtuellen Hardwareeinheiten 305a, 305b, 305c, 305d und 305e. Die virtuellen Hardwareeinheiten werden jeweils durch Nachbildeeinrichtungen 306a, 306b, 306c, 306d und 306e, welche in einer Nachbildevorrichtung 306 umfasst sein können, bereitgestellt. Die Nachbildeeinrichtungen 306a, 306b, 306c, 306d und 306e bilden jeweils eine physische Hardwareeinheit als eine virtuelle Hardwareeinheit nach. Die Nachbildeeinrichtungen 306a, 306b, 306c, 306d und 306e können über eine Performance-Limiter-Einrichtung verfügen, welche das Betriebsparameterprofil der jeweiligen virtuellen Hardwareeinheit derart variiert, dass sich eine abnehmende Leistungskenngröße bei jeder Wiederholung des Ausführens des Programmablaufs ergibt. Eine Performance-Limiter-Einrichtung kann beispielsweise einer in 2 beschriebenen Variierungseinrichtung entsprechen. Performance-Limiter-Einrichtungen können über eine Performance-Limiting-Control-Einrichtung, über die die Schnittstelleneinrichtung 310 angesteuert wird, verfügen. Physische Hardwareeinheiten können beispielsweise als Netzwerkkarte, als Wechselspeicherlaufwerk, als Festplatte, als Speicherbaustein, als Prozessor oder Mikroprozessor vorliegen.
  • Die Betriebsparameterprofile der virtuellen Hardwareeinheiten können durch das Testprogramm 302 über eine Schnittstelleneinrichtung 310 zugeordnet, beziehungsweise variiert werden. Das Testprogramm 302 veranlasst das Ausführen des Programmablaufs 300 für jeden Test 301 und überwacht die sich aus dem Programmablauf 300 und dem Betriebsparameterprofil der virtuellen Hardwareeinheit ergebenden Leistungskenngrößen. Leistungskenngrößen werden durch das Testprogramm 302 protokolliert, und in Abhängigkeit der protokollierten Leistungskenngrößen werden durch das Testprogramm 302 Anforderungsparameter des Programmablaufs 300 an die physische Hardwareeinheit bestimmt. Dies kann beispielsweise, wie bereits beschrieben, durch sukzessives Vermindern der Leistungskenngrößen und Überwachen des Ausführens des Programmablaufs durchgeführt werden.
  • Die Nachbildevorrichtung 306 mit den ihr zugeordneten Nachbildeeinrichtungen 306a, 306b, 306c, 306d und 306e greift über das Hostbetriebssystem 307, alternativ auch ”Host-Operating-System” genannt, auf das physische Rechnersystem 308 zu, was in 4 durch bidirektionale Pfeile gekennzeichnet ist. ”Guest-Operating-System” 303 und ”Host-Operating-System” 307 können beispielsweise als eine Version von Windows oder als eine Version von Linux vorliegen. Das physische Rechnersystem 308 verfügt über die physischen Hardwareeinheiten 309a, 309b, 309c, 309d und 309e.
  • In einer alternativen Ausführungsform können die Nachbildeeinrichtungen 306a, 306b, 306c, 306d und 306e physische Hardwareeinrichtungen nachbilden, welche sich bezüglich der Betriebsparameterprofile und der Definitionsbereiche der Betriebsparameter von den physischen Hardwareeinheiten 309a, 309b, 309c, 309d und 309e unterscheiden und somit ein physisches Rechnersystem nachbilden, welches nicht dem physischen Rechnersystem 308 entspricht.
  • Ein mögliches Einsatzszenario der in 4 beschriebenen Rechneranlage 3 ist das Testen von virtuellen Hardwareeinheiten (305a, 305b, 305c, 305d, 305e) eines virtuellen Rechnersystems 304 bei einem Ausführen von Programmabläufen 300, unter Verwendung einer herkömmlichen Festplatte und/oder unter Verwendung eines Arbeitsspeichers. Ein vorteilhaftes Resultat wäre beispielsweise, dass aufgrund der überwachten Leistungskenngrößen teuerer Arbeitsspeicher durch vergleichsweise kostengünstigeren Festplattenspeicher zur Kostenreduktion ersetzt werden kann. Dies ist beispielsweise sinnvoll, wenn zur Gewährleistung des wohldefinierten Programmablaufs 300 die mit dem Arbeitsspeicher verglichen niedrigeren Zugriffszeiten einer Festplatte ausreichend sind. Somit können beispielsweise Auslagerungsdaten in hohem Umfang auf den, im Vergleich zu Arbeitsspeicher, kostengünstigeren Festplattenspeichern gespeichert werden. Da die Daten somit auf der Festplatte gespeichert sind und nicht auf dem Arbeitsspeicher, kann somit Arbeitsspeicher eingespart werden.
  • Ein weiteres Beispiel ist die Simulation der Verwendung von Flash Disks. Die Leistungskenngrößen Schreibgeschwindigkeit und Lesegeschwindigkeit sind bei Flash Disks im Gegensatz zu einer herkömmlichen Festplatte asymmetrisch. Beispielsweise benötigt ein Schreiben auf die Flash Disk länger, als ein Lesen von der Flash Disk. Anhand der vorbeschriebenen Rechneranlage 3 können die physische Hardwareeinheit Festplatte und die physische Hardwareeinheit Flash Disk nachgebildet werden. Der Programmablauf kann nun ein erstes Mal unter Verwendung einer virtuellen Festplatte und ein zweites mal unter Verwendung einer virtuellen Flash Disk ausgeführt werden. Durch Variieren der Betriebsparameterprofile der virtuellen Hardwareeinheit Festplatte und der virtuellen Hardwareeinheit Flash Disk, können nun systematisch deren Leistungskenngrößen beim Ausführen des Programmablaufs überwacht werden. Anhand des Tests kann beispielsweise das Ersetzen einer herkömmlichen Festplatte durch eine Flash Disk simuliert werden. Gewährleisten verminderte Leistungskenngrößen von physischen Hardwareeinheiten eines bestehenden physischen Rechnersystems einen wohldefinierten Programmablauf, so können entsprechende physische Hardwareeinheiten durch physische Hardwareeinheiten mit verminderten Leistungskenngrößen eingesetzt werden. Hierdurch lässt sich eine Kostenreduktion erzielen.
  • Vorteilhaft ist hierbei, dass Anforderungsparameter systematisch, unter Einbeziehung eines Betriebssystems (303), ohne Verwendung teurer, physischer Hardwarekomponenten (309a, 309b, 309c, 309d, 309e) und ohne Modifikationen an einem physischen Rechnersystem (308) bestimmt werden können.

Claims (23)

  1. Verfahren zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit (309a, 309b, 309c, 309d, 309e) eines mehrere Hardwareeinheiten umfassenden physischen Rechnersystems (308), wobei eine aus Betriebsparametern resultierende Leistungskenngröße der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e) einer vordefinierten Leistungskenngröße entsprechen soll, wobei unter Verwendung einer als virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e) nachgebildeten Hardwareeinheit mit variierbaren Betriebsparametern ein vorgegebener Programmablauf 300 ausgeführt wird und die Anforderungsparameter, welche ein wohldefiniertes Ausführen des Programmablaufs 300 unter Verwendung der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e) gewährleisten, in Abhängigkeit einer überwachten Leistungskenngröße der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) bestimmt werden.
  2. Verfahren nach Anspruch 1, wobei zumindest eine Auswahl der folgenden Schritte ausgeführt wird: – Nachbilden (200) der physischen Hardwareeinheit als virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e) zum Ausbilden zumindest eines Teils eines virtuellen Rechnersystems (304), welches dem physischen Rechnersystem (308) entspricht; – Zuordnen (201) von mindestens einem Betriebsparameterprofil an die virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e), welches mindestens einen Betriebsparameter umfasst; – Ausführen (202) des vorgegebenen Programmablaufs unter Verwendung der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e); – Variieren (203) des Betriebsparameterprofils der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) während des Ausführens (202) des Programmablaufs (300); – Überwachen (204) der Leistungskenngröße des virtuellen Rechnersystems (304) während des Ausführens (202) des Programmablaufs (300); – Bestimmen (205) der Anforderungsparameter in Abhängigkeit der überwachten Leistungskenngröße des virtuellen Rechnersystems (304), wobei die Anforderungsparameter Betriebsparametern der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e) entsprechen, welche einen wohldefinierten Programmablauf (300) gewährleisten.
  3. Verfahren nach Anspruch 2, wobei zum Bestimmen der Anforderungsparameter das Ausführen (202) des Programmablaufs (300), das Variieren (203) des Betriebsparameterprofils und/oder das Überwachen (204) der Leistungskenngröße des virtuellen Rechnersystems (304) mehrfach in gleicher Abfolge ausgeführt wird.
  4. Verfahren nach Anspruch 2, wobei zum Bestimmen (205) der Anforderungsparameter das Ausführen (202) des Programmablaufs (300), das Variieren (203) des Betriebsparameterprofils und/oder das Überwachen (204) der Leistungskenngröße des virtuellen Rechnersystems (304) zumindest teilweise zeitlich parallel ausgeführt wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Programmablauf (300) mehrfach ausgeführt wird und das Betriebsparameterprofil derart variiert wird, dass die überwachte Leistungskenngröße des virtuellen Rechnersystems (304) bei einem Programmablauf (300) geringer ist als die überwachte Leistungskenngröße des virtuellen Rechnersystems (304) bei einem zeitlich zuvor ausgeführten Programmablauf (300).
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Nachbilden (200) der physischen Hardwareeinheit Virtualisieren umfasst.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei das Nachbilden (200) der physischen Hardwareeinheit Emulieren umfasst.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei das Variieren (203) des Betriebsparameterprofils mittels einer Schnittstelleneinrichtung (310) des virtuellen Rechnersystems (304) erfolgt.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei das Nachbilden (200) der physischen Hardwareeinheit ein Erweitern eines Hypervisors um eine Schnittstelleneinrichtung (310) zum Variieren (203) des Betriebsparameterprofils der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) umfasst.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei zum Variieren (203) des Betriebsparameterprofils mindestens ein Betriebsparameter in Abhängigkeit mindestens eines weiteren Betriebsparameters variiert wird.
  11. Verfahren nach einem der Ansprüche 1 bis 10, wobei das Variieren (203) eines Betriebsparameterprofils einer ersten virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) in Abhängigkeit eines Betriebsparameterprofils einer zweiten virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) erfolgt.
  12. Verfahren nach einem der Ansprüche 1 bis 11, wobei das Variieren (203) des Betriebsparameterprofils derart geschieht, dass die virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e) eine vorgegebene Soll-Leistungskenngröße erreicht.
  13. Verfahren nach Anspruch 12, wobei die Soll-Leistungskenngröße der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) in Abhängigkeit des Programmablaufs (300) bestimmt wird.
  14. Verfahren einem der Ansprüche 2 bis 13, wobei das Variieren (203) des Betriebsparameterprofils in Abhängigkeit des Überwachens der Leistungskenngröße (204) geschieht.
  15. Verfahren nach einem der Ansprüche 2 bis 14, wobei das Überwachen (204) der Leistungskenngröße Erfassen, Messen, Schätzen, Protokollieren und/oder Speichern von Leistungskenngrößen umfasst.
  16. Verfahren nach einem der Ansprüche 1 bis 15, wobei der Programmablauf (300) eine Testroutine, einen Algorithmus, ein Software-Programm, eine Befehlssequenz und/oder eine Programmroutine umfasst.
  17. Rechneranlage (1) zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit (309a, 309b, 309c, 309d, 309e) eines mehrere Hardwareeinheiten umfassenden physischen Rechnersystems (308), mit einer Steuereinrichtung (11) zum Nachbilden der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e) als virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e), zum Zuordnen von mindestens einem Betriebsparameterprofil an die virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e), zum Variieren des Betriebsparameterprofils der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e), zum Überwachen einer Leistungskenngröße und zum Bestimmen der Anforderungsparameter, wobei die Anforderungsparameter, welche ein wohldefiniertes Ausführen eines vorgegebenen Programmablaufs (300) unter Verwendung der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e) gewährleisten.
  18. Rechneranlage (1) nach Anspruch 17, wobei die Steuereinrichtung (11) umfasst: mindestens eine Nachbildeeinrichtung (12, 13, 14) zum Nachbilden der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e), mindestens eine Zuordnungseinrichtung (11b) zum Zuordnen des Betriebsparameterprofils an die virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e), mindestens eine Ausführungseinrichtung (11c) zum Ausführen des vorgegebenen Programmablaufs (300) unter Verwendung der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e), mindestens eine Variierungseinrichtung (11d) zum Variieren des Betriebsparameterprofils der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) während des Programmablaufs (300), mindestens eine Überwachungseinrichtung (11e) zum Überwachen der Leistungskenngröße und/oder mindestens eine Anforderungsparameterbestimmungseinrichtung (11f) zum Bestimmen der Anforderungsparameter.
  19. Rechneranlage (1) nach Anspruch 17 oder 18, wobei die Rechneranlage (1) derart ausgestaltet ist, dass ein Verfahren nach einem der Ansprüche 1 bis 16 ausgeführt wird.
  20. Rechneranlage (3) nach Anspruch 18 oder 19, wobei die Nachbildeeinrichtung als Hypervisor, in welchem eine Schnittstelleneinrichtung (310) zum Variieren des Betriebsparameterprofils der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e), vorgesehen ist, ausgeführt ist.
  21. Rechneranlage (1) nach einem der Ansprüche 18 bis 20, wobei die Variierungseinrichtung (11d) das Betriebsparameterprofil der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) während des Ausführens des Programmablaufs (300) über die Schnittstelleneinrichtung (11a) variiert.
  22. Rechneranlage (1) nach einem der Ansprüche 17 bis 21, wobei die Nachbildeeinrichtung (12, 13, 14), die Zuordnungseinrichtung (11b), die Ausführungseinrichtung (11c), die Variierungseinrichtung (11d), die Überwachungseinrichtung (11e) und die Anforderungsparameterbestimmungseinrichtung (11f) zumindest teilweise als Computerprogrammprodukt implementiert sind.
  23. Computerprogrammprodukt, welches ein Verfahren nach einem der Ansprüche 1 bis 16 auf einer Rechneranlage (1, 3) nach einem der Ansprüche 17 bis 22 durchführt.
DE102008046096A 2008-09-05 2008-09-05 Verfahren und Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit Ceased DE102008046096A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102008046096A DE102008046096A1 (de) 2008-09-05 2008-09-05 Verfahren und Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit
EP09780864A EP2318962A1 (de) 2008-09-05 2009-07-21 Verfahren und vorrichtung zum bestimmen von anforderungsparametern an mindestens eine physische hardwareeinheit
PCT/EP2009/059342 WO2010025994A1 (de) 2008-09-05 2009-07-21 Verfahren und vorrichtung zum bestimmen von anforderungsparametern an mindestens eine physische hardwareeinheit
US13/058,254 US8457944B2 (en) 2008-09-05 2009-07-21 Method and device for determining requirement parameters of at least one physical hardware unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008046096A DE102008046096A1 (de) 2008-09-05 2008-09-05 Verfahren und Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit

Publications (1)

Publication Number Publication Date
DE102008046096A1 true DE102008046096A1 (de) 2010-06-10

Family

ID=41278219

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008046096A Ceased DE102008046096A1 (de) 2008-09-05 2008-09-05 Verfahren und Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit

Country Status (4)

Country Link
US (1) US8457944B2 (de)
EP (1) EP2318962A1 (de)
DE (1) DE102008046096A1 (de)
WO (1) WO2010025994A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012146406A1 (en) 2011-04-23 2012-11-01 Deubzer Michael Method for the design evaluation of a system

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011021069A2 (en) * 2009-08-19 2011-02-24 Nxp B.V. Lazy resource management
US9058428B1 (en) 2012-04-12 2015-06-16 Amazon Technologies, Inc. Software testing using shadow requests
US9268663B1 (en) * 2012-04-12 2016-02-23 Amazon Technologies, Inc. Software testing analysis and control
US9009677B2 (en) * 2013-03-18 2015-04-14 Microsoft Technology Licensing, Llc Application testing and analysis
JP2015154818A (ja) * 2014-02-20 2015-08-27 任天堂株式会社 据置型のゲーム装置、ゲーム装置、ゲームシステム、コンピュータプログラム及び速度制御方法
US9690708B2 (en) * 2015-05-19 2017-06-27 Qualcomm Incorporated Real-time cache behavior forecast using hypothetical cache
EP3763089B1 (de) * 2018-04-18 2022-06-01 Siemens Aktiengesellschaft Verfahren und steuersystem zum steuern und/oder überwachen von geräten
JP7070110B2 (ja) * 2018-06-06 2022-05-18 日本電信電話株式会社 配置装置および配置方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006024325A1 (en) * 2004-08-31 2006-03-09 Freescale Semiconductor, Inc. Method for estimating power consumption
US7555419B2 (en) * 2006-07-23 2009-06-30 Hewlett-Packard Development Company, L.P. Simulation of system execution of instructions
US20100274550A1 (en) * 2008-01-24 2010-10-28 National Chung Cheng University Integrated development structure having virtual inputs/outputs for embedded hardware/software

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012146406A1 (en) 2011-04-23 2012-11-01 Deubzer Michael Method for the design evaluation of a system
US9405864B2 (en) 2011-04-23 2016-08-02 Michael Deubzer Method for a design evaluation of a system

Also Published As

Publication number Publication date
US8457944B2 (en) 2013-06-04
EP2318962A1 (de) 2011-05-11
WO2010025994A1 (de) 2010-03-11
US20110172985A1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
DE102008046096A1 (de) Verfahren und Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit
DE102019003851A1 (de) Systeme und Verfahren zum automatischen Realisieren von Modellen zu Co-Simulation
DE10035046B4 (de) Pflegen, Emulieren und Manipulieren des Zeitablaufs von Anwender-Interaktionsereignissen
DE112016003949T5 (de) Webbasierte programmierumgebung für eingebettete geräte
DE112013001809B4 (de) Zyklusgenauer und zyklusreproduzierbarer Speicher für einen Hardware-Beschleuniger auf der Grundlage von FPGAs
DE112012004776T5 (de) Erzeugen einer Produktionsserver-Lastaktivität für einen Testserver
EP2765528B1 (de) Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit
DE112012003716T5 (de) Erzeugen von kompiliertem Code, der Registeraktivität angibt
DE102014110096A1 (de) Testeinrichtung zum Echtzeittest eines virtuellen Steuergeräts
EP2685382A1 (de) Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms
DE112013000330T5 (de) In-Situ-Neubewertung von Prozessoren
DE112019002778T5 (de) Simulationsvorrichtung, simulationsverfahren und elektronische steuereinheitsvorrichtung
EP3398092A1 (de) Verfahren zum konfigurieren einer co-simulation für ein gesamtsystem
DE112020007444T5 (de) Automatische Testeinrichtung, Prozess und Computerprogramm zum Testen eines oder mehrerer zu testender Geräte, wobei unterschiedliche Testaktivitäten Teilsätze von Ressourcen des zu testenden Geräts nutzen
DE112023003983T5 (de) Automatisierte bereitstellung eines maschinellen lernmodells
DE102012211975B4 (de) Echtzeitbewertung einer Einheit
DE102010025954A1 (de) Verfahren und Anordnung zur vollständigen oder teilweisen Nachbildung und/oder Simulation eines Automatisierungssystems
EP2321729B1 (de) Verfahren und vorrichtung zum analysieren einer ausführung eines vorgegebenen programmablaufs auf einem physischen rechnersystem
DE10333088A1 (de) Verfahren zum Liefern von Zugriff auf die internen Signale eines dynamischen Systemmodells von außerhalb bezüglich der Modellierungsumgebung
DE102006019292A1 (de) Modellieren programmierbarer Einrichtungen
DE112017008061T5 (de) Simulationsvorrichtung, simulationsverfahren und simulationsprogramm
DE102012217328A1 (de) Verfahren zum Simulieren eines Steuergeräts
DE112017006932B4 (de) Simulationseinrichtung, Simulationsverfahren und Simulationsprogramm
DE102019216684B4 (de) Verfahren zur Timinganalyse von Anwendungssoftware für ein eingebettetes System, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbarer Datenträger
EP3001318A1 (de) Bestimmung von Signalen für Readback aus FPGA

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection
R003 Refusal decision now final

Effective date: 20110204