Wissenschaftliches Rechnen in der Praxis: Hardware und Hardware-orientierte Programmierung

Größe: px
Ab Seite anzeigen:

Download "Wissenschaftliches Rechnen in der Praxis: Hardware und Hardware-orientierte Programmierung"

Transkript

1 Wissenschaftliches Rechnen in der Praxis: Hardware und Hardware-orientierte Programmierung Dominik Göddeke Vorlesung Wissenschaftliches Rechnen Fakultät für Mathematik 29. Juni 2010

2 Hinweise Folien Prüfungen Nicht nur die VL von Prof. Turek sind prüfungsrelevant In den Nicht-Turek VL zählen Konzepte und Ideen und nicht technische Details Wer Code-Details auswendig lernt ist selbst schuld

3 Wo waren wir? Die Memory-Wall-Problematik Daten zu lesen und zu schreiben ist viel teurer als Berechnungen mit ihnen durchzuführen Abstand zwischen Rechengeschwindigkeit und Speicherbandbreite wird immer größer PDE-Codes sind fast immer bandbreitenlimitiert Rechnen: 60% schneller pro Jahr Speichertransfers: 10-30% schneller pro Jahr, je nachdem, welche Ebene der Speicherhierarchie

4 Beispiel (vereinfacht aber instruktiv) Addition zweier Vektoren der Länge n (zu lang für den Cache) Rechenoperationen: n, Speicheroperationen: 3n, 8 Byte pro Wert Arithmetische Intensität: 1/3 Mein Rechner: 12 GFLOP/s Rechnung, 10 GB/s Speicherbandbreite Um 12 GFLOP/s zu sehen, bräuchten wir (1/3)^-1 * 8 * 10 GB/s = 0.24 TB/s Speicherbandbreite D.h. 24 mal so viel wie wir haben Vergleich: 2/3 der Festplatte in meinem Laptop pro Sekunde kopieren Andersherum argumentiert Wir können maximal (Sonntags, bei gutem Wetter und bergab) nur 12/24 = 0.5 GFLOP/s für diese Operation erreichen! D.h. 4.2% der theoretischen Maximalleistung Memory wall: Dieser Prozentsatz wird immer kleiner

5 CPUs und Speicherhierarchie (off-chip) Northbridge-Southbridge Architektur (oder auch: von-neumann-arch.) Gängige Praxis in normalen PCs und Workstations Und deshalb auch in Clustern die aus commodity HW zusammengesetzt sind LiDOng: Multiprozessor-System, aber kein prinzipieller Unterschied Idee: Standardisierte Komponenten Jede CPU arbeitet (im Prinzip) mit jedem Speicher und jeder Grafikkarte jeden Herstellers zusammen

6 Latenz und Bandbreite Latenz: Wie lange dauert es, ein Datum zu holen? Gemessen typischerweise in Nano- oder Mikrosekunden (10^-9-10^-6 Sekunden) Absolute Zahlen sind wenig hilfreich. Schlauere Referenzwerte: CPU-Takt (CPU in meinem Rechner: 2.66 GHz, d.h. 2,66 ns pro Takt) Latenz von 10 μs entspricht /2,66 = 3760 Takten Maximale Fliesskomma-Berechnung (meine CPU: 10 GFLOP/s, d.h. 0.1 ns pro Operation) In Wirklichkeit 12 GFLOP/s aber egal Latenz von 10 μs entspricht /0.1 = Fliesskommaoperationen Simplistisch: Diese Bierdeckel-Rechnungen setzen voraus, dass die Daten, die für diese Rechnungen nötig sind, in Nullzeit zugreifbar sind Aber: Es geht hier im Moment um ein Gefühl für Größenordnungen

7 Latenz und Bandbreite Bandbreite: Wie viele Daten kann ich in gegebener Zeit tatsächlich transferieren? Auch: (Speicher-) Durchsatz Klar: Man transferiert nicht jedes Datum einzeln, deshalb ist Bandbreite nicht dasselbe wie Latenz Gemessen typischerweise in GB/s Memory wall hat zwei Aspekte: Latenz und Bandbreite Daumenregel: Latenz = kleine Datenmengen, Bandbreite = große Datenmengen Für uns ist üblicherweise Bandbreite relevanter

8 Latenz und Bandbreite Latenz minimieren in Hardware Über lange Distanzen (von PC zu PC): GHz-Takte in der Rechnung implizieren schon physikalische Grenzen (Lichtgeschwindigkeit!) bei der Signallaufzeit Lange bis mittlere Distanzen: Daten müssen durch viele verschiedene Instanzen laufen (Ethernet Netzwerkkarte Southbridge Northbridge CPU), jede Instanz bremst Bandbreite maximieren in Hardware Technischer Hintergrund: Busse Mehrere Datenwege (Leitungen) parallel Viele Transfers können gleichzeitig über einen Bus / eine Leitung / ein Kabel laufen, wenn der Sender sie schnell genug auf den Bus packen kann und/oder der Empfänger sie schnell genug wieder auslesen kann Multicore: Viele Speichertransfers zu verschiedenen Zielen gleichzeitig Das war die Elektrotechnik-Folie für heute

9 Beispiel: Latenz Netzwerk Ethernet PC zu PC Gigabit Ethernet (mein PC) Latenz ~150 μs = s (um eine Nachricht von Hilmar s PC zu meinem PC zu schicken) Bei 10 GFLOP/s theoretischer maximaler Rechenleistung entspricht dies ca. 1.5 Millionen Fliesskomma-Operationen Supercomputer: Infiniband statt Ethernet Alle Ethernet-Varianten haben praktisch dieselbe Latenz Infiniband 10-50fach kleiner Hausnummern: gige-hardware kostet 1 EUR (auf Mainboard), 10 EUR (als PCI-Karte); IB-Karte kostet 500 EUR; Preise für Kabel und Switches dazu proportional

10 Beispiel: Latenz Hauptspeicher Genaue Werte sehr variabel Aber: 10 ns ist ein guter Daumenwert für aktuelle Speichermodule Je nach Mainboard/RAM-Hersteller und Mut des Übertakters: 8-16 ns Vergleich mit Netzwerk /10 = mal bessere Latenz als gige (!!!) Keine Überraschung, nur die Größenordnung beeindruckt Vergleich mit CPU 10 / 0.1 = 100 bei 10 GFLOP/s 100 Operationen pro Latenz eines Datums

11 Beispiel: Bandbreite Bandbreite von gige 1000 Mbit/s = 125 MB/s theoretisch Bandbreite von Infiniband 1-4 GB/s theoretisch (SDR IB zu QDR IB) Unterschied zu Ethernet erklärt die höheren Kosten um HW zu kaufen Bandbreite des Hauptspeichers GB/s je nach aktueller Architektur Mein Rechner: 10 GB/s (Stand 2008) Neue Nehalem-Knoten in LiDOng: 33 GB/s

12 Zusammenfassung (off-chip) Latenz Speicher reagiert Faktor mal schneller als das Netzwerk Bandbreite (wichtig) Faktor zwischen Netzwerk und Speicher Wenn genug transferiert wird so dass Latenz ignoriert werden kann Aktueller Schnappschuss Tatsächliche Abstände werden immer größer Relevant sind Größenordnungen, und die bleiben mehr oder weniger konstant

13 Jetzt: on-chip Beispiel: AMD Athlon64 CPU (2004, echtes Die-Foto)

14 Jetzt: on-chip Beispiel: Intel Core2 (mein PC, 2008, echtes Die-Foto)

15 Chipfläche einer CPU Cache 50-60% der Chipfläche Level 1 Cache (L1 Instruktionen und Daten) Level 2 Cache (L2 Daten) Manchmal auch: L3 Cache (on-chip oder off-chip aber dedizierte Leitungen) Kontrollfluss und HW-Heuristiken (Branch Prediction etc.) 30-40% der Chipfläche Rechnen Weniger als 10% der Chipfläche (inklusive Register) Verhältnisse stimmen auch noch für Multicore-Chips

16 CPUs: Rechnen Was passiert in den 5-10% der CPU, die tatsächlich rechnen? Multicore wird wegabstrahiert (sonst ist das folgende proportional zur Anzahl Kerne) Generische FPU (floating point unit) Typischerweise 80 bit (mehr als double!) Wird immer dann benutzt, wenn wir oder der Compiler das nicht verbieten (-O0 aktiviert manchmal die generische FPU, es wird statt mit einfacher mit mehr als doppelter Genauigkeit gerechnet, anderes Ergebnis! Mehr dazu nächste Woche) Eine Operation pro Takt

17 CPUs: Rechnen SSE-Einheiten (streaming SIMD, früher MMX) Können SIMD auf 4 Daten (einfach genau Fließkomma) oder 2 Daten (doppelt genau Fließkomma) Also 2 oder 4 Operationen pro Takt Erinnerung: SIMD Short-Vector Instruktionen, bspw. Addition zweier Viertupel Bedingung: Alignment Daten müssen konsekutiv im Speicher abgelegt sein Damit auch das Laden in die SIMD-Register in einem Takt abläuft Register Speicher direkt neben den Recheneinheiten, schnellste Zugriffszeit

18 Caches Memory wall Caches sind das #1 Hardware-Mittel der Wahl, um sowohl dem Latenz- als auch dem Bandbreiten-Aspekt der Memory Wall Problematik entgegenzuwirken Caches halten Daten in schnellem Speicher vor, in der Hoffnung, dass sie schnell wieder genutzt werden Caches sind on-chip und haben deshalb sehr kurze Signallaufzeit zu den Rechen-Einheiten Caches sind moderat einfach in Hardware zu bauen Tradeoff: Verantwortlich für den hohen Energiebedarf von CPUs (aber das führt in dieser VL zu weit) Beispiel: Matrix-Vektor Multiplikation Matrix cachen bringt nichts (jedes A_ij wird nur einmal benötigt) Koeffizientenvektor cachen bringt viel (wird einmal pro Matrixzeile benötigt)

19 Endlich: Speicherhierarchie Bandbreite Größe Anderer Rechner: 1 GB/s Anderer Rechner: 8 GB Hauptspeicher: 10 GB/s Hauptspeicher: 8 GB L2 Cache: 100 GB/s L2 Cache: 1-4 MB L1 Cache: 1000 GB/s L1 Cache: kb Register: Nullzeit Register: wie L1 Daumenregel: eine Größenordnung pro Hierarchieebene Daumenregel: drei (!) Größenordnungen pro Hierarchieebene

20 Konsequenzen in der Praxis

21 Lokalität Lokalität Wichtigstes Mittel um die Speicherhierarchie effizient nutzen zu können Lokalität = locality of reference Räumliche Lokalität Daten, die nebeneinander im Speicher liegen sollten auch direkt nacheinander verarbeitet werden Zeitliche Lokalität Rechne möglichst lange auf Daten, die möglichst nah am Prozessor liegen Problem: Je näher wir an den Prozessor kommen, desto weniger Speicher steht zur Verfügung

22 Caches Entscheidung der Hardware Welche Daten wann wo in den Caches liegen ist eine Entscheidung der Hardware Hardware stellt Konsistenz der gecachten Daten zum Hauptspeicher sicher (Cache-Kohärenz) Hardware analysiert den Datenstrom und kann Daten asynchron zur Rechnung vom Speicher in die Caches verschieben (prefetching) Heuristik: Ob wir die Daten tatsächlich verwenden ist wissen natürlich nur wir Block-Transfers Hardware holt oft ganze zusammenhängende Datenblöcke in den Cache ( Cache-Zeile ) Diese Speichertransfers sind sehr effizient

23 Datenlayouts Gute Implementierung Verwende Datenlayouts und Datenzugriffsmuster, die es dem Compiler erlauben, die Speicherhierarchie effizient zu nutzen Maximiere Wiederverwendung von Daten Beispiele gleich Speicherhierarchie und SSE Lustigerweise sehr eng verbunden: Datenlayouts die Lokalität maximieren können typischerweise vom Compiler gut in (viel effizienteren) SSE-Code übersetzt werden

24 Datenlayouts Datenlayout für verschiedene Varianten der gleichen Operation Sparse Matrix-Vektor Multiplikation springt potentiell wild im Koeffizientenvektor herum Sparse Matrix-Vektor Multiplikation greift kontinuierlich auf die Matrix zu Mehr dazu von Hilmar morgen Optimales Layout für verschiedene Operationen Kompromiss: Layout das optimal ist für eine Operation muss nicht optimal sein für eine andere

25 Datenlayouts Beispiel: Red-Black Gauß-Seidel (Parallelisierungstechnik) Optimales Layout füt Vektor-Vector Operationen: kontinuierliche Nummerierung Sorgt für Löcher in der Anwendung eines Gauß-Seidel Schritts

26 Compiler vs. Programmierer Compiler sind prinzipiell doof Ein guter Programmierer weiß aber, wann er sich auf den Compiler verlassen kann Verschiedene Compiler sind unterschiedlich doof: Benutze die Intel- Compiler für Zeitmessungen und die GNU-Compiler für Debugging Compiler sind sehr gut (gut genug für uns) auf der Ebene der Register Explizites Placement auf Registerebene ist in der Regel kontraproduktiv Assembly-Language-Programmierung bringt kaum zusätzlichen Gewinn

27 Compiler vs. Programmierer Compiler sind sehr gut für lineare Array-Zugriffe Einfach in en-bloc Transfers übersetzbar Vec-Vec-Operationen Compiler sind manchmal gut in SSE Wenn die Indizierung kontinuierlich sind Beispiel: Vektor-Addition von vor 20 Folien liest alle Elemente kontinuierlich Dann optimale Nutzung der effektiven Speicherbandbreite Compiler sind sehr schlecht in SSE Wenn die Speicherzugriffe nicht kontinuierlich sind Und insbesondere wenn wild im Speicher herum gehüpft wird Mehr dazu im Kontext dieser Vorlesung morgen bei Hilmar und im folgenden

28 Compiler vs. Programmierer Wichtigste Regeln zusammengefasst Numerische Effizienz ist das wichtigste Ein für den Menschen gut lesbarer Code ist in der Regel auch für den Compiler gut optimierbar, aber: Datenlayout, Datenzugriffsmuster und Algorithmen müssen an die Speicherhierarchie angepasst werden (Beispiele gleich)

29 Techniken zur Steigerung der Lokalität

30 Datenlayout Benutze ein geeignetes Datenlayout Der Klassiker bei 2D-Arrays C/C++/Java: Row-major Fortran/Matlab: Column-major

31 Loop Interchange C-Stil für 2D-Arrays impliziert andere Schleifenordnung als Fortran- Stil, Lösung: Schleife an Datenlayout anpassen

32 Loop Fusion Vermeide teure, überflüssige Umwege über den Hauptspeicher wenn irgendwie möglich In der Praxis oft kompliziert, gerade wenn MatVec- und Skalarprodukte im Spiel sind Deshalb oft in Kombination mit numerischen Reformulierungen

33 Loop Blocking / Tiling Beispiel: Matrix-Transponierung

34 Fazit Korrektes Datenlayout ist sehr wichtig Mindestens um dem Compiler zu erlauben, Code so gut wie möglich zu optimieren Bisher: Kurzes Kratzen an der Oberfläche und Präsentation der wichtigsten Klassen von Verfahren um Code effizienter zu machen Morgen mehr dazu von Hilmar für numerische lineare Algebra Literatur: Markus Kowarschik und Christian Weiß: An Overview of Cache Optimization Techniques and Cache-Aware Numerical Algorithms, in: Algorithms for Memory Hierarchies, Springer Lecture Notes in Computer Science (LNCS) Nummer 2625, pp ,

Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE

Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE 754 Standard festgelegt. Es stehen sogenannte einfach

Mehr

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen J. Treibig, S. Hausmann, U. Ruede 15.09.05 / ASIM 2005 - Erlangen Gliederung 1 Einleitung Motivation Grundlagen 2 Optimierungen

Mehr

Computergrundlagen Moderne Rechnerarchitekturen

Computergrundlagen Moderne Rechnerarchitekturen Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Aufbau eines modernen Computers DDR3- Speicher Prozessor Prozessor PEG

Mehr

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck RST-Labor WS06/07 GPGPU General Purpose Computation On Graphics Processing Units (Grafikkarten-Programmierung) Von: Marc Blunck Ablauf Einführung GPGPU Die GPU GPU Architektur Die Programmierung Programme

Mehr

Computergrundlagen Moderne Rechnerarchitekturen

Computergrundlagen Moderne Rechnerarchitekturen Aufbau eines modernen Computers Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart DDR3- Speicher Prozessor Prozessor PEG Graphikkarte(n) weitere

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 6 Cache-freundliche Programmierung (1) Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Quadratische Matrizen Musterlösung

Mehr

Beispielvortrag: HPCG auf Intel Haswell-EP

Beispielvortrag: HPCG auf Intel Haswell-EP Beispielvortrag: HPCG auf Intel Haswell-EP Johannes Hofmann 1 Seminarvortrag Architekturen von Multi- und Vielkern-Prozessoren Erlangen, 19.4.2016 1 Computer Architecture, University Erlangen-Nuremberg

Mehr

2 Rechnerarchitekturen

2 Rechnerarchitekturen 2 Rechnerarchitekturen Rechnerarchitekturen Flynns Klassifikation Flynnsche Klassifikation (Flynn sche Taxonomie) 1966 entwickelt, einfaches Modell, bis heute genutzt Beschränkung der Beschreibung auf

Mehr

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

ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS. Sascha Kath ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS Sascha Kath Dresden, Gliederung 1. Motivation & Zielstellung 2. Systembeschreibung 3. Implementierung und Messungen

Mehr

Compute Unified Device Architecture CUDA

Compute Unified Device Architecture CUDA Compute Unified Device Architecture 06. Februar 2012 1 / 13 Gliederung 2 / 13 : Compute Unified Device Architecture entwickelt von Nvidia Corporation spezifiziert Software- und Hardwareeigenschaften Ziel:

Mehr

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

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher

Mehr

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach Cache-Speicher Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Cache-Speicher Warum Cache-Speicher? Cache-Strukturen Aufbau und Organisation von Caches Cache-Architekturen Cache-Strategien

Mehr

Cache-Kohärenz und -Konsistenz. Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: Universität Heidelberg

Cache-Kohärenz und -Konsistenz. Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: Universität Heidelberg Cache-Kohärenz und -Konsistenz Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: 3220501 Universität Heidelberg Inhaltsverzeichnis Wozu Caches? Unterschied Kohärenz und Konsistenz MESI-Protokoll Fazit 2

Mehr

Vorlesung Hochleistungsrechnen - SS Thomas Ludwig 1

Vorlesung Hochleistungsrechnen - SS Thomas Ludwig 1 Vorlesung Hochleistungsrechnen - SS 2010 - Thomas Ludwig 1 Vorlesung Hochleistungsrechnen - SS 2010 - Thomas Ludwig 2 Vorlesung Hochleistungsrechnen - SS 2010 - Thomas Ludwig 3 Siehe: http://en.wikipedia.org/wiki/amdahl%27s_law

Mehr

Leistungsanalyse: Analytisch/Mathematisch, Modellierung oder Hands-On, Grundgedanken zur möglichen Leistung eines Programms.

Leistungsanalyse: Analytisch/Mathematisch, Modellierung oder Hands-On, Grundgedanken zur möglichen Leistung eines Programms. Leistungsanalyse: Analytisch/Mathematisch, Modellierung oder Hands-On, Grundgedanken zur möglichen Leistung eines Programms. Modellierung: Hardware/Software-Verhalten ist komplex, daher modellieren/abstrahieren

Mehr

Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle

Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle Vorwissen und so SQL Umgang mit MySQL (Workbench) Beispieldaten zum Spielen: http://download.geonames.org/export/dump/ 2 Tuningpotential DB-Interna;

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor. Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,

Mehr

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen der Rechnerarchitektur. Speicher Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

Systeme 1: Architektur

Systeme 1: Architektur slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen: Übersicht 1 Einleitung Hauptspeicher 2 Hauptspeicher 3 Caches, Cache-Kohärenz Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Mehr

Algorithmik kontinuierlicher Systeme

Algorithmik kontinuierlicher Systeme Algorithmik kontinuierlicher Systeme Matrixstrukturen Feste Dimension von Matrizen und Vektoren Geometrische Anwendungen Matrix beschreibt meist Transformationen von Vektoren im 2D bzw. 3D d.h. Dimension

Mehr

Architektur von Parallelrechnern 50

Architektur von Parallelrechnern 50 Architektur von Parallelrechnern 50 Rechenintensive parallele Anwendungen können nicht sinnvoll ohne Kenntnis der zugrundeliegenden Architektur erstellt werden. Deswegen ist die Wahl einer geeigneten Architektur

Mehr

Cell and Larrabee Microarchitecture

Cell and Larrabee Microarchitecture Cell and Larrabee Microarchitecture Benjamin Grund Dominik Wolfert Universität Erlangen-Nürnberg 1 Übersicht Einleitung Herkömmliche Prozessorarchitekturen Motivation für Entwicklung neuer Architekturen

Mehr

Einführung in C++ Oliver Rheinbach. Büro T03 R03 D53 Tel

Einführung in C++ Oliver Rheinbach. Büro T03 R03 D53 Tel Einführung in C++ Oliver Rheinbach Büro T03 R03 D53 Tel. 0201 183 2504 oliver.rheinbach@uni-duisburg-essen.de Universität Duisburg-Essen Fachbereich Mathematik O. Rheinbach 2 Einführung in C++ Dienstag,

Mehr

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

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle

Mehr

Architektur und Organisation von Rechnersystemen

Architektur und Organisation von Rechnersystemen Architektur und Organisation von Thema heute: More need for more Speed, Weitere Architekturmerkmale, Zahlendarstellungen, Makroassembler BKH-ArcOrg16-V3 am 01.12.2016 Ulrich Schaarschmidt BK-H/HS Düsseldorf,

Mehr

Hochleistungsrechnen auf dem PC

Hochleistungsrechnen auf dem PC Hochleistungsrechnen auf dem PC Steffen Börm Christian-Albrechts-Universität zu Kiel Ringvorlesung Informatik, 26. Juni 2014 S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni 2014 1 / 33 Übersicht

Mehr

Vorlesung 4: DATENSTRUKTUREN UND ALGORITHMEN

Vorlesung 4: DATENSTRUKTUREN UND ALGORITHMEN Vorlesung 4: DATENSTRUKTUREN UND ALGORITHMEN 107 Wiederholung zur Speicherhierarchie! EM- bzw. I/O-Modell: Übergang der Ebenen universell! Blockweise Abarbeitung unter Ausnutzung von Lokalität Chip On-/off-Chip,

Mehr

Motivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung

Motivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung CUDA und Python Christian Wilms Integriertes Seminar Projekt Bildverarbeitung Universität Hamburg WiSe 2013/14 12. Dezember 2013 Christian CUDA und Python 1 Gliederung 1 Motivation 2 (GP)GPU 3 CUDA 4 Zusammenfassung

Mehr

N Bit Binärzahlen. Stelle: Binär-Digit:

N Bit Binärzahlen. Stelle: Binär-Digit: N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)

Mehr

Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.)

Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.) Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.) von Martin Stöcker Motivation Geschwindigkeit der Prozessoren verdoppelt sich alle 18 Monate (Moore s Law) Geschwindigkeit des Speichers

Mehr

Vorstellung der SUN Rock-Architektur

Vorstellung der SUN Rock-Architektur Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vorstellung der SUN Rock-Architektur Hauptseminar Ronald Rist Dresden, 14.01.2009

Mehr

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen der Rechnerarchitektur. Speicher Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

ModProg 15-16, Vorl. 13

ModProg 15-16, Vorl. 13 ModProg 15-16, Vorl. 13 Richard Grzibovski Jan. 27, 2016 1 / 35 Übersicht Übersicht 1 Supercomputing FLOPS, Peak FLOPS Parallelismus Praktische Aspekte 2 Klausur von 2009 2 / 35 Supercomputing: HPC Modellierung

Mehr

General Purpose Computation on GPUs

General Purpose Computation on GPUs General Purpose Computation on GPUs Matthias Schneider, Robert Grimm Universität Erlangen-Nürnberg {matthias.schneider, robert.grimm}@informatik.stud.uni-erlangen.de M. Schneider, R. Grimm 1 Übersicht

Mehr

Eine kurze Einführung in Rechnerarchitektur und Programmierung von Hochleistungsrechnern als zentrales Werkzeug in der Simulation

Eine kurze Einführung in Rechnerarchitektur und Programmierung von Hochleistungsrechnern als zentrales Werkzeug in der Simulation Eine kurze Einführung in Rechnerarchitektur und Programmierung von Hochleistungsrechnern als zentrales Werkzeug in der Simulation Dr. Jan Eitzinger Regionales Rechenzentrum (RRZE) der Universität Erlangen-Nürnberg

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 07 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe16 Moritz Kaufmann

Mehr

Hochleistungsrechnen in Darmstadt: Der Lichtenberg- Hochleistungsrechner. Dr. Andreas Wolf. Gruppenleiter Hochleistungsrechnen Hochschulrechenzentrum

Hochleistungsrechnen in Darmstadt: Der Lichtenberg- Hochleistungsrechner. Dr. Andreas Wolf. Gruppenleiter Hochleistungsrechnen Hochschulrechenzentrum Hochleistungsrechnen in Darmstadt: Der Lichtenberg- Hochleistungsrechner Dr. Andreas Wolf Gruppenleiter Hochleistungsrechnen Hochschulrechenzentrum Überblick Randbedingungen der HPC Beschaffung an der

Mehr

Spielst du noch oder rechnest du schon?

Spielst du noch oder rechnest du schon? Spielst du noch oder rechnest du schon? Mit Spielkonsole und Co. zum Supercomputer der Zukunft Fachbereich Elektrotechnik und Informationstechnik Fachhochschule Bielefeld University of Applied Sciences

Mehr

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus 4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts

Mehr

Grafikkarten-Architektur

Grafikkarten-Architektur > Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: s.albers@wwu.de 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur

Mehr

Mehrprozessorarchitekturen

Mehrprozessorarchitekturen Mehrprozessorarchitekturen (SMP, UMA/NUMA, Cluster) Arian Bär 12.07.2004 12.07.2004 Arian Bär 1 Gliederung 1. Einleitung 2. Symmetrische Multiprozessoren (SMP) Allgemeines Architektur 3. Speicherarchitekturen

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 5 Software Engineering für moderne, parallele Plattformen b. Ergänzungen zur Performanz Dr. Victor Pankratius Agenda Das Roofline Model [Williams

Mehr

Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause

Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz Markus Krause Dresden, Gliederung 1. Einführung 2. Problemstellung 3. Lösungen a) Miss Rate b) Miss Penalty c) Hit Time 4. Zusammenfassung

Mehr

Software Engineering für moderne, parallele Plattformen

Software Engineering für moderne, parallele Plattformen Software Engineering für moderne, parallele Plattformen b. Ergänzungen zur Performanz Dr. Victor Pankratius Dr. Victor Pankratius IPD Lehrstuhl für Programmiersysteme-Tichy KIT die Kooperation von Forschungszentrum

Mehr

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.

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. 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 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

Mehr

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR #7 Terminchaos Nächste Vorlesungen: 27. 5. Vertretung durch Prof. Fekete 3. 6. Exkursionswoche 10. 6. Vertretung durch N.N. 17. 6. back to normal... Experiment Durchlaufe zwei gleichgrosse Arrays: Sortierte

Mehr

PG 471: Beyond Graphics. Strömungssimulation in der GPU

PG 471: Beyond Graphics. Strömungssimulation in der GPU Strömungssimulation in der GPU Betreuer: Claus-Peter Alberts, LS VII Dominik Göddeke, LS III (Mathematik) Normale Nutzung von Grafikkarten Normale Nutzung von Grafikkarten STATTDESSEN: GPGPU! Anwendungsfall:

Mehr

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22 Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.

Mehr

Programmierung. Rückblick. VWA - Programmierung Winter Algorithmus. Programmiersprache. Variable. Zuweisung. Bedingung.

Programmierung. Rückblick. VWA - Programmierung Winter Algorithmus. Programmiersprache. Variable. Zuweisung. Bedingung. Programmierung 1 Rückblick Algorithmus Programmiersprache Variable Zuweisung Bedingung Schleife (c) Peter Sturm, University of Trier 1 3 Aufgabe: Viele, viele bunte Smarties Rechengeschwindigkeit CPU 5

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1 CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig

Mehr

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

Machine Learning Hardware

Machine Learning Hardware Machine Learning Hardware Dominik Scherer 06.11.2017 Seminar Neuste Trends in Big Data Analytics Betreuer: Dr. Julian Kunkel Motivation Maschinelles Lernen in vielen Bereichen angewendet, z.b. Spracherkennung

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

Mehr

Multicore-Architekturen

Multicore-Architekturen Universität Erlangen- Nürnberg Technische Universität München Universität Stuttgart Multicore-Architekturen Vortrag im Rahmen der Ferienakademie 2009 Kurs 1: Programmierkonzepte für Multi-Core Rechner

Mehr

Vorlesung 3: Verschiedenes

Vorlesung 3: Verschiedenes Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 3: Verschiedenes Peter B. Ladkin Vorlesung 3 - Inhalt Busarchitektur Virtuelle Maschine 2 Busarchitektur - das

Mehr

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell

Mehr

Quantitative Prinzipien im Hardwareentwurf. 1. Small is fast

Quantitative Prinzipien im Hardwareentwurf. 1. Small is fast Quantitative Prinzipien im Hardwareentwurf 1. Small is fast Kleine Hardwareeinheiten schalten in der Regel schneller als größere. Kleine Transistoren bilden an ihren Gates kleinere Kapazitäten die Source-Drain

Mehr

3. Rechnerarchitektur

3. Rechnerarchitektur ISS: EDV-Grundlagen 1. Einleitung und Geschichte der EDV 2. Daten und Codierung 3. Rechnerarchitektur 4. Programmierung und Softwareentwicklung 5. Betriebssyteme 6. Internet und Internet-Dienste 3. Rechnerarchitektur

Mehr

Wichtige Rechnerarchitekturen

Wichtige Rechnerarchitekturen Wichtige Rechnerarchitekturen Teil 5 INMOS Transputer, CSP/Occam 1 INMOS Transputer 1983 vorgestellt von der Firma INMOS (Bristol) (Entwicklung seit 1978) Der Name Transputer entstand als Kunstwort aus

Mehr

Memory Models Frederik Zipp

Memory Models Frederik Zipp Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. Einfaches Paging. Paging mit virtuellem Speicher Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz

Mehr

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9 Inhalt Curriculum 1.4.2 Manfred Wilfling HTBLA Kaindorf 28. November 2011 M. Wilfling (HTBLA Kaindorf) CPUs 28. November 2011 1 / 9 Begriffe CPU Zentraleinheit (Central Processing Unit) bestehend aus Rechenwerk,

Mehr

Verschiedenes. Peter B. Ladkin

Verschiedenes. Peter B. Ladkin Verschiedenes Peter B. Ladkin ladkin@rvs.uni-bielefeld.de Busarchitektur Virtuelle Maschine Alles sitzt auf dem gleichen Kabel Das Gerät wird nur durch die Adresse unterschieden Speicher Cache Festplatte

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung Rechnerarchitektur. Einführung Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher

Mehr

Algorithm Engineering XXL

Algorithm Engineering XXL PG 503 XAVER Algorithm Engineering XXL Veranstalter: Markus Chimani Carsten Gutwenger Karsten Klein LS 11: Algorithm Engineering Prof. Dr. Petra Mutzel Algorithm Engineering Klassische Algorithmik einfaches

Mehr

GPGPU Basiskonzepte. von Marc Kirchhoff GPGPU Basiskonzepte 1

GPGPU Basiskonzepte. von Marc Kirchhoff GPGPU Basiskonzepte 1 GPGPU Basiskonzepte von Marc Kirchhoff 29.05.2006 GPGPU Basiskonzepte 1 Inhalt Warum GPGPU Streams, Kernels und Prozessoren Datenstrukturen Algorithmen 29.05.2006 GPGPU Basiskonzepte 2 Warum GPGPU? Performance

Mehr

Evaluation. Einleitung. Implementierung Integration. Zusammenfassung Ausblick

Evaluation. Einleitung. Implementierung Integration. Zusammenfassung Ausblick Christopher Schleiden Bachelor Kolloquium 15.09.2009 Einleitung Evaluation Implementierung Integration Zusammenfassung Ausblick Einleitung laperf Lineare Algebra Bibliothek für C++ Möglichkeit zur Integration

Mehr

Erweiterung von Adressraum und Bit Tiefe

Erweiterung von Adressraum und Bit Tiefe Erweiterung von Adressraum und Bit Tiefe Erweiterung des vorigen Beispiels ist offensichtlich: Vergrößerung des Adressraums (in der Größenordnung 2 n ): Füge eine Adressleitung hinzu und verdoppele die

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Logische und mathematische Grundlagen Digitale Daten Computerprogramme als Binärdaten von Neumann-Rechnerarchitektur Einführung in Maschinen-Code Speicherorganisation Betriebssysteme

Mehr

Algorithmen für die Speicherhierarchie

Algorithmen für die Speicherhierarchie Lineare Algebra: untere Schranken Lehrstuhl für Effiziente Algorithmen Fakultät für Informatik Technische Universität München Vorlesung Sommersemester 2009 Gliederung 1 2 Zusätzliche Überlegungen Erinnerung

Mehr

CUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg

CUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht Einleitung Architektur Programmierung 2 Einleitung Computations on GPU 2003 Probleme Hohe Kenntnisse der Grafikprogrammierung nötig Unterschiedliche

Mehr

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff Parallel Computing Einsatzmöglichkeiten und Grenzen Prof. Dr. Nikolaus Wulff Parallel Architekturen Flynn'sche Klassifizierung: SISD: single Instruction, single Data Klassisches von-neumann sequentielles

Mehr

Vorstellung (Wdh. für die Neuen )

Vorstellung (Wdh. für die Neuen ) Vorstellung (Wdh. für die Neuen ) Mein Name: Christian Mandery Studiengang: Diplom-Informatik im 4. Semester (ich höre also im Moment selbst noch Technische Informatik 2) E-Mail (bei Fragen und zum Senden

Mehr

CPU-Caches. Christian Duße. Seminar Effiziente Programmierung in C

CPU-Caches. Christian Duße. Seminar Effiziente Programmierung in C CPU-Caches Christian Duße Seminar Effiziente Programmierung in C Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

Mehr

Der von Neumann Computer

Der von Neumann Computer Der von Neumann Computer Grundlagen moderner Computer Technologie 1 Der moderne Computer ein weites Spektrum Typ Preis Anwendungsbeispiel embeded Computer 10-20 $ in Autos, Uhren,... Spielcomputer 100-200$

Mehr

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme R. Merker, Technische Universität Dresden, Fakultät ET und IT J. Kelber, Fachhochschule Schmalkalden, ET Gliederung

Mehr

1 Organisationsaspekte RISC- und CISC-Prozessoren Ausnutzen von Cache-Effekten

1 Organisationsaspekte RISC- und CISC-Prozessoren Ausnutzen von Cache-Effekten McFarling [1989] konnte Cache Misses um 75% in 8KB direkt abbildenden Caches durch Softwaremaßnahmen senken. Instruktionen Umordnen im Speicher, um Conflict-Misses zu reduzieren Profiling : spezielle Konfliktvermeidungsmaßnahmen

Mehr

Praktische Übungen zu Computertechnik 2. Versuchsprotokoll

Praktische Übungen zu Computertechnik 2. Versuchsprotokoll Praktische Übungen zu Computertechnik 2 Versuchsprotokoll Versuch: C2 Parallelrechner Versuchsdatum und -zeit: Donnerstag, 03. Juni 2010, 10-13 Uhr Betreuer: Adrian Knoth Name, Studiengang, Mat.-Nr.: Ralf

Mehr

Die Sandy-Bridge Architektur

Die Sandy-Bridge Architektur Fakultät Informatik - Institut für Technische Informatik - Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Die Sandy-Bridge Architektur René Arnold Dresden, 12. Juli 2011 0. Gliederung 1.

Mehr

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

Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung Vorlesung: Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung Themenüberblick Virtualisierung VL 02: Einführung in die Virtualisierung (heute) VL 06: VL 08: XaaS VL 09: PaaS + SaaS VL

Mehr

CPU, GPU und FPGA. CPU, GPU und FPGA Maximilian Bandle, Bianca Forkel 21. November 2017

CPU, GPU und FPGA. CPU, GPU und FPGA Maximilian Bandle, Bianca Forkel 21. November 2017 CPU, GPU und FPGA, Bianca Forkel 21. November 2017 CPU, GPU und FPGA Inhalt CPU: Central Processing Unit GPU: Graphical Processing Unit FPGA: Field Programmable Gate Array 2 CPU Central Processing Unit

Mehr

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

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext Till Fischer 03.11.2011 FZI Forschungszentrum Informatik Embedded Systems & Sensors Engineering (ESS)

Mehr

Seminar: Multi-Core Architectures and Programming

Seminar: Multi-Core Architectures and Programming Seminar: Multi-Core Architectures and Programming Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche

Mehr

Das Motherboard (Hauptplatine) beinhaltet Prozessor (CPU), Speicher (RAM) Anschlüsse für interne Disks, Steckkarten, Anschlüsse nach aussen

Das Motherboard (Hauptplatine) beinhaltet Prozessor (CPU), Speicher (RAM) Anschlüsse für interne Disks, Steckkarten, Anschlüsse nach aussen Das Motherboard (Hauptplatine) beinhaltet Prozessor (CPU), Speicher (RAM) Anschlüsse für interne Disks, Steckkarten, Anschlüsse nach aussen Damit man grosse Zahlen abkürzen kann, behilft man sich dieser

Mehr

Parallelverarbeitung

Parallelverarbeitung Parallelverarbeitung WS 2015/16 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 18. Januar 2016 Betriebssysteme / verteilte Systeme Parallelverarbeitung

Mehr

Neue Dual-CPU Server mit Intel Xeon Scalable Performance (Codename Purley/Skylake-SP)

Neue Dual-CPU Server mit Intel Xeon Scalable Performance (Codename Purley/Skylake-SP) Neue Dual-CPU Server mit Intel Xeon Scalable Performance (Codename Purley/Skylake-SP) @wefinet Werner Fischer, Thomas-Krenn.AG Webinar, 17. Oktober 2017 Intel Xeon Scalable Performance _ Das ist NEU: Neue

Mehr

Daten Bank. 6. Vorlesung

Daten Bank. 6. Vorlesung Daten Bank 6. Vorlesung Klausur PRG-2 Klausur am Freitag den 25. Juli Start: 9:00 Uhr Wo: Hörsaalgebäude Bockenheim Vorlesungsräume HIV, HVI und HIII Studierendenausweis mitbringen! Dr. Karsten Tolle PRG2

Mehr

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Vorlesung 1 Medizininformatik. Sommersemester 2017

Vorlesung 1 Medizininformatik. Sommersemester 2017 Vorlesung 1 Medizininformatik Begrüssung und Einführung Medizininformatik () Vorlesung (2 SWS) Montags 8:30-10:00 Übung (1 SWS) 10:15-11:00 1. 24.4 1.5 2. 8.5 3. 15.5 4. 22.5 Computer Architecture Begrüssung,

Mehr