Realisierung eines Speichermanagements zur Zugriffsvirtualisierung von konkurrierenden Nutzerdesigns auf Rekonfigurierbarer Hardware

Ähnliche Dokumente
Cloud mit rekonfigurierbaren Hardwarebeschleunigern

Universelle Speicherschnittstelle für große externe Speicher

Universelle Speicherschnittstelle für große externe Speicher

Virtueller Speicher und Memory Management

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

Entwurf und Implementierung eines statischen Backbones für die Kommunikation mit dynamischen Nutzerpartitionen auf einem Multi-FPGA-Board

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

Implementierung eines Dateisystems für Java-basierte eingebettete Systeme

Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung

ASIC-SYNTHESE DER SHAP-MIKROARCHITEKTUR

DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME

Übersicht aktueller heterogener FPGA-SOCs

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

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

Virtualisierung von FPGA-Ressourcen mittels partieller dynamischer Rekonfiguration für konkurrierende Nutzerdesigns

Entwicklung eines Lehrpraktikums auf Basis der Zynq-Plattform

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

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

Implementierung eines universellen IPv6 Protokollstapels

ABLEITUNG ZUSÄTZLICHER STEUERGRÖSSEN FÜR DIE STRAHLFORMUNG IN EINEM LASER-SCANNER IM ECHTZEITBETRIEB

Plazierung von unterschiedlich großen Komponenten in gleich große rekonfigurierbare Flächen unter Berücksichtigung der Signallaufzeiten

Leichtgewichtsprozesse

Dekodierung eines Funkfernschreibersignals mithilfe der Zynq-Plattform. Lehrstuhlseminar Benjamin Koch

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

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

Entwurf eines Generators zur Erzeugung von Hard- und Software-Beschreibungen für Bildverarbeitungspipelines

Parametrisierbare Busschnittstelle für IP-Cores

Energieeffizienz und Performance von Networks-on-Chip

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer

Beschleunigung von Bild-Segmentierungs- Algorithmen mit FPGAs

Self-aware Memory: Hardware-Prototyp eines Prozessorknotens

RO-Tutorien 15 und 16

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann

Rückschlüsse durch Host- Performance-Daten auf das Datenbankverhalten. DOAG Regio Karlsruhe 13. Juni 2013

, SS2012 Übungsgruppen: Do., Mi.,

Betriebssysteme VO Betriebssysteme KU

Foliensatz. Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

Wie groß ist die Page Table?

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Configurable Embedded Systems

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7

Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI - EDA. Implementierung eines UDP/IP-Stacks in Hardware.

CoreSight-Zugang auf dem ZedBoard. Alex Bereza

Speicherverwaltung (Swapping und Paging)

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Realisierung eines fernsteuerbaren Testcontrollers für FPGA-basierte Systeme. Kolloquium zum Mastermodul INF-PM-FPG

Vorstellung der Fachgebiete

M5000 einfach ablösen durch T4/T5 LDoms und Solaris Zonen

UBERBLICK ZU NETWORKS-ON-CHIP:

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Tutorium Rechnerorganisation

Windows CE. Process Control and Robotics. Fabian Garagnon

Embedded Linux für SoC Applikationen

Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Renault Markenforum Klaus Trobisch, Oliver Uhlig carekundenforum 2014 in Bremen

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Symmetric Multiprocessing mit einer FPGA basierten. Marco Kirschke INF-M3 Seminar Wintersemester 2010/ November 2010

Automatische Testsysteme und ihre Programmierung. Dresden, Michael Dittrich,

, WS2012 Übungsgruppen: Mo., Do.,

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

wiko Bausoftware GmbH

Automatisierung, Virtualisierung & Management Es muss nicht immer VMware sein

Protected User-Level DMA in SCI Shared Memory Umgebungen

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath

Digitale Signalprozessor - Architekturen im Überblick

FPGA. Field Programmable Gate Array

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

Symbian OS. OS für kleine Endgeräte: Sven Walter

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Erhöhung der Ausfallsicherheit einer Mikropumpensteuerung mit Hilfe einer hierarchisch organisierten, heterogenen Controllerplattform

(Cache-Schreibstrategien)

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Technische Informatik 1

Vorstellung der SUN Rock-Architektur

Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version.

T est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series

Masterarbeit. Entwicklung und Inbetriebnahme eines Coprozessors zur Ansteuerung von BLDC-Motoren mit einem leistungsschwachen Prozessorkern

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

Grundlagen der Rechnerarchitektur

Untersuchung und Vorstellung moderner Grafikchiparchitekturen

Oracle 11g und Virtualisierung Johannes Ahrends Technical Director Quest Software GmbH

Informatikdienste Virtualisierung im Datacenter mit VMware vsphere

Technische Informatik 1 - HS 2017

4. Übung - Rechnerarchitektur/Betriebssysteme

Echtzeit-Multitasking

Vortrag zur Diplomarbeit

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Echtzeit-Multitasking

Entwicklung mit Xilinx-FPGAs

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung

Transkript:

Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Realisierung eines Speichermanagements zur Zugriffsvirtualisierung von konkurrierenden Nutzerdesigns auf Rekonfigurierbarer Hardware Zwischenvortrag zur Studienarbeit Alexander Kemnitz Alexander.Kemnitz1@mailbox.tu-dresden.de Dresden, 11.2.2016

Inhalt 1 Einleitung 2 Memory Interface Generator 3 Virtualisierung 4 Konkurrierende Zugriffe 5 Entwurf eines Speichermanagements 6 Zusammenfassung / Ausblick Folie 2 von 22

1 Einleitung Motivation FPGA auf Cloud - Cloudcomputing gewinnt an Bedeutung - FPGAs bieten Flexible spezielle Hardware Mehrere Nutzer pro FPGA - Hohe Auslastung der Ressourcen RAM als großer Zwischenspeicher Konzept RC2F [1] Folie 3 von 22

1 Einleitung Aufgabenstellung Schnittstelle: - Bis zu 4 Nutzerdesigns - Zugriff über System Konkurrierende Zugriffe Faire Behandlung Getrennte Speicherbereiche Virtualisierung Hohe Bandbreite Folie 4 von 22

2 Speicher Controller Memory Interface Generator Xilinx IP-Core 2 empfohlene Schnittstellen - UI (mit Beispiel) - AXI Eigene Taktdomäne Vereinfachte Darstellung 7 Series FPGAs Memory Interface Solution (nach [2] Figure 1-51) Folie 5 von 22

2 Speicher Controller Test in der Simulation Datenrate - 1000 aufeinander folgende Adressen - Lesegeschwindigkeit : 88.5% - Schreibgeschwindigkeit: 86.2% Latenz - 1 Lese- und 1 Schreiboperation auf derselben Adresse - 30 48 Takte Testaufbau zur Performance-Messung des MIGs Folie 6 von 22

3 Virtualisierung Begriff Trennen: Physisches Interface - Virtuelles Interface - Isomorphe Abbildung - Abstraktion Flexibel / Portabel Folie 7 von 22

3 Virtualisierung Speichervirtualisierung im Betriebssystem Zu jedem Programm ein Virtueller Adressraum - Größe unabhängig vom physischen Adressraum - Page Table: Virtuelle Adresse Physische Adresse Eine Tabelle für das System - Zugriffsberechtigungen - In Benutzung Auslagerung der Seiten Fehlerbehandlung bei Seitenfehler Folie 8 von 22

3 Virtualisierung Eigenes Design Trennung des Speichers der einzelnen Nutzerdesigns Dynamische Speichergröße Pro Nutzerdesign eine Page Table Tabelle zur Verwaltung freier Seiten Folie 9 von 22

3 Virtualisierung Tabellen Virtuelle Adresse Physische Adresse gültig Adresse benutzt 0x00 paddr 0 ja 0x01 paddr 1 nein......... 2 n-1 paddr 2 n-1 ja User Page Table 0x00 ja 0x01 ja...... 2 n-1 nein Tabelle für freie Seiten Folie 10 von 22

Anteil des Gesamt Block RAMs (Virtex 7) in % 3 Virtualisierung Größe der PageTables 4 User Page Tables: 4 (n+1) 2 n Bit Free Page Table: 2 n Bit Block RAM: 37 MBit (Virtex 7VX485T) n : Bits eines Page Table Eintrags Größe einer Page in MB Folie 11 von 22

4 Konkurierender Zugrif Arbitrierung Mehrere Nutzer Zeitgleicher Ressourcenzugriff Warteschlange - Voraussichtlich Round Robin/ FIFO - Evtl. Priorität für Systemzugriffe Folie 12 von 22

5 Entwurf Speicherzugriff 4 Page Tables Warteschlange Switch MIG Konzept der Speicherzugriffs Folie 13 von 22

5 Entwurf Speicherzugriff (Stream)Protocol - Steuerleitung - Datenleitung QueueInfo - ID - req/ack Konzept der Speicherzugriffs Folie 14 von 22

5 Entwurf Page Management Tabelle für freie Pages User Page Tables Verwaltung Konzept der Seitenverwaltung Folie 15 von 22

5 Entwurf Page Management PageProtocol - malloc, free - Virtuelle Adresse - full PageManagement - Modifizieren der User Page Table - Überprüfen: alter Eintrag gültig - Bei free Physische Adresse zurückgeben Konzept der Seitenverwaltung Folie 16 von 22

5 Entwurf Gesamtansicht Gesamtkonzept Folie 17 von 22

5 Entwurf Szenario: Konkurrierender Speicherzugriff Nutzer 2 aktiv Nutzer 1 möchte auch zugreifen - Physische Adresse bestimmen - In Queue einreihen System-seitiger Zugriff von Nutzer 1 (danach) Szenario: Konkurrierender Speicherzugriff (Schritt 1) Nutzerdesign 2 greift auf den Speicher zu Folie 18 von 22

5 Entwurf Szenario: Konkurrierender Speicherzugriff Nutzer 2 aktiv Nutzer 1 möchte auch zugreifen - Physische Adresse bestimmen - In Queue einreihen System-seitiger Zugriff von Nutzer 1 (danach) Szenario: Konkurrierender Speicherzugriff (Schritt 2) Nutzerdesign 1 fordert auch Speicherzugriff und physische Adresse an Folie 18 von 22

5 Entwurf Szenario: Konkurrierender Speicherzugriff Nutzer 2 aktiv Nutzer 1 möchte auch zugreifen - Physische Adresse bestimmen - In Queue einreihen System-seitiger Zugriff von Nutzer 1 (danach) Szenario: Konkurrierender Speicherzugriff (Schritt 3) Nutzerdesign 1 erhält die physische Adresse Folie 18 von 22

5 Entwurf Szenario: Konkurrierender Speicherzugriff Nutzer 2 aktiv Nutzer 1 möchte auch zugreifen - Physische Adresse bestimmen - In Queue einreihen System-seitiger Zugriff von Nutzer 1 (danach) Szenario: Konkurrierender Speicherzugriff (Schritt 4) Nutzerdesign 1 wird in die Warteschlange eingereiht. Folie 18 von 22

5 Entwurf Szenario: Konkurrierender Speicherzugriff Nutzer 2 aktiv Nutzer 1 möchte auch zugreifen - Physische Adresse bestimmen - In Queue einreihen System-seitiger Zugriff von Nutzer 1 (danach) Szenario: Konkurrierender Speicherzugriff (Schritt 5) Nutzer1 möchte System-seitig auf dem Speicher zugreifen. Das System erhält die Adresse aus der Page Table für Nutzer 1. Folie 18 von 22

5 Entwurf Szenario: Konkurrierender Speicherzugriff Nutzer 2 aktiv Nutzer 1 möchte auch zugreifen - Physische Adresse bestimmen - In Queue einreihen System-seitiger Zugriff von Nutzer 1 (danach) Szenario: Konkurrierender Speicherzugriff (Schritt 6) Das System wird eingereiht. Folie 18 von 22

5 Entwurf Szenario: Konkurrierender Speicherzugriff Nutzer 2 aktiv Nutzer 1 möchte auch zugreifen - Physische Adresse bestimmen - In Queue einreihen System-seitiger Zugriff von Nutzer 1 (danach) Szenario: Konkurrierender Speicherzugriff (Schritt 7) Nutzer Design 1 hat seinen Speicherzugriff beendet. Der nächste Zugreifende wird aus der Warteschlange herausgesucht. Folie 18 von 22

5 Entwurf Szenario: Konkurrierender Speicherzugriff Nutzer 2 aktiv Nutzer 1 möchte auch zugreifen - Physische Adresse bestimmen - In Queue einreihen System-seitiger Zugriff von Nutzer 1 (danach) Szenario: Konkurrierender Speicherzugriff (Schritt 8) Nutzer 1 beginnt den Speicherzugriff. Folie 18 von 22

6 Zusammenfassung Aktueller Stand MIG - Testimplementierung zum UI Literatur - Virtualisierung und konkurrierende Zugriffe eingearbeitet Entwurfskonzept Implementierung der Komponenten - Page Management angefangen Folie 19 von 22

6 Zusammenfassung Ausblick Verfeinerung des Entwurfs Nutzerprotokoll festlegen Implementieren aller Einzelkomponenten Test der Einzelkomponenten Zusammenschalten der Einzelkomponenten Testen des Gesamtentwurfs Messen der Performance Folie 20 von 22

Folie 21 von 22

7 Anhang Quellen [1] Oliver Knodel und Rainer G Spallek (2015). Computing Framework for Dynamic Integration of Reconfigurable Resources in a Cloud. In:Euromicro Conference on Digital System Design (DSD). IEEE, S. 337 344 [2] XILINX 2015. Zynq-7000 AP SoC and 7 Series Devices Memory Interface Solutions v2.3 [3] XILINX 2015. Virtex-7 T and XT FPGAs Data Sheet: DC and AC Switching Characteristics [4] Tannenbaum, Andrew S. Carl Hanser und Prentice-Hall International 1995. Moderne Betriebssysteme [5] Smith, James E und Nair, Ravi. Elsevier 2005. Virtual Machines - Versatile Platforms for Systems and Processes Folie 22 von 22