Protected User-Level DMA in SCI Shared Memory Umgebungen



Ähnliche Dokumente
Informationen zum neuen Studmail häufige Fragen

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Kapitel 6 Anfragebearbeitung

Multimedia und Datenkommunikation

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Print2CAD 2017, 8th Generation. Netzwerkversionen

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Mehr Transparenz für optimalen Durchblick. Mit dem TÜV Rheinland Prüfzeichen.

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

Integrated Services Realtime Remote Network

Anbindung des eibport an das Internet

Installationsanleitung Sander und Doll Mobilaufmaß. Stand

Lizenzierung von SharePoint Server 2013

Primzahlen und RSA-Verschlüsselung

B12-TOUCH VERSION 3.5

Mikrocontroller Grundlagen. Markus Koch April 2011

Formular»Fragenkatalog BIM-Server«

Cisco AnyConnect VPN Client - Anleitung für Windows7

WLAN Konfiguration. Michael Bukreus Seite 1

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Zwischenablage (Bilder, Texte,...)

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Erstellen von x-y-diagrammen in OpenOffice.calc

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Netzwerkversion PVG.view

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

Von Perimeter-Security zu robusten Systemen

Wenn wir also versuchen auf einen anderen PC zuzugreifen, dann können wir sowohl per Name als auch mit der Adresse suchen.

Speichernetze (Storage Area Networks, SANs)

- Installieren Sie den AC WLAN fachgerecht und lagerichtig (Einbauhöhe 0,3 1,3 m) gemäß Montageanleitung.

Updatehinweise für die Version forma 5.5.5

Hochschule Ravensburg-Weingarten. Technik Wirtschaft Sozialwesen. Projektarbeit

Anleitung zur Nutzung des SharePort Utility

WICHTIGER HINWEIS FÜR HÄNDLER UND SERVICE-WERKSTÄTTEN:

Anleitung zur Installation des Printservers

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Bedienung des Web-Portales der Sportbergbetriebe

Einrichtung einer eduroam Verbindung unter dem Betriebssystem Android

Viele Bilder auf der FA-Homepage

Wir machen neue Politik für Baden-Württemberg

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

(C)opyright 2009 by Jochen Vajda

Anleitung zum Herunterladen von DIN-Vorschriften außerhalb des internen Hochschulnetzes

Hinweise zum elektronischen Meldeformular

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Grundlagen verteilter Systeme

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Was bedeutet Inklusion für Geschwisterkinder? Ein Meinungsbild. Irene von Drigalski Geschäftsführerin Novartis Stiftung FamilienBande.

RTA-BW Version 6.16 Anderungsbeschreibung

Installation der Eicon Diva PCI Karte unter Windows XP

Prof. Dr. Norbert Pohlmann, Institut für Internet Sicherheit - if(is), Fachhochschule Gelsenkirchen. Lage der IT-Sicherheit im Mittelstand

Verwendung des Terminalservers der MUG

Zulassung nach MID (Measurement Instruments Directive)

How-To-Do. Fernwartung einer VIPA Steuerung via Ethernet

Man liest sich: POP3/IMAP

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Global AlignTech Institute

Windows 8 Lizenzierung in Szenarien

Einführung in. Logische Schaltungen

Gussnummern-Lesesystem

Einrichtung eines -konto mit Thunderbird

GITS Steckbriefe Tutorial

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

Browsereinstellungen für moneycheck24 in Explorer unter Windows

Nutzung von GiS BasePac 8 im Netzwerk

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Google Earth und Telefonbücher im Internet

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

II. Daten sichern und wiederherstellen 1. Daten sichern

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

4D Server v12 64-bit Version BETA VERSION

Lizenzierung von SharePoint Server 2013

Win-Digipet V 9.2 Premium Edition Wie bastele ich mir steuerbare Kontakte. Wie bastele ich mir steuerbare Kontakte? -Quick-And-Dirty-Lösung-

MSXFORUM - Exchange Server 2003 > Archivierung mit Exchange eigenen Mitteln

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

DSO. Abtastrate und Speichertiefe

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

WinVetpro im Betriebsmodus Laptop

Whitepaper. Produkt: combit Relationship Manager. combit Relationship Manager und Terminalserver. combit GmbH Untere Laube Konstanz

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

Aufwendungen für die Miete langfristiger und sonstiger Anlagegüter. sind als betriebsnotwendig anzuerkennen, wenn das zu zahlende

Info-Veranstaltung zur Erstellung von Zertifikaten

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER

Laborübung - Verwalten von virtuellem Speicher in Windows 7

Systeme 1. Kapitel 10. Virtualisierung

Pelletofen mit WLAN Modul für einfaches Heizen von zuhause aus oder von unterwegs!

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Transkript:

Protected User-Level DMA in SCI Shared Memory Umgebungen Mario Trams University of Technology Chemnitz, Chair of Computer Architecture 6. Halle Chemnitz Seminar zu Parallelverarbeitung und Programmiersprachen December 0 th 00, Chemnitz

Outline Background Speichermodelle SCI Basics Message Passing auf SCI? SCI und DMA Engine Erweiterung der herkömmlichen SCI Architektur

Background Allgemeines Arbeitsgebiet: zielt auf Message Passing Applikationen ab Shared Memory bzw. Distributed Shared Memory wird als Kommunikationsgrundlage missbraucht Ziel: Verbesserung der Architektur heutiger PCI SCI Kommunikationshardware, um möglichst das gesamte Leistungspotential bis zur Anwendung zu bringen möglichst gute Basis für effiziente Message Passing Bibliotheken zu schaffen 3

Speichermodelle Shared Memory: Mehrere Prozesse/Prozessoren einer parallelen Applikation arbeiten auf gleichen Speicherbereichen und können dadurch Informationen austauschen (z.b. auf einfachen Multiprozessorsystemen) mehr oder weniger implizite Kommunikation Bandbreitenproblem mit Hauptspeicher 4

Speichermodelle (cont.) Gegenteil: Distributed Memory Jeder Prozess(or) hat seinen eigenen Speicher und muss auf andere Art und Weise mit anderen Prozessen/Prozessoren kommunizieren (wie auch immer das geht). expliziter Nachrichtenaustausch kein Speicherbandbreitenproblem dafür Kommunikationsbandbreitenproblem 5

Speichermodelle (cont.) Distributed Shared Memory (DSM): Mischung aus beidem Prozessoren besitzen eigenen Speicher, jedoch besteht die Möglichkeit auf Speicher anderer Prozessoren zuzugreifen im Vergleich zu Distributed Memory schnelle Kommunikation, da keine Intervention durch Betriebssystem notwendig (User Level Kommunikation wie auch bei Shared Memory) 6

SCI Basics (cont.) SCI (Scalable Coherent Interface): eine Hardware Implementierung von DSM realisiert einen großen globalen Prozesse/Rechenknoten können lokalen Speicher dort verfügbar machen Prozesse/Rechenknoten können auf globalen verfügbare Speicherbereiche zugreifen (wie auf lokalen Speicher, nur langsamer NUMA) 7

DSM Beispiel: SCI Basics (cont.) globaler lokaler lokaler Speicher lokaler Speicher Speicher 8

DSM Beispiel: SCI Basics (cont.) globaler lokaler lokaler Speicher lokaler Speicher Speicher 8

DSM Beispiel: SCI Basics (cont.) globaler lokaler lokaler Speicher lokaler Speicher Speicher 8

DSM Beispiel: SCI Basics (cont.) globaler lokaler lokaler Speicher lokaler Speicher Speicher 8

SCI Eckdaten Eigenschaften der neuesten Generation: (Dolphin PCI-64/66 PCI SCI Karte) nutzbare Bandbreite > 300MByte/s (remote Write) Latenzzeit < µs (Application to Application) Verbindungstopologien: Ring (kleine Systeme) Torus (D, jetzt auch 3D) Switch basiert (auch mit Ring gemischt) momentan keine Cache Kohärenz wegen PCI 9

SCI und Message Passing SCI bietet hohe remote Write Bandbreite sowie sehr geringe Latenzzeit, letzteres durch Einfachheit des Datentransfers begründet (simple Speicherreferenz) fehlende Cache Kohärenz bei PCI SCI Adaptern und geringe remote Read Bandbreite macht PCI SCI problematisch für Shared Memory Applikationen die meisten SCI Systeme werden als Basis für Message Passing Applikationen eingesetzt 0

SCI und Message Passing (cont.) Problem bei Message Passing auf SCI: das Versenden von Messages geht zwar schnell, nimmt aber den Prozessor vollständig in Anspruch hohe Bandbreite ist Makulatur, da für die CPU keine Zeit für die eigentliche Berechnung übrig bleibt

SCI und Message Passing (cont.) Problem bei Message Passing auf SCI: das Versenden von Messages geht zwar schnell, nimmt aber den Prozessor vollständig in Anspruch hohe Bandbreite ist Makulatur, da für die CPU keine Zeit für die eigentliche Berechnung übrig bleibt Abhilfe: eine sog. DMA Engine in der Hardware, welche Daten blockweise im Hintergrund kopiert Überlappung von Berechnung und Datentransfer lohnt sich jedoch nur ab bestimmter Blockgröße

SCI mit DMA Engine Node Node Process A SCI Hardware SCI Hardware Process C phys. Memory virtual SCI physical Connection virtual SCI phys. Memory Process B DMA SCI SCI DMA Process D

SCI mit DMA Engine Node Node Process A SCI Hardware SCI Hardware Process C phys. Memory virtual SCI physical Connection virtual SCI phys. Memory Process B DMA SCI SCI DMA Process D

SCI mit DMA Engine Node Node Process A SCI Hardware SCI Hardware Process C phys. Memory virtual SCI physical Connection virtual SCI phys. Memory Process B DMA SCI SCI DMA Process D

SCI mit DMA Engine Node Node Process A Process B phys. Memory SCI Hardware DMA virtual SCI SCI physical Connection SCI SCI Hardware virtual SCI DMA phys. Memory Process C Process D

SCI mit DMA Engine Node Node Process A Process B 3 4 phys. Memory 3 SCI Hardware DMA virtual SCI 4 SCI physical Connection SCI SCI Hardware virtual SCI 3 DMA phys. Memory 4 Process C Process D 4 3

SCI mit DMA Engine Node Node Process A Process B 3 4 phys. Memory 3 SCI Hardware DMA virtual SCI 4 SCI physical Connection SCI SCI Hardware virtual SCI 3 DMA phys. Memory 4 Process C Process D 4 3 Kopieren von Daten per CPU (PIO Programmed IO) oder per DMA Engine ab bestimmter Blockgröße kleine Latenzzeit bleibt bei kurzen Nachrichten erhalten

Aber: SCI mit DMA Engine (cont.) DMA Engine darf aus Sicherheitsgründen nicht vom Anwendungsprogramm direkt programmiert werden SCI Hardware hat direkten Zugriff auf lokalen Speicher SCI wird zwar virtualisiert (nur Subset sichtbar), jedoch ist momentan kein Schutzmechanismus vorhanden 3

Aber: SCI mit DMA Engine (cont.) DMA Engine darf aus Sicherheitsgründen nicht vom Anwendungsprogramm direkt programmiert werden SCI Hardware hat direkten Zugriff auf lokalen Speicher SCI wird zwar virtualisiert (nur Subset sichtbar), jedoch ist momentan kein Schutzmechanismus vorhanden Programmierung muss indirekt über Betriebssystem erfolgen unnötig hohe Latenzzeit für DMA Transfers 3

Ausweg: Verbesserte SCI Architektur Virtualisierung der Sicht der SCI Hardware auf lokalen Speicher (d.h. eine zweite Adressumsetztungstabelle) gleichzeitige Integration von sog. in beide Tabellen Protection Tags 4

Ausweg: Verbesserte SCI Architektur Virtualisierung der Sicht der SCI Hardware auf lokalen Speicher (d.h. eine zweite Adressumsetztungstabelle) gleichzeitige Integration von sog. in beide Tabellen Protection Tags die Hardware überprüft (vergleicht) automatisch das Tag des initiierenden Prozesses mit dem Tag der betroffenen Adressbereiche prinzipielle Idee aus Virtual Interface Architecture (VIA) übernommen VIA sieht jedoch kein DSM vor 4

Verbesserte SCI Architektur (cont.) Node Process A Process B 3 4 phys. Memory 3 combined SCI/VIA Hardware virtual local DMA virtual SCI 3 4 SCI virtual SCI physical Connection SCI combined SCI/VIA Hardware 3 DMA virtual local 4 phys. Memory 4 Node Process C Process D 4 3 DMA Engine erlaubt nur die Zugriffe, wofür der zugehörige Prozess authorisiert ist Speicherschutz ist gewährleistet und Betriebssystemaufruf ist nicht notwendig Umschaltpunkt PIO/DMA verlagert sich nach unten verbesserter Gesamtdurchsatz 5

Verbesserte SCI Architektur (cont.) Nebeneffekt: virtuelle Sicht auf lokalen vereinfacht das Speichermanagement wesentlich echte Zero Copy Datentransfers (Versenden von Nachrichten ohne unnötiges Zwischenspeichern) können relativ einfach realisiert werden Zero Copy mit heutiger kommerzieller PCI SCI Hardware ist hingegen nur schwer realisierbar 6

Entwicklungsstatus FPGA basierter Proof of Concept Prototyp grundlegende Architektur ist implementiert (d.h. beide Adressumsetzungen) Programmed IO ist fast vollständig implementiert mit vergleichsweise recht guten Leistungswerten: remote Write Bandwidth 6MByte/s, PCI to PCI Latency.7µs Konzept der DMA Engine sowie unterstützende Mechanismen zwar prinzipiell fertig, aber noch nicht implementiert 7

Zusammenfassung / Ausblick kurze Einführung in DSM Systeme und SCI DMA Engine in heutiger PCI SCI Hardware und deren Probleme Darstellung eines prinzipiellen Ansatzes zur Verbesserung des DMA Mechanismus bzw. der allg. SCI Architektur 8

Zusammenfassung / Ausblick kurze Einführung in DSM Systeme und SCI DMA Engine in heutiger PCI SCI Hardware und deren Probleme Darstellung eines prinzipiellen Ansatzes zur Verbesserung des DMA Mechanismus bzw. der allg. SCI Architektur Was bringt die Zukunft? Die vorgestellten Mechanismen werden in einer der nächsten Versionen der kommerziellen PCI SCI Adapter von Dolphin realisiert sein. 8