Simulative Verifikation und Evaluation des Speichermanagements einer Multi-Core-Prozessorarchitektur am Beispiel von SHAP

Ähnliche Dokumente
Simulative Verifikation und Evaluation des Speichermanagements einer Multi-Core-Prozessorarchitektur am Beispiel von SHAP

Multi-Port-Speichermanager für die Java-Plattform SHAP

ASIC-SYNTHESE DER SHAP-MIKROARCHITEKTUR

Vortrag zum Hauptseminar Hardware/Software Co-Design

FPGA-basierte Automatisierungssysteme

Realisierung eines Speichermanagements zur Zugriffsvirtualisierung von konkurrierenden Nutzerdesigns auf Rekonfigurierbarer Hardware

Fakultät Informatik Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur. Diplomverteidigung

Agenda. Informatik I WS05/06 Folien von Tobias Dezulian

Prozessorarchitektur SS2017 Rahmenbedingungen zum Praktikum

Verifikation. Simulation und formale Methoden

Rechnergestützter VLSI-Entwurf

STUDIENARBEIT: ZWISCHENPRÄSENTATION

Systemtheorie 1. Formale Systeme 1 # WS 2006/2007 Johannes Kepler Universität Linz, Österreich

Configurable Embedded Systems

Untersuchung zur hardwareunterstützten Entwurfsverifikation von Stream-basierten Kommunikations- und Verarbeitungsalgorithmen

Universelle Speicherschnittstelle für große externe Speicher

Memory Models Frederik Zipp

Untersuchungen zur effizienten Implementierung eines mathematischen Algorithmus in einem FPGA am Beispiel eines Sudoku-Lösers

Realisierung einer MC-basierten Optionspreisberechnung mit FloPoCo

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

Parametrisierbare Busschnittstelle für IP-Cores

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext

Vorstellung der SUN Rock-Architektur

Funktionale Sicherheit und Simulation

Bounded Model Checking mit SystemC

Architekturen, Werkzeuge und Laufzeitumgebungen für eingebettete Systeme

High Level-Synthese eines Keypoint-Detection- Algorithmus für FPGAs

3D-Punktkorrelation auf Basis von 2D-Bildern auf einer FPGA-Plattform

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

Energieeffizienz und Performance von Networks-on-Chip

SPKC. Inhalte der Vorlesung. Signalprozessoren und Kommunikationscontroller. Prof. Dr.-Ing. Peter Schulz. Signalprozessoren

Paul Molitor und Jörg Ritter VHDL. Eine Einführung. ein Imprint von Pearson Education

Automatische Testsysteme und ihre Programmierung. Dresden, Michael Dittrich,

Java Garbage Collector: Funktionsweise und Optimierung. Mathias Dolag Prof. Dr. Peter Mandl (DOAG 2012, )

Implementierung eines universellen IPv6 Protokollstapels

WaveFormer Pro in Simulationsumgebungen mit ModelSim

Deductive Software Verification The KeY Book Haupt- und Proseminar in SoSe 2017

2. Der ParaNut-Prozessor "Parallel and more than just another CPU core"

Untersuchungen zur effizienten Implementierung eines mathematischen Algorithmus in einem FPGA am Beispiel eines Sudoku-Lösers

Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware

Fachgebietsvorstellung g 2010

Cloud mit rekonfigurierbaren Hardwarebeschleunigern

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

Modellbasierte Entwicklung im Kontext von Medizingeräten

Stand der Überarbeitung in der IEC SC 65A/MT , Vorbereitung 3. Ausgabe der IEC GAK Frankfurt,

Vortrag zum Ergebnis der Literaturrecherche. Fehlerinjektion mittels Trace-Architektur auf einem Mips-Prozessor. Matthias Brinker

Java-Bytecode-Prozessor SHAP

Untersuchungen zur Trace-basierten iterativen Rekonstruktion von Registerinhalten durch Simulation

Tristate Buffer / erste Module

Vertiefungsrichtung Rechnerarchitektur

Self-aware Memory: Hardware-Prototyp eines Prozessorknotens

Programmiertechnik II

ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS. Sascha Kath

SOC - System on a Chip

Von ULTRIX zu Linux Die Portierung des Administrators

Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform

COOL HASHING MIT FPGAS. Robert Bachran

3D-Punktkorrelation auf Basis von 2D-Bildern auf einer FPGA-Plattform

Konzeption und Realisierung einer Testplattform zur Analyse von seriellen Hochgeschwindigkeitsschnittstellen für SoC Debug-Aufgaben

DYNAMISCHE ARCHITEKTURADAPTION VON HARDWARE-AGENTENSYSTEMEN

Automatisierte Rekonfiguration von Schnittstellen in eingebetteten Systemen

Echtzeitanwendungen mit Java Real Time Specification for Java

Einführung in die Simulation. Dr. Christoph Laroque Wintersemester 11/12. Dresden,

Implementierung eines Dateisystems für Java-basierte eingebettete Systeme

Bewertungskriterien für sichere Software

Hardware Praktikum 2008

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN

Studie zum Einsatz eines Network-on-a-Chip für eine Many-Core- Java-Bytecode-Architektur

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften

Electronic Design Automation (EDA) Verification

DIN EN (VDE ): EN 62304: A1:2015

Verifikation mit OVM/System Verilog Embedded Computing Conference 2009

Digitales Hardwaredesign mit VHDL und FPGAs

Übungsblatt 6. Implementierung einer Befehlspipeline

Beschleunigung von Bild-Segmentierungs- Algorithmen mit FPGAs

Entwicklung von Medizinischen Algorithmen für die Kardiologie mit Hilfe Simulink und Modellbasiertes Design

Konzeption und prototypische Implementation der Medienintegration in ein gebäudetechnisches Automatisierungssystem

Ein Debugger für ASIC-Prototypen

Modellbasierte Entwicklung und Verifikation von Sensor-SiPs

Konfiguration des MIG für DDR2-SDRAM Ansteuerung

Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2013

Übungsblatt 1 Einführung in die Xilinx Vivado FPGA Design Plattform Abgabefrist: Mittwoch , 10:00 Uhr

&R9HULILNDWLRQYRQ$50'HVLJQVPLW5LYLHUD,37

Google s JavaScript Engine: V8

Test offener, dynamischer Systeme

Digitale Signalprozessor - Architekturen im Überblick

Hardware Praktikum 2008

10. GI/ITG/GMM MBMV 2007

Parsing SystemVerilog 2012

Entwurf eines modellbasierten Regelungssystems für einen totzeitbehafteten Prozess

Qualitätsmanagement im Projekt

Einführung in die technische Informatik

Entwicklung des Softwareengineerings im Bereich der IT-TK-Technologie. Stefan Bläsius und Gregorio Roper Berlin,

Simulation digitaler Schaltungen auf GPUs

Effiziente Bibliotheken für FPGA-Resynthese- Algorithmen

Model-based Design für medizintechnische Anwendungen

HIL basierte Kalibrierung anhand des HAWKS Rennwagens. Referent: Daniel Lorenz

Transkript:

Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Simulative Verifikation und Evaluation des Speichermanagements einer Multi-Core-Prozessorarchitektur am Beispiel von SHAP Christian Greth christian.greth@mail.inf.tu-dresden.de Dresden, 19.05.2010

Aufgabenstellung 1. Literaturstudium zu Verifikation und Evaluation von digitalen Systemen mittels Simulation und Trace. 2. Erarbeitung geeigneter Testszenarien für Verifikation der Funktionalität sowie Evaluation der Leistungsfähigkeit. 3. Identifikation von notwendigen Trace-Hardware- und Software-Komponenten unter Berücksichtigung der gegebenen Trace-Infrastruktur. 4. Implementierung und Test der identifizierten Trace-Hardware- und Software-Komponenten. 5. Durchführung und Auswertung der erarbeiteten Testszenarien. 6. Beurteilung des Speichermanagements hinsichtlich korrekter Funktion und Leistungsfähigkeit. 7. Zusammenfassung und Dokumentation der Ergebnisse. TU Dresden, 19.05.10 Verifikation und Evaluation Folie 2 von 23

Aufgabenstellung 1. Literaturstudium zu Verifikation und Evaluation von digitalen Systemen mittels Simulation und Trace. 2. Erarbeitung geeigneter Testszenarien für Verifikation der Funktionalität sowie Evaluation der Leistungsfähigkeit. 3. Identifikation von notwendigen Trace-Hardware- und Software-Komponenten unter Berücksichtigung der gegebenen Trace-Infrastruktur. 4. Implementierung und Test der identifizierten Trace-Hardware- und Software-Komponenten. 5. Durchführung und Auswertung der erarbeiteten Testszenarien. 6. Beurteilung des Speichermanagements hinsichtlich korrekter Funktion und Leistungsfähigkeit. 7. Zusammenfassung und Dokumentation der Ergebnisse. TU Dresden, 19.05.10 Verifikation und Evaluation Folie 3 von 23

Verifikation digitaler Systeme Motivation: Überprüfung der Einhaltung von Designregeln. Fehlverhalten eines Designs finden und eliminieren. Die Funktion eines Designs mit der Spezifikation/Interpretation abgleichen. Problem [1] : 70% des Designprozesses werden für Verifikation/Test beansprucht [2]. Verifikation bildet den kritischen Pfad. Verlust der Kontrolle über Low-Level-Funktionen durch Abstraktion. Abstraktion reduziert jedoch die Dauer der Verifikation. Was soll verifiziert werden? TU Dresden, 19.05.10 Verifikation und Evaluation Folie 4 von 23

Verifikation digitaler Systeme Es existieren mehrere Ebenen um eine Verifikation durchzuführen. TU Dresden, 19.05.10 Verifikation und Evaluation Folie 5 von 23

Verifikation digitaler Systeme Verifikation ungleich Test [1] Verifikation gegen die Interpretation, nicht gegen die Spezifikation [1] TU Dresden, 19.05.10 Verifikation und Evaluation Folie 6 von 23

Verifikation digitaler Systeme Formale Verifikation Nutzung mathematischer Methoden zum Beweis der Funktionalität. Formale Verifikation kann Fehlerfreiheit eines Entwurfs beweisen. Eine formale Beschreibung des zu verifizierenden Systems ist nötig. Funktionale Verifikation (Validation) Prototyping (FPGA-based prototyping) Emulation Simulation TU Dresden, 19.05.10 Verifikation und Evaluation Folie 7 von 23

Funktionale Verifikation Prototyping (FPGA-based prototyping) schnell und vergleichsweise günstig Zeitanspruch für Implementation eventuell sehr hoch nur wenig Möglichkeiten für Debugging Emulation Design wird in Hardware-Beschleuniger (Emulator) gemapped Live -Stimuli können injiziert werden Emulatoren sind schnell aber teuer Zeitanspruch für Implementation gering TU Dresden, 19.05.10 Verifikation und Evaluation Folie 8 von 23

Funktionale Verifikation Simulation Stimulus (-Generator), Simulator und Checker bilden die Simulationsumgebung. TU Dresden, 19.05.10 Verifikation und Evaluation Folie 9 von 23

Funktionale Verifikation Simulation sequentielle Ausführung paralleler Hardware Breakpoints und Start/Stop/Resume der Simulation Signale können zu jeder Zeit beobachtet werden Stimuli-Erzeugung direkt durch verifizierende Person, automatisch (zufällig) durch Generator oder automatisch mit Bedingung durch Generator und verifizierende Person. TU Dresden, 19.05.10 Verifikation und Evaluation Folie 10 von 23

Funktionale Verifikation Checker Visuelle Überprüfung der Ergebnisse durch verifizierende Person, Waveform oder ASCII-Auszug Vergleich mit dem GoldenModel oder Vergleich mit vorher erzeugten Ergebnis-Vektoren. HDL-Code-Überprüfung durch Coverage-Verfahren Auffinden ungenutzter Code-Zeilen oder Code-Fragmenten. Überprüfung von Bedingungen und Verzweigungen. Condition-, Expression-, Branch-, Statement-Coverage TU Dresden, 19.05.10 Verifikation und Evaluation Folie 11 von 23

Leistungsevaluation digitaler Systeme Motivation Leistungsfähigkeit eines Systems ermitteln/zeigen und anschließendes Bewerten. Vergleichsmöglichkeiten zu anderen/ähnlichen Systemen schaffen. Eventuelle Engpässe (bottlenecks) finden und beheben. Leistungsevaluation durch auf die Hardware zugeschnittene Testszenarien oder durch allgemein gültige Benchmarks. Es ist ein System zum Beobachten/Aufzeichnen der Aktivitäten nötig. Trace TU Dresden, 19.05.10 Verifikation und Evaluation Folie 12 von 23

Leistungsevaluation digitaler Systeme TU Dresden, 19.05.10 Verifikation und Evaluation Folie 13 von 23

Leistungsevaluation digitaler Systeme Metriken und Methoden Latenz Durchsatz Objektallokationen Objektzugriffe (Lese-/Schreibzugriffe) Stress-Test Corner-Test Bewertungskriterien Maximum und Minimum Durchschnitt Worst-/Best-Case TU Dresden, 19.05.10 Verifikation und Evaluation Folie 14 von 23

Testszenarien Voraussetzung VHDL-Quellcode von SHAP HDL-Simulator ModelSim mit Unterstützung für Code-Coverage Xilinx ISE für Synthese FPGA für Prototyp-Test SHAP mit integrierter Trace-Hardware Verifikation und Evaluation durch Simulation und Trace TU Dresden, 19.05.10 Verifikation und Evaluation Folie 15 von 23

Testszenarien - Simulation Simulation mit Testbenches Erzeugung von Testbenches um die Funktionalität der einzelnen FSM nachzuweisen. Ausführen der Testbenches in ModelSim. Zuhilfenahme der Coverage-Methoden in ModelSim um den VHDL-Quellcode hinsichtlich der Effizienz zu evaluieren. TU Dresden, 19.05.10 Verifikation und Evaluation Folie 16 von 23

Testszenarien - Trace Wesentliche Funktionen des SHAP-Speichermanagements Speicher allokieren (Objektallokationen) Zugriffe auf den Speicher verwalten (Objektzugriffe) Speicher freigeben (Gargabe Collector) Funktionen der Trace-Hardware Memory-Tracer zur Aufzeichnung der Speicherzugriffe Adressen und Daten, Quelle des Speicherzugriffs, R/W-Zugriff Garbage Collection Aufzeichnungen der Objektreferenzen TU Dresden, 19.05.10 Verifikation und Evaluation Folie 17 von 23

Testszenarien - Trace Objektallokation Objekte gleicher/unterschiedlicher Größe allokieren Latenz und Durchsatz Fragmentierung der Segmente des Heaps durch unterschiedliche Objektgrößen Objektallokation an Grenzbereichen voller Heap TU Dresden, 19.05.10 Verifikation und Evaluation Folie 18 von 23

Testszenarien - Trace Objektzugriffe Objekte gleicher/unterschiedlicher Größe allokieren Objektreferenzen halten zufälliger Zugriff auf Felder der angelegten Objekte Durchsatz und Latenz Objektallokation und Objektzugriffe beobachten Objektzugriffe aus verschiedenen Threads auf unterschiedlichen Cores lock and release TU Dresden, 19.05.10 Verifikation und Evaluation Folie 19 von 23

Testszenarien - Trace Garbage Collector - GC Objektreferenzen freigeben und Verhalten des GC beobachten Mark and Sweep: Werden alle freigegeben Objektreferenzen vom GC gefunden? Werden alle markierten Objektreferenzen freigegeben? Compact: Werden alle Objektreferenzen aktualisiert? Zeiten zwischen Mark und Sweep bzw. Compact messen Latenz um neuen Speicher belegen zu können TU Dresden, 19.05.10 Verifikation und Evaluation Folie 20 von 23

Testszenarien - Trace Zusammenspiel der 3 Testszenarien Kombination aus Objektallokation und Objektzugriff sowie Garbage Collection Zusammenspiel beobachten Problem der Zufälligkeit: Zufälligkeit findet die meisten Fehler Wie soll Zufälligkeit erzeugt werden? Einbringen von Zufallszahlen von Außen Zufallszahlengenerator in Hardware TU Dresden, 19.05.10 Verifikation und Evaluation Folie 21 von 23

Zusammenfassung Verifikation digitaler Systeme mehrere Ebenen für Verifikation formale Verifikation und Validation Validation durch FPGA-based prototyping, Emulation oder Simulation Validation kann Fehlerfreiheit nicht garantieren Leistungsevaluation digitaler Systeme verschiedene Metriken für Messung und Kriterien zur Bewertung System zum Aufzeichnen/Beobachten nötig TU Dresden, 19.05.10 Verifikation und Evaluation Folie 22 von 23

Quellenangaben [1] Bergeron, J.: Writing Testbenches. Functional Verification of HDL Models. Boston [u.a.]: Kluwer Academic, 2000. [2] Wiemann, A.: Standardized Functional Verification. New York: Springer, 2008. TU Dresden, 19.05.10 Verifikation und Evaluation Folie 23 von 23