Testjobs

Bild 1: Flexible Testjob-Verwaltung ermöglicht die effizienteste Auslastung der Emulator-Ressourcen. (Bild: Mentor Graphics)

ECK-DATEN

Es gibt viele Gründe, warum Hardware-basierte Emulation ein absolutes Muss für einen effektiven Verifikationsablauf ist. Zunehmende Komplexität, Protokollvielfalt, Embedded-Software, Leistungsaufnahme und Verifikation auf der Systemebene erfordern eine Art von Leistungsfähigkeit, Kapazität und Shift-Left-Methode, die nur Emulation leisten kann.

Die Investition in einen Emulator hilft bei der erfolgreichen Bewältigung von großen Herausforderungen. Ohne Zweifel ist ein Emulator eine komplexe Hardwarekomponente, die nicht ganz billig ist. Trotzdem übersteigt der wahre Wert der Emulation seinen Preis. Der Wert eines Emulator-basierten Arbeitsablaufs ist tatsächlich enorm. Einer der wichtigsten Punkte bei der Kaufentscheidung ist die erreichbare Auslastung des Emulators. Die Entscheidung für einen Emulator fällt viel leichter, wenn man weiß, dass die Emulationsumgebung von Ingenieuren optimal genutzt wird, welche auch effizient unterstützt werden.

ROI der Emulation erhöhen

Emulations-Ressourcen nicht optimal zu nutzen, heißt, dass jede Sekunde, in der kein Test aktiv auf dem Emulator läuft, eine Produkteinführung verzögert und das Geld für den Kauf des Emulators verschwendet wird. Firmen können auf mehrere Arten sicherstellen, dass ihre Emulations-Ressourcen gut ausgelastet sind. Schritt 1 ist, Verifikationsteams weltweit 24 Stunden, 7 Tage die Woche Zugriff auf diese zu gewähren. Dafür muss ein Emulator zu einer Rechenzentrums-Ressource gemacht werden. Da Chip-Architekturen immer komplexer werden und sich die dazugehörige Expertise und die benötigten Testteams immer häufiger über mehrere Länder und Zeitzonen verteilen, wird es immer schwieriger, die optimale Aufteilung von zentralen Rechenressourcen sicherzustellen. Das führt gegebenenfalls zu längeren Leerlaufzeiten solcher Ressourcen und dementsprechend zu mehr vergeudeten Investitionen. Schritt 2 ist es zu verstehen, dass Software zur Ausführung von Tests, die sogenannte Testjob-Verwaltung, ein entscheidender Punkt für die Auslastung eines Emulators ist.

Eine effektive Ausführung von Tests besteht aus zwei Aspekten. Der erste Aspekt ist die Automatisierung. Wie bei jeder Job-Verwaltungssoftware wird ein Automatisierungsgrad erwartet, der dem Nutzer einen wesentlichen Teil der Arbeit abnimmt. Der zweite Aspekt ist, dass die Automatisierung auf der Basis von Prioritäten gesteuert wird.

Testjobs

Bild 1: Flexible Testjob-Verwaltung ermöglicht die effizienteste Auslastung der Emulator-Ressourcen. Mentor Graphics

Verifikationsmanager müssen unmittelbar auf wechselnde Projekt-Prioritäten reagieren können. Oft bedeutet dies, wichtige zeitkritische Test- oder Verifikationsaufgaben vorziehen zu können. Folglich muss die Job-Verwaltungssoftware ebenfalls so flexibel sein, dass ein CAD-Manager die Prioritäten von Testjobs den Anforderungen der Nutzer anpassen kann. Diese Anforderungen können in drei Kategorien eingeteilt werden: Priorität eines Testjobs, Designgröße (das heißt, welche und wieviele Ressourcen werden benötigt) und Dauer des Testjobs. Die Möglichkeit die Ausführung von Testjobs auf dem Emulator interaktiv zu steuern, bedingt aber, dass der CAD-Manager alle auf dem Emulator laufenden Testjobs berücksichtigen kann, um dann mittels geschickter Anpassungen die Auslastung und den Testdurchsatz des Emulator zu maximieren (Bild 1).

Mit solch einer Software kann der CAD-Manager, basierend auf Priorität und Dringlichkeit, eventuell auch mit alternativen Verifikations-Lösungen für die Abarbeitung eines Testjobs planen. Eine alternative Verifikationslösung wäre beispielsweise eine Simulationsumgebung, die den Testjob ebenfalls innerhalb der geforderten Zeit abschließt.

Die Möglichkeit, die Auslastung der Verifikations-Ressourcen zu prüfen und zu überwachen ist hier wesentlich. Verifikations- und CAD-Manager brauchen aktuelle Live-Daten über die Auslastung der Emulation. Nur so können sie schnell fundierte Entscheidungen darüber treffen, ob sie zum Beispiel mehr Emulationskapazität benötigen, oder ob sie laufende Testjobs besser verteilen oder neu zuweisen können, um die Auslastung der Emulations-Ressourcen auszubalancieren. Log-Dateien einer solchen Jobverwaltungssoftware kann ein Unternehmen auch auswerten, um Anschaffungs- und Betriebskosten von Emulatoren intern auf nutzende Abteilungen und Projekte nach Dauer und Designgröße anteilig aufzuteilen.

Emulatoren einfacher nutzen

Die Wertung „Emulation sei schwierig zu benutzen“ ist relativ. Die meisten Verifikationsingenieure können mit wenig Anleitung ein Design und einen Test auf einem Emulator mit geringem Aufwand zum Laufen bringen. Das trifft besonders auf Emulatoren zu, die in einem Rechenzentrum im virtuellen Betrieb genutzt werden. Heutzutage gibt es auch viele „Utilities“, die dem ungeschulten Verifikations-Ingenieur helfen, einen Emulator effizient zu nutzen. Obwohl Emulationsanbieter über eine breite Palette solcher Utilities verfügen, fordern Nutzer dennoch einen einfachen und transparenten Zugriff auf Emulationsjobs.

Die Emulations-Plattform wird aber für die Nutzer auch einfacher zu verwenden, wenn CAD- und Verifikationsmanager Testjob-Verwaltungs-Software benutzen. Mit dieser Lösung können Nutzer nämlich problemlos einen Testjob einreichen, wichtige Anforderungen eingeben und dann der Software die Entscheidung überlassen, welche Ressourcen dem Testjob zugewiesen werden. Wichtig ist, dass die Testjobverwaltungs-Software einen kompletten Überblick über die laufenden Testjobs und, die Testjobs in der Warteschlange hat. Auf diese Weise werden einem bestimmten Testjob die Ressourcen so zugewiesen, dass die anderen Testjobs in der Warteschlange auch möglichst effizient entsprechend ihrer Anforderungen abgearbeitet werden können. Schlussendlich muss dem Nutzer nur garantiert werden, dass sein Testjob gemäß den Anforderungen abgearbeitet wird – egal welche Emulations- oder Verifikations-Ressourcen dafür genutzt werden.

 

Thema auf der nächsten Seite: Schwerpunkt Systemflexibilität

Schwerpunkt Systemflexibilität

Auch die Flexibilität der Emulations-Plattform selbst ist sehr wichtig. Falls eine Emulations-Plattform nicht flexibel genutzt werden kann, dann ist es egal, wie intelligent die Testjob-Verwaltungs-Software ist: Es wird immer Ineffizienzen, Leerlauf oder unbenutzte Emulations-Ressourcen geben. Neue Emulator-Apps – wie die Veloce-Enterprise-Server- (ES)App von Mentor, a Siemens Business – bieten unverwechselbare Leistungsmerkmale für eine flexible Testjob-Abarbeitung. Sie optimieren die Emulations-Nutzung und unterstützen flexibles Ressourcen-Sharing ohne zusätzliche Interaktion des Nutzers.

Testjobs

Bild 2: Die Funktion Suspend-Resume erhöht die Emulator-Auslastung wesentlich. Mentor Graphics

Eine spezielle Funktion der Veloce-ES-App ist es, Testjobs, die bereits auf der Emulations-Plattform laufen, dynamisch zu unterbrechen und sie später fortzusetzen, damit große oder wichtige Aufträge vorrangig ausgeführt werden. Diese Funktion, genannt Suspend-Resume, erhöht die Auslastung des Emulators wesentlich, weil ein vorgezogenes Blockieren von Ressourcen nicht nötig ist. Typischerweise starten Testjobs sofort auf dem Emulator, wenn die nötigen Ressourcen verfügbar sind. Wenn dann später ein wichtigerer Testjob sofort laufen muss, speichert die Enterprise-Server-App den gesamten Logik-Zustand des momentan laufenden Testjobs und unterbricht diesen, um den wichtigeren Auftrag ablaufen zu lassen. Wenn der Testjob mit höherer Priorität fertig ist, setzt der Emulator den unterbrochenen Testjob exakt von dem Logik-Zustand wieder fort, wo er unterbrochen wurde. So geht durch die Unterbrechung nichts verloren. Mit anderen Worten, die Enterprise-Server-App erlaubt die Abarbeitung von Testjobs mit niedriger Priorität, ohne dass Ablauf, Performance und Kapazität wichtigerer Testjobs beeinträchtigt werden (Bild 2).

Die Funktion Suspend-Resume kann noch durch die Funktion Relocate (Verlagerung) eines Testjobs ergänzt werden. Dabei wird ein unterbrochener Testjob transparent einem anderen AVB (Advanced Verification Board) im selben Emulator oder einem anderen Emulator im Rechenzentrum zugewiesen. Die AVBs für einen bestimmten Testjob müssen nicht aufeinanderfolgend im Emulator installiert sein. Dies gibt dem Nutzer die Flexibilität, einen unterbrochenen Testjob entweder auf demselben Emulator fortzusetzen oder den Verifikations-Lauf auf sofort verfügbare, vergleichbare Ressourcen eines anderen Emulators zu verlagern. Die Relocate-Funktion bietet somit einen weiteren Baustein zur optimalen Abarbeitungs-Flexibilität und maximalen Systemverfügbarkeit.

Die Funktion Suspend-Resume-Relocate ist Testbench-unabhängig und wird komplett von der Enterprise-Server-App im Hintergrund ausgeführt. Das heißt, es ist keine zusätzliche Interaktion des Nutzers notwendig. Diese Funktion ist auch wichtig, um geplante Testjobs laufen zu lassen, die viele Ressourcen benötigen. Sollte ein solch großer Testjob für eine festgelegte Zeit in der Warteschlange sein, werden mehrere kleinere Testjobs einfach zeitweise unterbrochen und eventuell verlagert. Letztlich gibt es keine Verluste von Emulationszeit und Verifikationsproduktivität mehr.

All diese automatisierten Funktionen der Testjob-Verwaltungs-Software und die eingebaute Flexibilität sind nutzlos, wenn der Nutzer nicht die Gewissheit hat, dass sie ihm bei Bedarf auch die gewünschten Ergebnisse liefern. Für den Nutzer ist es sehr wichtig zu wissen, dass er eine Nachricht bekommt, ob ein Testjob mit seinen Anforderungen in die Warteschleife aufgenommen wird. Die Enterprise-Server-App verschickt eine Bestätigung, dass Ressourcen gefunden wurden und der Emulator den Testjob ausführen wird. Umgekehrt informiert sie den Nutzer auch, wenn ein Testjob mit den gegebenen Anforderungen nicht ausgeführt werden kann. Sie liefert dann eine Beschreibung derjenigen Anforderungen oder Design-Aspekte, die eine Ausführung des Testjobs auf dem Emulator verhindern.

Testjobs

Bild 3: Mit dem automatisierten Ablauf zur Testjob-Verwaltung sehen Kunden eine Verbesserung der Emulator-Auslastung um 20 bis 30 Prozent. Mentor Graphics

Mit Testjobs Emulator-Auslastung maximieren

Die Integration von Enterprise-Server-App und Testjob-Verwaltungs-Software liefert genau die speziellen Funktionen, um Management- und Verifikations-Teams von der Vorstellung zu überzeugen, dass Emulation weder schwierig noch zu teuer sei (Bild 3). Dazu gehören anforderungsbedingte Verarbeitung, Flexibilität bei der Testjobausführung, die Funktion Suspend-Resume-Relocate, globale Erreichbarkeit und Live-Berichte und -Analysen.

Vijay Chobisa

Produkt Marketing Manager der Mentor Graphics Emulation Division, a Siemens Business

(jj)

Sie möchten gerne weiterlesen?

Unternehmen

Mentor Graphics (Deutschland) GmbH

Arnulfstraße 201
80634 München
Germany