DE102018104070A1 - System und verfahren zur auswahl einer computerplattform - Google Patents

System und verfahren zur auswahl einer computerplattform Download PDF

Info

Publication number
DE102018104070A1
DE102018104070A1 DE102018104070.9A DE102018104070A DE102018104070A1 DE 102018104070 A1 DE102018104070 A1 DE 102018104070A1 DE 102018104070 A DE102018104070 A DE 102018104070A DE 102018104070 A1 DE102018104070 A1 DE 102018104070A1
Authority
DE
Germany
Prior art keywords
platform
computer
model
design parameters
performance measurement
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.)
Pending
Application number
DE102018104070.9A
Other languages
English (en)
Inventor
Unmesh Dutta Bordoloi
Paolo Giusto
Scheil Samii
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102018104070A1 publication Critical patent/DE102018104070A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking

Abstract

Verfahren und Vorrichtungen werden für das Auswählen einer Computerplattform bereitgestellt. Das Verfahren beinhaltet das Sammeln von Plattformmerkmaldaten für jede einer Vielzahl von existierenden Computerplattformen in einer bestimmten Klasse von Computerplattformen. Die Plattformmerkmaldaten für jede der Vielzahl von vorhandenen Computerplattformen beinhalten eine Vielzahl von Design-Parametern und eine Leistungsmessung für die Computerplattform, um eine Benchmarking-Softwarekomponente abzuschließen. Das Verfahren beinhaltet ferner das Schulen eines mathematischen Modells unter Verwendung der gesammelten Plattformmerkmaldaten, um ein Vorhersagemodell für die Vorhersage einer vorhergesagten Leistungsmessung für eine Computerplattform in der bestimmten Klasse von Computerplattformen zu entwickeln, wenn sie mit Entwurfsparametern versehen sind, und mit dem Vorhersagemodell die vorhergesagte Leistungsmessung einer neuen Computerplattform vorherzusagen, die nicht zum Testen verfügbar ist, sowie die Auswahl einer Computerplattform unter Verwendung der vorhergesagten Leistungsmessung.

Description

  • TECHNISCHES GEBIET
  • Die in diesem Patentdokument beschriebene Technologie bezieht sich allgemein auf Computerplattformen und insbesondere auf das Vorhersagen der Leistung von Computerplattformen unter Verwendung vorläufiger Design-Parameter.
  • HINTERGRUND
  • Computerplattformen, wie zentrale Verarbeitungseinheiten (CPUs), Mikroprozessoreinheiten (MPUs) und digitale Signalprozessoren (DSPs), werden in zahlreichen Produkten verwendet. Produkthersteller haben für den Einsatz in ihren Produkten ein umfangreiches Angebot an Computerplattformen zur Auswahl. Bei einigen Produktdesigns werden Computerplattformen zur Verwendung ausgewählt, bevor die Computerplattformen auf physische Form reduziert wurden.
  • Dementsprechend ist es wünschenswert, ein System für das Vorhersagen der Leistung einer Computerplattform und eines System für das Auswählen einer Computerplattform basierend auf der vorhergesagten Leistung der Computerplattform bereitzustellen, wenn eine in Betracht gezogene Computerplattform nicht auf eine physische Form reduziert wurde. Außerdem werden andere wünschenswerte Merkmale und Eigenschaften der vorliegenden Erfindung aus der nachfolgenden ausführlichen Beschreibung der Erfindung und den hinzugefügten Ansprüchen in Verbindung mit den zugehörigen Zeichnungen und dem Hintergrund der Erfindung sichtbar.
  • KURZDARSTELLUNG
  • Es wird ein System für das Auswählen einer Computerplattform bereitgestellt. Das System beinhaltet einen oder mehrere Prozessoren und nichtflüchtige computerlesbare Medien. Das nichtflüchtige computerlesbare Medium ist mit Programmieranweisungen codiert, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, bewirken, dass das System Plattformmerkmaldaten für jede aus einer Vielzahl von existierenden Computerplattformen in einer bestimmten Klasse von Computermodellen sammelt. Die Plattformmerkmaldaten für jede der Vielzahl von vorhandenen Computerplattformen beinhalten eine Vielzahl von Design-Parametern und eine Leistungsmessung für die Computerplattform, wenn eine Benchmarking-Softwarekomponente ausgeführt wird. Das nichtflüchtige computerlesbare Medium ist ferner mit Programmieranweisungen codiert, die bei Ausführung durch den einen oder die mehreren Prozessoren bewirken, dass das System ein mathematisches Modell unter Verwendung der gesammelten Plattformmerkmaldaten schult, um ein Vorhersagemodell für die Vorhersage einer vorhergesagten Leistungsmessung einer Computerplattform in der bestimmten Klasse von Computermodellen zu entwickeln, wenn sie mit Design-Parametern versehen sind, die üblicherweise auf einem Plattformanbieterdatenblatt zu finden sind, und mit dem Vorhersagemodell die vorhergesagte Leistungsmessung einer neuen Computerplattform vorhersagen, die nicht zum Testen verfügbar ist.
  • Es wird ein computerimplementiertes Verfahren für das Auswählen einer Computerplattform bereitgestellt. Das Verfahren beinhaltet das Sammeln von Plattformmerkmaldaten für jede einer Vielzahl von existierenden Computerplattformen in einer bestimmten Klasse von Computerplattformen. Die Plattformmerkmaldaten für jede der Vielzahl von vorhandenen Computerplattformen beinhalten eine Vielzahl von Design-Parametern und eine Leistungsmessung für die Computerplattform, um eine Benchmarking-Softwarekomponente abzuschließen. Das Verfahren beinhaltet ferner das Schulen eines mathematischen Modells unter Verwendung der gesammelten Plattformmerkmaldaten, um ein Vorhersagemodell für die Vorhersage einer vorhergesagten Leistungsmessung einer Computerplattform in der bestimmten Klasse von Computerplattformen zu entwickeln, wenn sie mit Entwurfsparametern versehen sind, und mit dem Vorhersagemodell die vorhergesagte Leistungsmessung einer neuen Computerplattform vorherzusagen, die nicht zum Testen verfügbar ist, sowie die Auswahl einer Computerplattform unter Verwendung der vorhergesagten Leistungsmessung.
  • Figurenliste
  • Aspekte der vorliegenden Offenbarung werden am besten aus der folgenden ausführlichen Beschreibung verstanden, wenn sie mit den zugehörigen Figuren gelesen wird, wobei gleiche Bezugszeichen gleiche Elemente bezeichnen, und
    • 1 ein Verfahrensablaufdiagramm ist, das ein exemplarisches computerimplementiertes Verfahren auf der Grundlage von maschinellem Lernen für das Vorhersagen der Leistung einer Computerplattform zeigt, wenn sie beauftragt wird, eine spezifische Softwareanwendung auszuführen, gemäß einigen Ausführungsformen;
    • 2 ein Verfahrensablaufdiagramm ist, das ein exemplarisches Verfahren für das Sammeln von Entwurfsparametern und Benchmark-Daten für eine Vielzahl von Computerplattformen darstellt, gemäß einigen Ausführungsformen;
    • 3 ein Verfahrensablaufdiagramm ist, das ein exemplarisches Verfahren für das Schulen eines Modells darstellt, gemäß einigen Ausführungsformen;
    • 4 ein Verfahrensablaufdiagramm ist, das ein exemplarisches Verfahren für das Testen eines Vorhersagemodells darstellt, gemäß einigen Ausführungsformen;
    • 5 ein Verfahrensablaufdiagramm ist, das ein exemplarisches Verfahren für das Vorhersagen einer Leistung einer Ziel-Computerplattform darstellt, gemäß einigen Ausführungsformen;
    • 6 ein Diagramm ist, das exemplarische Plattformmerkmaldaten zeigt, die in einem Datensatz gespeichert und verwendet werden können, um ein Vorhersagemodell unter Verwendung eines Verfahrens wie dem in 2 dargestellten zu schulen, gemäß einigen Ausführungsformen;
    • 7 ein Diagramm ist, das die Verwendung der exemplarischen Plattformmerkmaldaten für das Schulen eines Vorhersagemodells unter Verwendung eines wie in den 3 und 4 gezeigten Verfahrens, darstellt, gemäß einigen Ausführungsformen;
    • 8 ein Diagramm ist, das exemplarische Entwurfsparameter für eine Zielplattform zeigt, die einem Vorhersagemodell bereitgestellt werden können, um die Ausführungszeit der Zielplattform unter Verwendung eines wie in 5 veranschaulichten Verfahrens vorauszusagen, gemäß einigen Ausführungsformen; und
    • 9 ein schematisches Blockdiagramm eines exemplarischen Computersystems ist, das verwendet werden kann, um die hierin beschriebenen Techniken und Verfahren zu implementieren, gemäß einigen Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Offenbarung stellt viele verschiedene Ausführungsformen oder Beispiele für das Implementieren verschiedener Merkmale des bereitgestellten Gegenstands bereit. Die folgende ausführliche Beschreibung ist lediglich exemplarischer Natur und soll die Erfindung oder die Anwendung und die Verwendungen der Erfindung nicht einschränken. Darüber hinaus besteht keinerlei Verpflichtung zur Einschränkung auf eine der im vorstehenden Hintergrund oder in der folgenden ausführlichen Beschreibung dargestellten Theorien.
  • Der hierin beschriebene Gegenstand offenbart Vorrichtungen, Systeme, Techniken und Artikel, basierend auf maschinellem Lernen, um die Leistung einer Computerplattform bei dem Ausführen einer Softwareanwendung vorherzusagen. Die beschriebenen Techniken ermöglichen die Vorhersage der Leistung einer Computerplattform, ohne dass tatsächlich eine Software auf der Computerplattform implementiert und ausgeführt wird. Die Vorhersagen können getätigt werden, bevor die Computerplattform in physischer Form verfügbar ist. Die beschriebenen Techniken ermöglichen die Vorhersage der Leistungsfähigkeit einer Computerplattform ohne Verwendung eines Simulators, der eine detaillierte Modellierung der Computerplattform benötigt. Die beschriebenen Techniken können abstrakte Informationen (wie z. B. spezifische Design-Parameter, wie Frequenz, Cache, Pipeline-Tiefe usw.) bezüglich der Computerplattform verwenden. Die beschriebenen Techniken können Vorhersagen liefern, die ausreichend genau sind, selbst wenn nicht alle Design-Parameter bekannt sind. Zusätzlich kann die Vorhersagegenauigkeit durch wiederholtes Anpassen des Vorhersagemodells systematisch verbessert werden.
  • 1 ist ein Verfahrensablaufdiagramm, das ein exemplarisches computerimplementiertes Verfahren auf der Grundlage von maschinellem Lernen für das Vorhersagen der Leistung einer Computerplattform zeigt, wenn sie beauftragt wird, eine spezifische Softwareanwendung auszuführen. Die vorhergesagte Leistungsmessung in diesem Beispiel ist die vorhergesagte Ausführungszeit. Das Beispielverfahren kann die Ausführungszeit von Testsoftware auf der Computerplattform vorhersagen, ohne die Software tatsächlich auszuführen. Die Leistungsprognose kann als Datenpunkt verwendet werden, wenn eine Computerplattform für ein in Entwicklung befindliches Produkt ausgewählt wird. Dies kann die Auswahl einer Computerplattform zur Verwendung in einem neuen Produktdesign ermöglichen, bevor die Computerplattform in physischer Form für Softwaretests verfügbar ist.
  • Wie hierin verwendet, bezieht sich eine Computerplattform auf ein physikalisches Gerät, das Berechnungen ausführen kann, wie etwa eine zentrale Verarbeitungseinheit (CPU), eine Mikroprozessoreinheit (MPU), eine Mikrocontrollereinheit (MCU), einen anwendungsspezifischen Befehlssatzprozessor (ASIP), eine Grafikverarbeitungseinheit (GPU), eine Physikverarbeitungseinheit (PPU), einen digitalen Systemprozessor (DSP), einen Rechner mit beschränktem Befehlssatz-Prozessor (RISC), einen Bildprozessor, einen Coprozessor, eine Gleitkommaeinheit, einen Netzwerkprozessor, einen Mehrkernprozessor, einen Front-End-Prozessor, ein feldprogrammierbares Gate-Array (FPGA), eine Videoverarbeitungseinheit, eine Bildverarbeitungseinheit, eine Tensor-Verarbeitungseinheit (TPU), eine neuronale Verarbeitungseinheit (NPU), ein System auf einem Chip (SOC) und andere.
  • Das in 1 dargestellte exemplarische Verfahren beinhaltet Operationen für das Sammeln von Plattformmerkmaldaten für eine Vielzahl von existierenden Computerplattformen (Operation 102). Die vorhandenen Computerplattformen beziehen sich auf Plattformen, die sich in der gleichen Klasse von Plattformen wie die Computerplattform befinden, deren Leistung das Beispielverfahren vorhersagen soll. Wenn beispielsweise das exemplarische Verfahren implementiert wird, um die Leistung einer neuen in Entwicklung befindlichen GPU vorherzusagen, dann wären die existierenden Computerplattformen eine Teilmenge der GPUs, die zum Zeitpunkt der Ausführung des Beispielverfahrens existieren. Die Vielzahl von existierenden Computerplattformen, von denen Plattformmerkmaldaten gesammelt werden, kann als ein Schulungssatz von Computerplattformen bezeichnet werden.
  • Plattformmerkmaldaten enthalten in diesem Beispiel Design-Parameter und Benchmark-Daten. Design-Parameter beziehen sich in diesem Beispiel auf Arten von Daten, die typischerweise verwendet werden, um die Merkmale einer Computerplattform zu beschreiben. Beispiele für Design-Parameter beinhalten Betriebsfrequenz, Anzahl der Kerne, Anzahl der Threads, Anzahl der Caches, Größe der Caches, Größe des integrierten Speichers, Datenbusgröße (z. B. 32-Bit-, 64-Bit- usw.), Adressbusgröße, Betriebsspannung, Herstellungsverfahren, externe Speicher und andere leistungsbezogene Komponenten, die mit der Computerplattform verbunden sind.
  • Benchmark-Daten beziehen sich in diesem Beispiel auf Daten, die die Leistung der Computerplattform bei der Ausführung spezifischer Benchmark-Software beschreiben. Insbesondere beziehen sich Benchmark-Daten in diesem Beispiel auf eine Leistungsmessung, wie eine Ausführungszeit-Leistungsmessung für die Computerplattform. Insbesondere ist die Ausführungszeit-Leistungsmessung in diesem Beispiel die Ausführungszeit, die erforderlich ist, um die Ausführung der spezifischen Benchmarking-Software zu vervollständigen. In einem anderen Beispiel kann sich die Ausführungszeit-Leistungsmessung auf die Ausführungszeit der Computerplattform beziehen, um die Ausführung bestimmter Teile spezifischer Benchmark-Software zu vervollständigen. In anderen Beispielen können sich Benchmark-Daten auf andere Arten von Leistungsmessungen beziehen.
  • Das in 1 dargestellte exemplarische Verfahren beinhaltet ebenfalls Operationen für das Schulen und Evaluieren eines mathematischen Modells unter Verwendung der gesammelten Entwurfsparameter und Benchmark-Daten (Operation 104). Das Schulen eines mathematischen Modells unter Verwendung der gesammelten Plattformmerkmaldaten wird unter Verwendung von maschinellen Lerntechniken durchgeführt, um ein Vorhersagemodell oder einen Algorithmus für das Vorhersagen einer Ausführungszeit-Leistungsmessung für eine Computerplattform basierend auf den Design-Parametern der Computerplattform zu entwickeln. Als Beispiel bietet Waikato Environment for Knowledge Analysis (Weka) eine Open-Source-Suite von Software für maschinelles Lernen, die in Java geschrieben ist. Weka-Software kann unter Verwendung der hierin beschriebenen Operationen geschult werden, um ein Vorhersagemodell oder einen Algorithmus für das Vorhersagen einer Ausführungszeit-Leistungsmessung für eine Computerplattform basierend auf den Design-Parametern der Computerplattform zu entwickeln. In anderen Beispielen kann das Schulen eines mathematischen Modells unter Verwendung der gesammelten Plattformmerkmaldaten unter Verwendung von Maschinenlerntechniken durchgeführt werden, um ein Vorhersagemodell oder einen Algorithmus für das Vorhersagen einer oder mehrerer anderer Leistungsmessungen für eine Computerplattform basierend auf den Design-Parametern der Computerplattform zu entwickeln.
  • Abschließend beinhaltet das in 1 dargestellte exemplarische Verfahren Operationen für das Vorhersagen der Leistung einer neuen Computerplattform unter Verwendung des geschulten Modells (Operation 106). Unter Verwendung des geschulten Vorhersagemodells kann eine Leistungsmessung, wie z. B. eine Ausführungszeit-Leistungsmessung einer neuen Computerplattform die nicht in einer physikalischen Form ist, vorhergesagt werden. Diese Operationen ermöglichen die Leistungsprognosen einer Computerplattform, ohne dass tatsächlich eine Software auf der Computerplattform implementiert und ausgeführt wird.
  • Nach Implementierung des Beispielverfahrens zur Vorhersage der Leistung einer Computerplattform (z. B. vorhergesagte Ausführungszeit-Leistungsmessung) kann eine informierte Entscheidung getroffen werden, wenn eine Computerplattform für ein neues Produktdesign ausgewählt wird. Die Vorhersage-Information kann verwendet werden, wenn eine Computerplattform ausgewählt wird, die möglicherweise noch nicht in physischer Form zur Verwendung in einem Produktdesign verfügbar ist, und kann ein gewisses Maß an Sicherheit bieten, dass die Computerplattform, wenn sie verfügbar ist, die Leistungsanforderungen erfüllt.
  • 2 ist ein Verfahrensablaufdiagramm, das ein exemplarisches Verfahren des Sammelns von Entwurfsparametern und Benchmark-Daten für eine Vielzahl von Computerplattformen darstellt und ein Beispiel dafür liefert, wie die Operationen „Sammeln von Design-Parametern und Benchmark-Daten für eine Vielzahl von bestehenden Plattformen“ (Operation 102 von 1) durchgeführt werden kann. Das exemplarische Verfahren von 2 beinhaltet das Auswählen einer Computerplattform (Operation 202). Die ausgewählte Computerplattform sollte sich in derselben Klasse von Plattformen wie die neue Computerplattform befinden, für die ein Vorhersagemodell entwickelt wird, obwohl in einigen Beispielen die ausgewählte Computerplattform aus einer anderen Klasse stammen kann.
  • Für die ausgewählte Computerplattform werden Design-Parameter, die von dem Plattformanbieter bereitgestellt werden, zur Verwendung bei der Schulung eines Modells extrahiert (Operation 204). Als ein Beispiel können die Design-Parameter aus dem Datenblatt der Plattform extrahiert werden.
  • Außerdem wird die Leistung der ausgewählten Computerplattform unter Verwendung einer Benchmark-Software bewertet (Operation 206). Zum Beispiel kann die ausgewählte Computerplattform spezifische Benchmark-Software ausführen, um Benchmark-Daten zu erzeugen. Die Benchmark-Daten in diesem Beispiel können eine Messung der Ausführungszeit der Computerplattform beim Abschließen der Ausführung der spezifischen Benchmark-Software, oder die Ausführungszeit der Computerplattform bei dem Abschließen der Ausführung bestimmter Abschnitte der spezifischen Benchmark-Software umfassen. Alternativ können, wenn bereits Benchmark-Daten für eine ausgewählte Plattform vorhanden sind, die bereits vorhandenen Benchmark-Daten verwendet werden, anstatt die Leistung der Plattform mithilfe von Benchmark-Software zu bewerten, um neue Benchmark-Daten zu generieren.
  • Die relative Reihenfolge, in der die Operationen Design-Parameter extrahieren“ und „Plattformleistung mit Benchmark-Software auswerten“ durchgeführt werden, ist nicht wichtig. Jede Gruppe von Operationen kann ausgeführt werden, bevor die andere Gruppe von Operationen ausgeführt wird. Es spielt keine Rolle, welcher Satz von Operationen zuerst ausgeführt wird. Alternativ können beide Sätze von Operationen parallel ausgeführt werden.
  • Sowohl die extrahierten Design-Parameter als auch die Benchmarkdaten werden aufgezeichnet (Operation 208). Die extrahierten Design-Parameter und die Benchmark-Daten können in einem Datensatz in einer Computerspeichervorrichtung zur späteren Verwendung bei der Schulung eines Vorhersagemodells gespeichert werden.
  • Wenn Daten von zusätzlichen Plattformen gesammelt werden sollen (Entscheidung 210), werden die Operationen für das Auswählen einer Plattform, Extrahieren von Design-Parametern, Bewerten der Plattformleistung unter Verwendung einer Benchmark-Software und Aufzeichnen der Daten wiederholt. Andernfalls endet das Verfahren.
  • 3 ist ein Verfahrensflussdiagramm, das ein exemplarisches Verfahren für das Schulen eines Modells darstellt und ein Beispiel dafür liefert, wie die Operationen „Schulen und Evaluieren eines Modells unter Verwendung von gesammelten Design-Parametern und Benchmark-Daten“ (Operation 104 von 1) durchgeführt werden können. Das exemplarische Verfahren von 3 beinhaltet das Abrufen der Plattformmerkmaldaten, d. h. die extrahierten Design-Parameter und die gemessenen Benchmarkdaten für jede der in dem Schulungssatz verwendeten Computerplattformen (Operation 302).
  • Die abgerufenen Plattformmerkmaldaten werden verwendet, um ein mathematisches Modell zu schulen, um durch Modellschätzung ein Vorhersagemodell zu entwickeln (Operation 304). Das Vorhersagemodell kann verwendet werden, um die Benchmark-Daten einer Computerplattform basierend auf Design-Parametern vorherzusagen.
  • Nachdem das Vorhersagemodell anfänglich geschult wurde, wird das Vorhersagemodell getestet (Operation 306). Das Testen kann das Vergleichen von Vorhersagedaten mit gemessenen Daten beinhalten, um die Vorhersagegenauigkeit zu ermitteln.
  • Es wird eine Entscheidung hinsichtlich der Genauigkeit des Vorhersagemodells getroffen (Entscheidung 308). Wenn das Vorhersagemodell Genauigkeitsschwellenwerte erfüllt, endet das Verfahren. Wenn das Vorhersagemodell die Genauigkeitsschwellenwerte nicht erfüllt, wird eine Entscheidung getroffen, das Modell zu überarbeiten (Operation 310), und das Vorhersagemodell wird angepasst, um ein überarbeitetes Vorhersagemodell zu bilden (Operation 304). Der Zyklus der Modellschätzung (Operation 304), des Modelltests (Operation 306), der Modellrevision (Operation 310) wird wiederholt, bis die Modellgenauigkeit akzeptabel ist (Entscheidung 308).
  • 4 ist ein Verfahrensflussdiagramm, das ein exemplarisches Verfahren für das Testen eines Vorhersagemodells darstellt und ein Beispiel dafür liefert, wie die „Testmodell“-Operationen (Operation 306 von 3) durchgeführt werden können. In dem Beispielverfahren von 4 wird ein Satz von Test-Computerplattformen identifiziert (Operation 402). Aus dem Satz von Test-Computerplattformen wird eine bestimmte Testplattform ausgewählt (Operation 404). Die ausgewählte Testplattform sollte sich in der gleichen Plattformklasse wie der Satz der Schulungsplattformen befinden.
  • Für die ausgewählte Testplattform werden Design-Parameter, die von dem Plattformanbieter bereitgestellt werden, zur Verwendung bei der Schulung eines Modells extrahiert (Operation 406). Als ein Beispiel können die Design-Parameter aus dem Datenblatt der Plattform extrahiert werden. Die extrahierten Design-Parameter werden dem Vorhersagemodell zugeführt, damit das Vorhersagemodell die Benchmark-Leistung der Testplattform vorhersagen kann (Operation 408). Das Vorhersagemodell liefert eine Vorhersage darüber, was die Ausführungszeit der Testplattform wäre, wenn es die Benchmarking-Software ausführen würde, die während der Modellschulungsphase verwendet wurde. Die vorhergesagten Benchmark-Leistungsdaten werden aufgezeichnet (Operation 410).
  • Außerdem wird die Leistung der ausgewählten Testplattform unter Verwendung der gleichen Benchmark-Software evaluiert, die während der Modellschulungsphase verwendet wurde (Operation 412). Die Leistung der Testplattform kann durch Ausführen einer Benchmark-Software auf der Testplattform bewertet werden. Die Benchmark-Daten in diesem Beispiel können eine Messung der Ausführungszeit der Computerplattform beim Abschließen der Ausführung der spezifischen Benchmark-Software, oder die Ausführungszeit der Computerplattform bei dem Abschließen der Ausführung bestimmter Abschnitte der spezifischen Benchmark-Software umfassen. Alternativ können, wenn bereits Benchmark-Daten für eine ausgewählte Plattform vorhanden sind, die bereits vorhandenen Benchmark-Daten verwendet werden, anstatt die Leistung der Plattform mithilfe von Benchmark-Software zu bewerten, um neue Benchmark-Daten zu generieren. Die Benchmark-Leistungsdaten werden aufgezeichnet (Operation 414).
  • Die relative Reihenfolge, in der die Operationen „Design-Parameter extrahieren/Ausführungszeit vorhersagen“ und „Plattformleistung mit Benchmark-Software auswerten“ durchgeführt werden, ist nicht wichtig. Jede Gruppe von Operationen kann ausgeführt werden, bevor die andere Gruppe von Operationen ausgeführt wird. Es spielt keine Rolle, welcher Satz von Operationen zuerst ausgeführt wird. Alternativ können beide Sätze von Operationen parallel ausgeführt werden.
  • Die vorhergesagten Benchmark-Daten werden mit den tatsächlichen Benchmark-Daten verglichen (Operation 416). Die Genauigkeit des Vorhersagemodells wird basierend auf dem Vergleich bestimmt und berichtet (Operation 418).
  • 5 ist ein Verfahrensablaufdiagramm, das ein exemplarisches Verfahren für das Vorhersagen einer Leistung einer Ziel-Computerplattform darstellt. Eine Zielplattform wird für die Leistungsvorhersage ausgewählt (Operation 502). Design-Parameter werden aus Plattformanbieterinformationen extrahiert (Operation 504). Das Vorhersagemodell wird, z. B. nachdem das Testen und die Revision abgeschlossen wurden, verwendet, um die Leistung der Ziel-Computerplattform vorherzusagen (Operation 506). Eine vorhergesagte Leistungsmessung wird bereitgestellt (Operation 508). Die vorhergesagte Leistungsprognose kann verwendet werden, wenn eine Computerplattform für ein Produktdesign ausgewählt wird.
  • 6 ist ein Diagramm, das exemplarische Plattformmerkmaldaten zeigt, die in einem Datensatz (z. B. in Reaktion auf die Operation 208 von 2) gespeichert und verwendet werden können, um ein Vorhersagemodell unter Verwendung eines Verfahrens wie dem in 2 dargestellten zu schulen. In diesem Beispiel werden Plattformmerkmaldaten für drei Computerplattformen, SoCl, SoC2 und SoC3, gezeigt. Die aufgezeichneten Design-Parameter beinhalten die Anzahl der Kerne, die Frequenz, die L2-Cache-Größe und die Größe des integrierten Speichers. Es werden ebenfalls die Ergebnisse (z. B. Ausführungszeit in diesem Beispiel) aus dem Benchmarking der SoCs oder aus historischen Daten, die Ausführungszeiten aus früheren Benchmarking erfasst, aufgezeichnet.
  • 7 ist ein Diagramm, das die Verwendung der exemplarischen Plattformmerkmaldaten für das Schulen eines Vorhersagemodells unter Verwendung eines wie in den 3 und 4 gezeigten Verfahrens darstellt. In diesem Beispiel ist jeder Entwurfsparameter einer bestimmten Variablen zugeordnet und die Ausführungszeit ist die Ausgabe. Eine mathematische Formel, die das Verhältnis zwischen den Design-Parametern und der Ausführungszeit modelliert, wird durch maschinelle Lerntechniken bestimmt.
  • 8 ist ein Diagramm, das exemplarische Entwurfsparameter für eine Zielplattform zeigt, die einem Vorhersagemodell bereitgestellt werden können, um die Ausführungszeit der Zielplattform unter Verwendung eines wie in 5 veranschaulichten Verfahrens vorauszusagen. Dieses Diagramm veranschaulicht, dass ein geeignet geschultes Vorhersagemodell, das gemäß den hierin beschriebenen Techniken entwickelt wurde, verwendet werden kann, um die Leistung einer Zielplattform zu schätzen.
  • 9 ist ein schematisches Blockdiagramm eines exemplarischen Computersystems, das verwendet werden kann, um die hierin beschriebenen Techniken und Verfahren zu implementieren. Das exemplarische Computersystem kann ein oder mehrere Verarbeitungssysteme 902, einen Hauptspeicher 904, eine Netzwerkschnittstellenvorrichtung (NID) 910, einen Chipsatz 912, eine Festplatte 913 und einen Festplattencontroller 915, Eingabesysteme 916 und Ausgabesysteme 918 beinhalten.
  • Der Chipsatz 912 befindet sich normalerweise auf einem Motherboard und ist ein Satz elektronischer Komponenten (z. B. in einer integrierten Schaltung), die den Datenfluss zwischen dem oder den Verarbeitungssystemen 902 und anderen Elementen des Computersystems und den angeschlossenen Peripheriegeräten verbindet und verwaltet. So stellt beispielsweise der Chipsatz 912 eine Schnittstelle zwischen dem/den Verarbeitungssystem(en) 902 und dem Hauptspeicher 904 bereit und beinhaltet auch eine Funktionalität für das Bereitstellen einer Netzwerkkonnektivität durch den NID 910, beispielsweise einen Gigabit-Ethernet-Adapter. Der Chipsatz 912 enthält typischerweise die Prozessorbusschnittstelle (auch als Vorderseitenbus bekannt), Speichercontroller, Buscontroller, E/A-Controller usw.
  • Verarbeitungssysteme 902 stellen eine oder mehrere Allzweckverarbeitungsvorrichtungen, wie einen Mikroprozessor, eine zentralen Verarbeitungseinheit oder dergleichen, dar. Insbesondere kann/können das/die Verarbeitungssystem(e) 902 ein CISC-Mikroprozessor (CISC = Complex Instruction Set Computing), RISC-Mikroprozessor (RISC = Reduced Instruction Set Computing), VLIW-Mikroprozessor (VLIW = Very Long Instruction Word) oder ein Prozessor sein, der andere Befehlssätze implementiert oder Prozessoren, die eine Kombination von Befehlssätzen implementieren. Das/die Verarbeitungssystem(e) 902 kann/können auch ein oder mehrere Spezialverarbeitungsgeräte sein, wie eine anwendungsspezifische integrierte Schaltung (ASIC), ein Field Programmable Gate Array (FPGA), ein digitaler Signalprozessor (DSP), ein Netzwerkprozessor o. ä.
  • Das/die Verarbeitungssystem(e) 902 kann/können eine oder mehrere zentrale Verarbeitungseinheiten (CPUs) beinhalten, die in Verbindung mit dem Chipsatz 912 arbeiten. Das/die Verarbeitungssystem(e) 902 führt/führen arithmetische und logische Operationen durch, die für den Betrieb des exemplarischen Computersystems erforderlich sind.
  • Das NID 910 ist in der Lage, das exemplarische Computersystem über ein Netzwerk mit anderen Computern zu verbinden. Das Netzwerk kann ein Ethernet- oder Gigabyte-Ethernet-LAN, ein Faserring, ein Faserstern, drahtlos, optisch, Satellit, ein WAN, ein MAN oder eine andere Netzwerktechnologie, Topologie, ein anderes Protokoll oder eine Kombination davon sein.
  • Eingabesystem(e) 916 (oder Eingabevorrichtung(en)) ermöglichen einem Benutzer, Informationen in das Computersystem einzugeben und können eine Tastatur, eine Maus oder eine andere Cursorzeigevorrichtung, einen Stift, eine Spracheingabevorrichtung, eine Berührungseingabevorrichtung, ein Webcam-Gerät, ein Mikrofon usw. beinhalten. Ausgabesystem(e) 918 (oder Ausgabegerät(e)) stellen dem Benutzer des Computersystems Informationen bereit und können ein Display, einen Monitor, einen Lautsprecher oder dergleichen beinhalten.
  • Der Chipsatz 912 kann eine Schnittstelle zu verschiedenen Formen von computerlesbaren Speichermedien einschließlich eines Hauptspeichers 904 (z. B. eines Nur-Lesen-Speicher (ROM), eines Flash-Speichers, eines dynamischen Direktzugriffsspeichers (DRAM), wie etwa ein synchroner DRAM (SDRAM)), und eine Festplatte 913 bereitstellen. Das/die Verarbeitungssystem(e) 902 kann/können mit den verschiedenen Formaten computerlesbarer Speichermedien über den Chipsatz 912 und entsprechende Busse kommunizieren.
  • Eine Festplatte 913 ist eine Form eines nichtflüchtigen Speichers, der ein Betriebssystem (OS) 914 speichern kann. Das Betriebssystem 914 ist eine Software, die in das RAM kopiert und von dem oder den Verarbeitungssystemen 902 ausgeführt wird, um den Betrieb des exemplarischen Computersystems zu steuern, Computerhardware- und Softwareressourcen zu verwalten und gemeinsame Dienste für Computerprogramme bereitzustellen, die von dem/den Verarbeitungssystem(en) 902 ausgeführt werden. Ungeachtet der Implementierung beinhaltet das Betriebssystem 914 viele verschiedene „Komponenten“, die die verschiedenen Teile des exemplarischen Computersystems zusammenarbeiten lassen. Die Plattensteuerung 915 ist die Steuerschaltung, die es dem Verarbeitungssystem 902 ermöglicht, mit einer Festplatte 913 zu kommunizieren, und stellt eine Schnittstelle zwischen der Festplatte 913 und dem Bus bereit, der sie mit dem Rest des Systems verbindet.
  • Der Hauptspeicher 904 kann aus vielen verschiedenen Arten von Speicherkomponenten bestehen. Der Hauptspeicher 904 kann nichtflüchtigen Speicher (wie z. B. Nur-Lese-Speicher (ROM) 906, Flash-Speicher usw.) und flüchtigen Speicher (wie z. B. Direktzugriffsspeicher (RAM) 908) oder eine Kombination der beiden beinhalten. Der RAM 908 kann ein beliebiger Typ eines geeigneten Direktzugriffsspeichers sein, einschließlich der verschiedenen Arten von dynamischen Direktzugriffsspeichern (DRAM), wie z. B. SDRAM, die verschiedenen Arten von statischem RAM (SRAM). Der Hauptspeicher 904 (sowie das/die Verarbeitungssystem(e) 902) kann in dem exemplarischen Computersystem verteilt sein.
  • Der ROM 906 des Hauptspeichers 904 kann für das Speichern von Firmware verwendet werden, die einen die Grundroutinen enthaltenden Programmcode beinhaltet, die helfen, das exemplarische Computersystem zu starten und Informationen zwischen Elementen innerhalb des exemplarischen Computersystems zu übertragen. Der ROM des Hauptspeichers 904 kann auch andere Softwarekomponenten speichern, die für den Betrieb des exemplarischen Computersystems notwendig sind.
  • Der RAM 908 speichert Programme/Anweisungen 930 oder einen ausführbaren Code für ein oder mehrere Programme 934, die in Verarbeitungssystem(en) 902 geladen und ausgeführt werden können, um verschiedene Funktionen auszuführen. Die Programme/Anweisungen 930 sind computerlesbarer Programmcode, der in dem RAM 908 (oder einem anderen nichtflüchtigen computerlesbaren Medium des exemplarischen Computersystems) gespeichert werden kann, das von Verarbeitungssystem(en) 902 gelesen und ausgeführt werden kann, um verschiedene Handlungen, Aufgaben, Funktionen und Schritte, wie hierin beschrieben, auszuführen. Die hierin beschriebenen Verfahren und Techniken können in Programmieranweisungen 930 für die Ausführung durch das Verarbeitungssystem 902 erfasst werden, um das exemplarische Computersystem zu veranlassen, die beschriebenen Verfahren, Prozesse und Techniken auszuführen.
  • Hierin werden Techniken basierend auf maschinellem Lernen beschrieben, um die Leistung einer Computerplattform bei dem Ausführen einer Softwareanwendung vorherzusagen. Die beschriebenen Techniken ermöglichen die Vorhersage der Leistung einer Computerplattform, ohne dass tatsächlich eine Software auf der Computerplattform implementiert und ausgeführt wird. Die Vorhersagen können getätigt werden, bevor die Computerplattform in physischer Form verfügbar ist. Die beschriebenen Techniken ermöglichen die Vorhersage der Leistungsfähigkeit einer Computerplattform ohne Verwendung eines Simulators, der eine detaillierte Modellierung der Computerplattform benötigt. Die beschriebenen Techniken können abstrakte Informationen (wie z. B. spezifische Design-Parameter, wie Frequenz, Cache, Pipeline-Tiefe usw.) bezüglich der Computerplattform verwenden. Die beschriebenen Techniken können Vorhersagen liefern, die ausreichend genau sind, selbst wenn nicht alle Design-Parameter bekannt sind. Zusätzlich kann die Vorhersagegenauigkeit durch wiederholtes Anpassen des Vorhersagemodells systematisch verbessert werden.
  • In einer Ausführungsform wird ein computerimplementiertes Verfahren für das Auswählen einer Computerplattform bereitgestellt. Das Verfahren umfasst das Sammeln von Plattformmerkmaldaten für jede einer Vielzahl von existierenden Computerplattformen in einer bestimmten Klasse von Computerplattformen. Die Plattformmerkmaldaten für jede der Vielzahl von vorhandenen Computerplattformen umfassen eine Vielzahl von Design-Parametern und eine Leistungsmessung für die Computerplattform, um eine Benchmarking-Softwarekomponente abzuschließen. Das Verfahren umfasst ferner das Schulen eines mathematischen Modells unter Verwendung der gesammelten Plattformmerkmaldaten, um ein Vorhersagemodell für die Vorhersage einer vorhergesagten Leistungsmessung einer Computerplattform in der bestimmten Klasse von Computerplattformen zu entwickeln, wenn sie mit Entwurfsparametern versehen sind, und mit dem Vorhersagemodell die vorhergesagte Leistungsmessung einer neuen Computerplattform vorherzusagen, die nicht zum Testen verfügbar ist, sowie die Auswahl einer Computerplattform unter Verwendung der vorhergesagten Leistungsmessung.
  • Diese Aspekte und andere Ausführungsformen können eines oder mehrere der folgenden Merkmale beinhalten. Das Schulen eines mathematischen Modells kann das Anwenden der gesammelten Plattformmerkmaldaten für eine Vielzahl von vorhandenen Computerplattformen als Eingaben und der Ausführungszeiten für die Vielzahl von vorhandenen Computerplattformen als Ausgaben für das Erlernen einer allgemeinen Regel, die Eingaben auf Ausgaben abbildet, das Testen der erlernten Regel und das Anpassen und erneute Testen der Regel, bis das Modell ein gewünschtes Genauigkeitsziel erreicht hat, umfassen. Das Testen der Regel kann das Vorhersagen einer Leistungsmessung für eine Testplattform unter Verwendung des Modells, das Ermitteln der Benchmark-Ausführungszeit der Testplattform unter Verwendung der Benchmarking-Softwarekomponente und das Ermitteln der Genauigkeit des Modells durch Vergleichen der vorhergesagten Testplattform-Leistungsmessung mit der Benchmark-Ausführungszeit umfassen. Die Vorhersage der vorhergesagten Leistungsmessung einer neuen Computerplattform kann das Anwenden von Design-Parametern für die neue Computerplattform als Eingaben für das Vorhersagemodell umfassen. Das Vorhersagen der vorhergesagten Leistungsmessung einer neuen Computerplattform kann das Neuschulen des Vorhersagemodells unter Verwendung einer Teilmenge der Design-Parameter, die für das Schulen des mathematischen Modells verwendet werden, und das Anwenden der Teilmenge der Design-Parameter für die neue Computerplattform auf das neugeschulte Vorhersagemodell umfassen. Die Design-Parameter können Design-Parameter umfassen, die üblicherweise auf einem Datenblatt eines Plattformanbieters zu finden sind. Die Design-Parameter können die Betriebsfrequenz, die Anzahl der Kerne, die Anzahl der Threads, die Anzahl der Caches, die Größe der Caches und die Größe des eingebetteten Speichers umfassen.
  • In einer anderen Ausführungsform wird ein System für das Auswählen einer Computerplattform bereitgestellt. Das System umfasst einen oder mehrere Prozessoren und nichtflüchtige computerlesbare Medien. Das nichtflüchtige computerlesbare Medium ist mit Programmieranweisungen codiert, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, bewirken, dass das System Plattformmerkmaldaten für jede aus einer Vielzahl von existierenden Computerplattformen in einer bestimmten Klasse von Computermodellen sammelt. Die Plattformmerkmaldaten für jede der Vielzahl von vorhandenen Computerplattformen umfassen eine Vielzahl von Design-Parametern und eine Leistungsmessung für die Computerplattform, wenn eine Benchmarking-Softwarekomponente ausgeführt wird. Das nichtflüchtige computerlesbare Medium ist ferner mit Programmieranweisungen codiert, die bei Ausführung durch den einen oder die mehreren Prozessoren bewirken, dass das System ein mathematisches Modell unter Verwendung der gesammelten Plattformmerkmaldaten trainiert, um ein Vorhersagemodell für die Vorhersage einer vorhergesagten Leistungsmessung einer Computerplattform in der bestimmten Klasse von Computermodellen zu entwickeln, wenn sie mit Design-Parametern versehen sind, und mit dem Vorhersagemodell die vorhergesagte Leistungsmessung einer neuen Computerplattform vorherzusagen, die nicht zum Testen verfügbar ist.
  • Diese Aspekte und andere Ausführungsformen können eines oder mehrere der folgenden Merkmale beinhalten. Die Anweisungen, die bewirken, dass das System ein mathematisches Modell schult, können Anweisungen umfassen, die bewirken, dass das System eine Regel für das Abbilden der Eingaben auf eine gewünschte Ausgabe lernt, indem die gesammelten Plattformmerkmaldaten für eine Vielzahl von vorhandenen Computerplattformen als Eingaben und die Ausführungszeiten für die Vielzahl von existierenden Computerplattformen als Ausgaben angewendet werden, um eine allgemeine Regel zu lernen, die Eingaben zu Ausgaben zuordnet, die erlernte Regel prüft und die Regel einstellt und erneut prüft, bis das Modell ein gewünschtes Genauigkeitsziel erreicht hat. Diese Anweisungen, die das System zu dem Testen der Regel veranlassen, können Anweisungen umfassen, die das System zu der Vorhersage einer Leistungsmessung für eine Testplattform unter Verwendung des Modells, dem Ermitteln der Benchmark-Ausführungszeit der Testplattform unter Verwendung der Benchmarking-Softwarekomponente und dem Ermitteln der Genauigkeit des Modells durch Vergleichen der vorhergesagten Testplattform-Leistungsmessung mit der Benchmark-Ausführungszeit veranlassen. Die Anweisungen, die das System zu der Vorhersage der vorhergesagten Leistungsmessung einer neuen Computerplattform veranlassen, können Anweisungen umfassen, die bewirken, dass das System Entwurfsparameter für die neue Berechnungsplattform als Eingaben für das Vorhersagemodell anwendet. Die Design-Parameter können Design-Parameter umfassen, die üblicherweise auf einem Datenblatt eines Plattformanbieters zu finden sind. Die Design-Parameter können die Betriebsfrequenz, die Anzahl der Kerne, die Anzahl der Threads, die Anzahl der Caches, die Größe der Caches und die Größe des eingebetteten Speichers umfassen. Die Computerplattform kann ein System auf einem Chip (SOC), eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU) oder einen digitalen Signalprozessor (DSP) umfassen.
  • In einer anderen Ausführungsform wird ein nichtflüchtiges computerlesbares Speichermedium bereitgestellt, das Programmieranweisungen für das Durchführen eines Verfahrens verkörpert. Das Verfahren umfasst das Sammeln von Plattformmerkmaldaten für jede einer Vielzahl von existierenden Computerplattformen in einer bestimmten Klasse von Computermodellen. Die Plattformmerkmaldaten für jede der Vielzahl von vorhandenen Computerplattformen umfassen eine Vielzahl von Design-Parametern und eine Leistungsmessung für die Computerplattform, wenn eine Benchmarking-Softwarekomponente ausgeführt wird. Das Verfahren umfasst ferner das Schulen eines mathematischen Modells unter Verwendung der gesammelten Plattformmerkmaldaten, um ein Vorhersagemodell für die Vorhersage einer vorhergesagten Leistungsmessung einer Computerplattform in der bestimmten Klasse von Computermodellen zu entwickeln, wenn sie mit Design-Parametern versehen sind, die üblicherweise auf einem Plattformanbieterdatenblatt zu finden sind, und mit dem Vorhersagemodell die vorhergesagte Leistungsmessung einer neuen Computerplattform vorherzusagen, die nicht zum Testen verfügbar ist.
  • Diese Aspekte und andere Ausführungsformen können eines oder mehrere der folgenden Merkmale beinhalten. Das Schulen eines mathematischen Modells kann das Erlernen einer Regel für die Abbildung der Eingaben auf die gewünschten Ausgaben durch das Anwenden der gesammelten Plattformmerkmaldaten für eine Vielzahl von vorhandenen Computerplattformen als Eingaben und der Ausführungszeiten für die Vielzahl von vorhandenen Computerplattformen als Ausgaben für das Erlernen einer allgemeinen Regel für das Abbilden der Eingaben auf Ausgaben, das Testen der erlernten Regel und das Anpassen und erneute Testen der Regel, bis das Modell ein gewünschtes Genauigkeitsziel erreicht hat, umfassen. Das Testen der Regel kann das Vorhersagen einer Leistungsmessung für eine Testplattform unter Verwendung des Modells, das Ermitteln der Benchmark-Ausführungszeit der Testplattform unter Verwendung der Benchmarking-Softwarekomponente und das Ermitteln der Genauigkeit des Modells durch Vergleichen der vorhergesagten Testplattform-Leistungsmessung mit der Benchmark-Ausführungszeit umfassen. Die Vorhersage der vorhergesagten Leistungsmessung einer neuen Computerplattform kann das Anwenden von Design-Parametern für die neue Computerplattform als Eingaben für das Vorhersagemodell umfassen. Das Vorhersagen der Leistungsmessung einer neuen Computerplattform kann das Neuschulen des Vorhersagemodells unter Verwendung einer Teilmenge der Design-Parameter, die für das Schulen des mathematischen Modells verwendet werden, und das Anwenden der Teilmenge der Design-Parameter für die neue Computerplattform auf das neugeschulte Vorhersagemodell umfassen. Die Design-Parameter können die Betriebsfrequenz, die Anzahl der Kerne, die Anzahl der Threads, die Anzahl der Caches, die Größe der Caches und die Größe des eingebetteten Speichers umfassen.
  • Das Vorangehende umreißt Merkmale verschiedener Ausführungsformen, sodass der Fachmann auf dem Gebiet die Aspekte der vorliegenden Offenbarung besser verstehen kann. Der Fachmann auf dem Gebiet sollte erkennen, dass er die vorliegende Offenbarung ohne weiteres als Grundlage für das Entwerfen oder Modifizieren anderer Verfahren und Strukturen für das Ausführen der gleichen Zwecke und/oder für das Erreichen der gleichen Vorteile der hierin vorgestellten Ausführungsformen verwenden kann. Der Fachmann auf dem Gebiet sollte auch erkennen, dass solche äquivalenten Konstruktionen nicht von dem Geist und Umfang der vorliegenden Offenbarung abweichen, und dass sie hierin verschiedene Änderungen, Ersetzungen und Abänderungen vornehmen können, ohne von dem Geist und Umfang der vorliegenden Offenbarung abzuweichen.

Claims (10)

  1. Computerimplementiertes Verfahren für das Auswählen einer Computerplattform, das Verfahren umfassend: das Sammeln von Plattformmerkmaldaten für jede aus einer Vielzahl von existierenden Computerplattformen in einer bestimmten Klasse von Computerplattformen, wobei die Plattformmerkmaldaten für jede der Vielzahl von vorhandenen Computerplattformen eine Vielzahl von Design-Parametern und eine Leistungsmessung für die Computerplattform für das Abschließen einer Benchmarking-Softwarekomponente umfassen; das Schulen eines mathematischen Modells unter Verwendung der gesammelten Plattformmerkmaldaten, um ein Vorhersagemodell für das Vorhersagen einer vorhergesagten Leistungsmessung für eine Computerplattform in der bestimmten Klasse von Computerplattformen zu entwickeln, wenn diese mit Design-Parametern versehen ist; das Vorhersagen mit dem Vorhersagemodell der vorhergesagten Leistungsmessung einer neuen Computerplattform, die nicht zum Testen verfügbar ist; und das Auswählen einer Computerplattform unter Verwendung der vorhergesagten Leistungsmessung.
  2. Verfahren nach Anspruch 1, worin das Schulen eines mathematischen Modells Folgendes umfasst: das Anwenden der gesammelten Plattformmerkmaldaten für eine Vielzahl von vorhandenen Computerplattformen als Eingaben und der Ausführungszeiten für die Vielzahl von vorhandenen Computerplattformen als Ausgaben für das Erlernen einer allgemeinen Regel, die Eingaben auf Ausgaben abbildet; das Testen der gelernten Regel; und das Anpassen und erneutes Testen der Regel, bis das Modell ein gewünschtes Genauigkeitsziel erreicht hat.
  3. Verfahren nach Anspruch 2, worin das Testen der Regel Folgendes umfasst: das Vorhersagen einer Leistungsmessung für eine Testplattform unter Verwendung des Modells; das Ermitteln einer gemessenen Ausführungszeit der Testplattform unter Verwendung der Benchmarking-Softwarekomponente; und das Ermitteln der Genauigkeit des Modells durch Vergleichen der vorhergesagten Testplattform-Leistungsmessung mit der Benchmark-Ausführungszeit.
  4. Verfahren nach Anspruch 1, worin das Vorhersagen der vorhergesagten Leistungsmessung einer neuen Computerplattform das Anwenden von Design-Parametern für die neue Computerplattform als Eingaben für das Vorhersagemodell umfasst.
  5. Verfahren nach Anspruch 4, worin das Vorhersagen der vorhergesagten Leistungsmessung einer neuen Computerplattform das Neuschulen des Vorhersagemodells unter Verwendung einer Teilmenge der für das Schulen des mathematischen Modells verwendeten Design-Parameter und das Anwenden der Teilmenge der Design-Parameter für die neue Computerplattform auf das neugeschulte Vorhersagemodell umfasst.
  6. System für das Auswählen einer Computerplattform, umfassend: einen oder mehrere Prozessoren; nichtflüchtige computerlesbare Medien, die mit Programmieranweisungen codiert sind, die bei Ausführung durch den einen oder die mehreren Prozessoren das System veranlassen zum: Sammeln von Plattformmerkmaldaten für jede aus einer Vielzahl von existierenden Computerplattformen in einer bestimmten Klasse von Computermodellen, wobei die Plattformmerkmaldaten für jede der Vielzahl von vorhandenen Computerplattformen eine Vielzahl von Design-Parametern und eine Leistungsmessung für die Computerplattform umfasst, wenn eine Benchmarking-Softwarekomponente ausgeführt wird; Schulen eines mathematischen Modells unter Verwendung der gesammelten Plattformmerkmaldaten, um ein Vorhersagemodell für das Vorhersagen einer vorhergesagten Leistungsmessung einer Computerplattform in der bestimmten Klasse von Computermodellen zu entwickeln, wenn diese mit Design-Parametern versehen ist; und Vorhersagen mit dem Vorhersagemodell der vorhergesagten Leistungsmessung einer neuen Computerplattform, die nicht zum Testen verfügbar ist.
  7. System nach Anspruch 6, worin die Anweisungen, die bewirken, dass das System ein mathematisches Modell trainiert, Anweisungen umfassen, die das System veranlassen zum: Erlernen einer Regel, die die Eingaben einer gewünschten Ausgabe zuordnet durch Anwenden der gesammelten Plattformmerkmaldaten für eine Vielzahl von vorhandenen Computerplattformen als Eingaben und der Ausführungszeiten für die Vielzahl von vorhandenen Computerplattformen als Ausgaben für das Erlernen einer allgemeinen Regel, die Eingaben auf Ausgaben abbildet; Testen der erlernten Regel; und Anpassen und erneuten Testen der Regel, bis das Modell das gewünschte Genauigkeitsziel erreicht hat.
  8. System nach Anspruch 7, worin die Anweisungen, die bewirken, dass das System die Regel testet, Anweisungen umfassen, die das System veranlassen zum: Vorhersagen einer Leistungsmessung für eine Testplattform unter Verwendung des Modells; Ermitteln der gemessenen Ausführungszeit der Testplattform unter Verwendung der Benchmarking-Softwarekomponente; und Ermitteln der Genauigkeit des Modells durch Vergleichen der vorhergesagten Testplattform-Leistungsmessung mit der Benchmark-Ausführungszeit.
  9. System nach Anspruch 6, worin die Anweisungen, die das System zu der Vorhersage der vorhergesagten Leistungsmessung einer neuen Computerplattform veranlassen, Anweisungen umfassen können, die bewirken, dass das System Design-Parameter für die neue Computerplattform als Eingaben für das Vorhersagemodell anwendet.
  10. System nach Anspruch 6, worin die Design-Parameter Design-Parameter umfassen, die üblicherweise auf einem Datenblatt eines Plattformanbieters zu finden sind.
DE102018104070.9A 2017-02-28 2018-02-22 System und verfahren zur auswahl einer computerplattform Pending DE102018104070A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/445,435 2017-02-28
US15/445,435 US11023351B2 (en) 2017-02-28 2017-02-28 System and method of selecting a computational platform

Publications (1)

Publication Number Publication Date
DE102018104070A1 true DE102018104070A1 (de) 2018-08-30

Family

ID=63112360

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018104070.9A Pending DE102018104070A1 (de) 2017-02-28 2018-02-22 System und verfahren zur auswahl einer computerplattform

Country Status (3)

Country Link
US (1) US11023351B2 (de)
CN (1) CN108509324B (de)
DE (1) DE102018104070A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11704610B2 (en) * 2017-08-31 2023-07-18 Accenture Global Solutions Limited Benchmarking for automated task management
JP7003025B2 (ja) * 2018-10-17 2022-01-20 Kddi株式会社 計算量評価装置、計算量評価方法及び計算量評価プログラム
CN109670653A (zh) * 2018-12-29 2019-04-23 北京航天数据股份有限公司 一种基于工业模型预测引擎进行预测的方法及装置
US20220147430A1 (en) * 2019-07-25 2022-05-12 Hewlett-Packard Development Company, L.P. Workload performance prediction
CN112259071A (zh) * 2020-09-22 2021-01-22 北京百度网讯科技有限公司 语音处理系统、语音处理方法、电子设备和可读存储介质
CN112434755B (zh) * 2020-12-15 2023-04-07 电子科技大学 一种基于异构系统的数据异常感知方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615357A (en) * 1994-12-29 1997-03-25 Sun Microsystems, Inc. System and method for verifying processor performance
US7007270B2 (en) 2001-03-05 2006-02-28 Cadence Design Systems, Inc. Statistically based estimate of embedded software execution time
US20110153529A1 (en) * 2009-12-23 2011-06-23 Bracy Anne W Method and apparatus to efficiently generate a processor architecture model
CN102822768A (zh) * 2010-03-23 2012-12-12 索尼公司 通过从处理器性能管理系统掩蔽处理来减少功耗
JPWO2014097599A1 (ja) * 2012-12-17 2017-01-12 日本電気株式会社 最適設計支援装置、方法及びプログラム
US9244122B2 (en) * 2013-08-06 2016-01-26 Global Unichip Corp. Method of determining performance of a chip of an integrated-circuit design and an apparatus and an integrated circuit using the same
CN103955266B (zh) * 2014-05-22 2016-09-14 东北林业大学 基于Android移动Sink负载预测的低功耗设计方法
WO2017096338A1 (en) * 2015-12-04 2017-06-08 Cornell University Execution time prediction for energy-efficient computer systems
CN105975385A (zh) 2016-04-28 2016-09-28 浪潮(北京)电子信息产业有限公司 一种基于模糊神经网络的虚拟机能耗预测方法及系统

Also Published As

Publication number Publication date
CN108509324B (zh) 2021-09-07
US20180247223A1 (en) 2018-08-30
US11023351B2 (en) 2021-06-01
CN108509324A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
DE102018104070A1 (de) System und verfahren zur auswahl einer computerplattform
DE112018002822T5 (de) Klassifizieren neuronaler netze
DE112020003136T5 (de) Verfahren zum Erzeugen eines Spurwechsel-Entscheidungsmodells, Verfahren und Vorrichtung zur Spurwechsel-Entscheidung eines unbemannten Fahrzeugs
DE202016004628U1 (de) Durchqueren einer Umgebungsstatusstruktur unter Verwendung neuronaler Netze
DE102005010900A1 (de) Modellspezifische Registeroperationen
DE102019003851A1 (de) Systeme und Verfahren zum automatischen Realisieren von Modellen zu Co-Simulation
EP2442248B1 (de) Kopplungsmethodik für nicht-iterative Co-Simulation
EP2897011B1 (de) Verfahren und Simulationsanordnung zur Simulation einer automatisierten Industrieanlage
DE102014008551A1 (de) Softwareevaluierungsvorrichtung und -Verfahren
DE102014116177A1 (de) Patientenrisiko-Stratifizierung durch Verknüpfen von wissengesteuerten und datengesteuerten Erkenntnissen
DE112014003045T5 (de) Verfahren und System zur Change-Evaluierung eines elektronischen Designs zur Verifizierungsbestätigung
DE102017123054A1 (de) Verfahren und System zur System-On-Chip-Integritätsverifizierung
DE102006019292A1 (de) Modellieren programmierbarer Einrichtungen
EP3568757B1 (de) Verfahren zur erzeugung von quellcode
DE102020110542A1 (de) Verfahren und einrichtungen zum ver walten von tickets
DE112016005823T5 (de) Überwachen des betriebs eines prozessors
EP3001313A1 (de) Verfahren zur Simulation eines Anwendungsprogramms eines elektronischen Steuergeräts auf einem Computer
DE112016003963T5 (de) Vorhersagen von Soll-Kenndaten
DE112006001222T5 (de) Halbleitertestprogramm-Diagnosevorrichtung
DE102014102551A1 (de) Maschine und Verfahren zum Evaluieren von fehlschlagenden Softwareprogrammen
DE102008046096A1 (de) Verfahren und Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit
DE102021116906A1 (de) Test- und messsystem zur analyse von zu testenden vorrichtungen
DE112021002866T5 (de) Modelltreueüberwachung und -neuerstellung zur entscheidungsunterstützung eines fertigungsverfahrens
DE102016119738A1 (de) Selektives Laden von Komponenten in einem Knoten zum Beschleunigen von Wartungsmaßnahmen
DE112013002591T5 (de) Verhindern von Kaskadenfehlern in Computersystemen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: LKGLOBAL ] LORENZ & KOPF PARTG MBB PATENTANWAE, DE