Multicore Programming: Transactional Memory



Ähnliche Dokumente
Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HS Transactional Memory. Vortrag von Erdin Sinanović

Hauptseminar Multicore Programming: Transactional Memory

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.

Grundlagen verteilter Systeme

Verwendung des Terminalservers der MUG

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

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

Internet Explorer Version 6

Datensicherung. Beschreibung der Datensicherung

ARCO Software - Anleitung zur Umstellung der MWSt

Guide DynDNS und Portforwarding

Übungen zur Vorlesung. Datenbanken I

Microsoft Update Windows Update

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Online Schulung Anmerkungen zur Durchführung

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

4D Server v12 64-bit Version BETA VERSION

Updatehinweise für die Version forma 5.5.5

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

EasyWk DAS Schwimmwettkampfprogramm

Kursangebot gesammelt einlesen

AUF LETZTER SEITE DIESER ANLEITUNG!!!

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Tipps und Tricks zu Netop Vision und Vision Pro

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Zählen von Objekten einer bestimmten Klasse

Elexis-BlueEvidence-Connector

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

FORUM HANDREICHUNG (STAND: AUGUST 2013)

teischl.com Software Design & Services e.u. office@teischl.com

dpa-infocom - Datenlieferung

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Virtual Channel installieren

Wie optimiert man die Werbungserkennung von Ad- Detective?

Persönliches Adressbuch

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

GRS SIGNUM Product-Lifecycle-Management

System-Update Addendum

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In -

Anleitung über den Umgang mit Schildern

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Formular»Fragenkatalog BIM-Server«

Den Durchblick haben. VOLKSBANK BAD MÜNDER eg. Online aber sicher: Unsere Produkt- und Sicherheitshotline hilft und informiert

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

SJ OFFICE - Update 3.0

Computeria Solothurn

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

Speicher in der Cloud

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis 1

Grundfunktionen und Bedienung

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Verwendung des IDS Backup Systems unter Windows 2000

Serviceanweisung Austausch Globalsign Ausstellerzertifikate

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

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Internet online Update (Internet Explorer)

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Wasserzeichen mit Paint-Shop-Pro 9 (geht auch mit den anderen Versionen. Allerdings könnten die Bezeichnungen und Ansichten etwas anders sein)

I. Travel Master CRM Installieren

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

Dokumentation IBIS Monitor

Zeichen bei Zahlen entschlüsseln

Erfahrungen mit Hartz IV- Empfängern

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Leitbild. für Jedermensch in leicht verständlicher Sprache

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Java Enterprise Architekturen Willkommen in der Realität

Geld Verdienen im Internet leicht gemacht

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional)

Lehrer: Einschreibemethoden

Transaktionsverwaltung

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Umzug der abfallwirtschaftlichen Nummern /Kündigung

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Teilnahme am Apple ios Developer Program

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Backup der Progress Datenbank

mit SD-Karte SD-Karte Inhalt

Anleitung: Passwort-Self-Service-Portal

Anleitung Captain Logfex 2013

Leitfaden zur Durchführung eines Jahreswechsels in BüroWARE 5.x

Benutzerverwaltung Business- & Company-Paket

Mikrocontroller Grundlagen. Markus Koch April 2011

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Transkript:

Software (STM) 07 Mai 2009

Software (STM) 1 Das Problem 2 Probleme mit 3 Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten

Software (STM) 4 Software (STM) Beispielimplementation Probleme 5 Beispiel: ATLAS 6

Problem Das Problem Software (STM) Bei bisherigen Speicherkonzepten hat ein Prozessor oder ein Programm seine Speicherbereiche stets exklusiv für sich beansprucht. Andere parallel laufende Software konnten darauf nicht zugreifen.

Lösung Das Problem Software (STM) Probleme mit Der traditionelle Ansatz zur Synchronisation nebenläufiger Programme ist die Verwendung von. Möchte ein Prozess exklusiven Zugriff auf eine Ressource, muss er eine Sperre bei einem Verwaltungsprozess anfordern.

Software (STM) Probleme mit Probleme Deadlocks Livelocks Problem-Potenziale beim Prozessabbruch Prioritätsumkehr Warten trotz höherer Priorität

Transaktion Das Problem Software (STM) Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Atomarität: Aktion wird komplett ausgeführt oder hinterlässt keine Spuren bei Abbruch Kontinuität: System muss immer in einem Konsistenten Zustand sein Isolation: Ergebnis der Transaktion muss korrekt sein

Software (STM) Verschachtelte Transaktionen Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten flach: Abbruch der inneren Transaktion bricht auch die äußere ab geschlossen: Abruch der inneren Transaktion bricht äußere nicht ab. Änderungen erst nach korrektem Abschluss der äußeren Transaktion sichtbar offenen: Abruch der inneren Transaktion bricht äußere nicht ab. Änderungen der inneren Transaktion nach korrektem Abschluss der inneren Transaktion sichtbar

Software (STM) Synchronisationsmechanismen Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Lock-free: Das Gesamtsystem kann sich nicht in einen Deadlock geraten Wait-free: Jeder Faden macht Fortschritte, sogar wenn andere Fäden ihre Ausführung verzögern oder abbrechen

Software (STM) Compare and Swap (CAS) Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten v: Einen Vergleichswert, der den alten Wert einer Operation repräsentiert n: Den neuen Wert der Operation M: Adresse der Hauptspeicherstelle aus der v am Anfang der Operation gelesen wurde Nach der Operation wird der Wert an M mit v verglichen: Stimmen sie überein, wird der neue Wert n auf M geschrieben Stimmen sie nicht überein, wird n verworfen und die Operation noch einmal mit dem neuen v ausgeführt

Grundprinzip Das Problem Software (STM) Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten optimistisches Verfahren im Vergleich zu Aufzeichnung aller read/write Aktivitäten Überprüfung nach Abschluss der Transaktion Bei Konflikt werden die Daten verworfen und die Transaktion neu gestartet Bei Erfolg werden die neuen Werte in den Haupspeicher geschrieben

Software (STM) Eager Versioned Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Direkte Aktualisierung der Speicherinhalte Auffangen der überschriebenen Werte in Undo-Log Rückspielen des Logs bei Konflikt Schnelle Commits Langsame Aborts Keine Fehlertoleranz Schwache Atomizität

Lazy Versioned Das Problem Software (STM) Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Pufferung der Schreibzugriffe Aktualisierung der Speicherinhalte aus Puffer bei Commit Verwerfen des Puffers bei Konflikt Langsame Commits Schnelle Aborts Fehlertolerant Starke Atomizität

Software (STM) Read/Write Sets Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Um Konflikte zu entdecken und zu behandeln, hat ist eine Transaktion normalerweise mit zwei Datensätzen verbunden. Read Set: Hier wird die Speicheradresse jedes read -Befehls der Transaktion gespeichert Write Set: Hier wird die Speicheradresse, und der Wert jedes write -Befehls der Transaktion gespeichert

Software (STM) Eager Checking Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Überprüfung während Lade- und Speicheroperationen Pessimistisches Modell Verwendung des Contention Managers zur Entscheidung Read und Write Sets müssen auf dem ganzen System sichtbar sein

Beispiel Das Problem Software (STM) Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten

Lazy Checking Das Problem Software (STM) Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Überprüfung auf Konflikt erst mit Commit Optimistisches Modell Mischen unterschiedlicher Mechanismen für Lade- und Speicheroperationen möglich

Beispiel Das Problem Software (STM) Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten

Problem Das Problem Software (STM) Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Die Entscheidung welche der Transaktionen abgebrochen wird, ist im Allgemeinen aber sehr komplex.

Software (STM) Wortgranularität Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Minimierung von False-Sharing Steigender Aufwand

Software (STM) Objektgranularität Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Geringer Aufwand Entspricht Programmierer-Denkweise Große Objekte bedingen False-Sharing und damit unnötige Aborts Nur SW-TM bzw. Hybridmodell

Software (STM) Cachezeilengranuarität Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Kompromiß zwischen Objekt- und Wortgranularität Tauglich für HTM und STM

Mix and Match Das Problem Software (STM) Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Ausrichtung an TM-Modell und Gegebenheiten

Software (STM) Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Vorteile Nachteile Kohärenz-Kontrolle einfacher Kommunikation zwischen Prozessen seltener Weniger Synchronisationspunkte nötig Illusion von Einprozessorsystemen Interprozessor-Bus muss hohe Bandbreite haben Falls Commit zu groß für den Cache, muss der Bus gesperrt werden Algorithmus in Hardware naher Sprache kann schneller sein

Software (STM) Optimierungsmöglichkeiten Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Double Buffering Hardware-Controlled Transactions Localisation of Memory References

Software (STM) Double Buffering Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Zusätzliche Write-Buffers und read- bzw. write-bits in der Cacheline Folge: CPU kann die nächste Transaktion starten bevor die Aktuelle committet.

Software (STM) Hardware-Controlled Transactions Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Teilt das Programm selbstständig in Transactions Fasst kleinere Transactions zu einer großen zusammen Gelegentlich Barrier setzen, um tote Threads zum Leben erwecken Folge: Höherer Speedup.

Software (STM) Localisation of Memory References Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Load & Store, die nur lokal benötigt werden, nicht broadcasten(z.b. Stack Referenzen) Realisierbar, indem man entweder Seiten als local-only markiert oder mit Befehlen wie local-load und local-store arbeitet Folge: Bandbreite wird gespart

Software (STM) Beispielimplementation Probleme eines typischen STM Deklarierung gemeinsamer Speicherbereiche durch open Festlegung ob nur lesend oder auch schreibend zugegriffen wird Lazy Versioning Objektgranualität Locator wird erstellt Inbesitznahme eines Blocks für Schreibzugriffe durch aquire

Software (STM) Beispielimplementation Probleme Konflikterkennung bei aquire() Wenn eine andere Transaktion den fraglichen Bereich in Besitz hält, kann eine der beiden Transaktionen abgebrochen werden. Andere Transaktionen können abgebrochen werden, wenn sie die Daten gelesen haben, für die hier grade der Besitz angefordert wird. Die Transaktion kann abgebrochen werden, wenn Daten ihrer vorhergehenden Lesezugriffe inzwischen überschrieben wurden.

Software (STM) Implementation Beispielimplementation Probleme

Software (STM) Besitzübernahme bei Commit Beispielimplementation Probleme

Software (STM) Besitzübernahme bei Abort Beispielimplementation Probleme

Software (STM) Beispielimplementation Probleme Probleme Deadlocks durch Endlosschleifen Null-Referenzen Diese Probleme müssen in Abhängigkeit von OS, Sprache und STM gelöst werden.

Software (STM) Beispiel Deadlock Beispielimplementation Probleme

Software (STM) Beispielimplementation Probleme Vorteile Bereits auf bestehenden Systemen einsetzbar Nachteile Schlechte Skalierbarkeit

Software (STM) Beispiel: ATLAS einige neue Befehle in der ISA zwischenspeicherung der neuen Daten in abgegrenzten Buffern(oder Caches)

Software (STM) Beispiel: ATLAS Neue Befehle STR: Starten einer Transaktion ETR: Beenden einer Transaktion TLD: load Operation TST: write (store) Operation Optional: ABR: Abbruch einer Transaktion VAL: Validierung einer Transaktion

Software (STM) Beispiel: ATLAS Cachelines Read Bit: Cacheline wurde während einer Transaktion gelesen Modified Bit: Falls Cachline (teilweise) geändert wurde Zusätzlich möglich: Renamed Bit: Zeigt an, welcher Teil einer Cacheline geändert wurde

Software (STM) Beispiel: ATLAS ATLAS ein HTM-Prototype Erstes CMP-System mit Shared Memory und TM-Support 8 PowerPC 405 + 1 für OS Auf BEE2-Multi-FPGA Board gemappt Läuft mit 100MHz Verwendet kein MESI-Protokoll

Software (STM) ATLAS ein HTM-Prototype Beispiel: ATLAS Abbildung: Aufbau des ATLAS

Software (STM) ATLAS ein HTM-Prototype Beispiel: ATLAS Abbildung: Schaltbild des ATLAS

Software (STM) ATLAS ein HTM-Prototype Beispiel: ATLAS Abbildung: Control FPGA

Software (STM) ATLAS ein HTM-Prototype Beispiel: ATLAS Abbildung: User FPGA

Software (STM) ATLAS ein HTM-Prototype Beispiel: ATLAS

Software (STM) Beispiel: ATLAS Vorteile Skaliert sehr gut Atomizität transparent für alle Anwendungen Nachteile Erfordert neue Hardware Nicht einfach zu Programmieren Nicht so flexibel wie STM

Software (STM) Transaktion zunächst per HTM Falls gescheitert, übernahme durch STM (fall-back)

Software (STM) Konflikterkennung und -lösung STM/STM-Konflikte durch STM HTM/HTM-Konflikte durch HTM HTM/STM-Konflikte durch zusätzlichen Code in HTM-Codepfad

Software (STM) Interoperabilität Zusammenspiel zwischen HTM und STM Überprüfung des Transaction Records Sicherstellung, daß Zugriffsadresse nicht durch STM-Transaktion blockiert ist Zwei Basisfunktionen HTMReadBarrier(addr) Lesen, falls addr nicht durch STM-Transaktion blockiert Abort bei Konflikt HTMWriteBarrier(addr) Schreiben, falls addr nicht durch STM-Transaktion blockiert Abort bei Konflikt

Ende Das Problem Software (STM) VIELEN DANK FÜR IHRE AUFMERKSAMKEIT!