PRAKTIKUM ZUR VL NEUE KONZEPTE UND TECHNIKEN FÜR DATENBANKSYSTEME. Humboldt-Universität zu Berlin Martin Kost

Größe: px
Ab Seite anzeigen:

Download "PRAKTIKUM ZUR VL NEUE KONZEPTE UND TECHNIKEN FÜR DATENBANKSYSTEME. Humboldt-Universität zu Berlin Martin Kost"

Transkript

1 PRAKTIKUM ZUR VL NEUE KONZEPTE UND TECHNIKEN FÜR DATENBANKSYSTEME Humboldt-Universität zu Berlin Martin Kost

2 Übungen 2 ~fünf XML-Parsing Praktikum 4 - Programmierung auf Mehrkernarchitekturen

3 3 Verbrecherjagd

4 4 Verbrecherjagd

5 5 Verbrecherjagd Matrix als Eingabe

6 6 Verbrecherjagd Scannen der Matrix Scannen eines Quadranten nach Personen

7 7 Verbrecherjagd Ergebnis des Scanvorgangs Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

8 8 Verbrecherjagd Typerkennung der erkannten Personen Quadranten mit n Quadranten mit Polizisten

9 Verbrecherjagd Bewegungserkennung 9 Bewegung: Ein Personentyp verschwindet und taucht in einem benachbarten Quadranten auf Quadranten mit auftauchenden n Quadranten mit auftauchenden Polizisten in der ersten Matrix kein Verschwinden v. Personen keine Bewegung

10 10 Verbrecherjagd Scannen der Folgematrix Scannen eines Quadranten

11 11 Verbrecherjagd Ergebnis des Scanvorgangs Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

12 12 Verbrecherjagd Typerkennung der erkannten Personen Quadranten mit n Quadranten mit Polizisten

13 Verbrecherjagd Bewegungserkennung 13 Bewegung: Ein Personentyp verschwindet und taucht in einem benachbarten Quadranten auf Quadranten mit auftauchenden n Quadranten mit auftauchenden Polizisten

14 14 Verbrecherjagd Scannen nach Schlüsselereignis Schlüsselereignis Senden einer Benachrichtigung Schlüsselereignis = Aufeinanderzubewegen von Polizist und n

15 15 Programmierung eines Programms zur Verbrecherjagd unter einer Mehrkernarchitektur Eingabe Geordnete Liste von Matrizen Jede Matrix beinhaltet Informationen über das Auftauchen oder Verschwinden von Personen sowie Merkmale zur Identifizierung von Polizisten und n Das Verschwinden und gleichzeitige Auftauchen einer Person in einem Nachbarquadranten beschreibt eine Bewegung Bewegungen können horizontal, vertikal oder diagonal erfolgen Schlüsselereignis Ein Verbrecher und ein Polizist bewegen sich auf direktem Weg aufeinander zu Ausgabe Eine Nachricht sobald das Schlüsselereignis auftritt und eine Beschreibung der dazugehörigen Bewegungen des Polizisten und des n Entwurf und Beschreibung eines Algorithmus zur Lösung des Problems sowie einer Parallelisierungstrategie Abgabe von mind. zwei (animierten) Folien zum Vorlesungstermin vor Ablauf der Abgabefrist Implementierung des Algorithmus unter C (C++) unter Verwendung von Pthreads Messung der Ausführungszeit

16 Verbrecherjagd Algorithmus/Strategie 16 Scannen der Matrix Partitionierung Datenorientiert (z.b. räumliche Partitionierung) Zuweisen von Threats zu den Partitionen Zuweisen von Kernen zu den Threats Größe der Partitionen bzw. der Chunks festlegen (Zwischen-)Ergebnisse speichern Struktur? Praktikum 4 - Programmierung auf Mehrkernarchitekturen

17 17 Scannen der Matrix - Partitionierung P1 P2 P3 P4 Scannen eines Quadranten nach Personen

18 18 Scannen der Matrix - Partitionierung P1 P2 P3 P4 P5 P6 P7 P8 Scannen eines Quadranten nach Personen

19 19 Scannen der Matrix - Partitionierung P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 Scannen eines Quadranten nach Personen

20 20 Scannen der Matrix - Partitionierung Für Aufgabe optimale Partitionierung in Bezug auf das Caching-Verhalten; Warum? P1 P2 P3 P4 P6 P7 P8 P5 Scannen eines Quadranten nach Personen

21 21 Scannen der Matrix - Partitionierung Vertikale Partitionierung bzgl. des Cachingverhaltens optimal Randbedingungen für die Aufgabe Zugriff von Zelleneinträgen einer 8*8 Matrix Matrix abgebildet als 8 arrays mit je 8 Einträgen als Block im Speicher 8 Kern-Architektur mit 64 Byte L1-Cache jede Partition wird von einem Thread bearbeitet jeder Thread wird einem Kern zugewiesen Zelleneinträge der Matrix bestehen aus Struktur von 2 integer- Variablen Zelle der Matrix 8 Byte groß Zeile der Matrix 64 Byte = Cachelinegröße Praktikum 4 - Programmierung auf Mehrkernarchitekturen

22 22 Scannen der Matrix - Partitionierung Zelleneinträge der Matrix bestehen aus Struktur von 2 integer-variablen Zelle der Matrix 8 Byte groß Zeile der Matrix 64 Byte = Cachelinegröße lesender Zugriff auf zugewiesene Partition durch einen Datentransfer jeder Kern beinhaltet zugewiesene Partition der Matrix vollständig im Cache schreibender Zugriff ohne Cache-Invalidierung 1. bei vertikaler Partitionierung würde das Schreiben einer Zelle erfordern, dass die gesamte Cachline(-größe) und somit die gesamte Zeile der Matrix (also über alle Partitionen hinweg) geschrieben wird 2. Somit erfolgt eine Invalidierung der anderen Partitionen 3. Aufgrund der obligatorischen Einhaltung der Cache Coherence erfolgt ein Cache Thrashing = Invalidierung der Caches der anderen Kerne 4. Cache der anderen Kerne muss verworfen und neu geladen werden Praktikum 4 - Programmierung auf Mehrkernarchitekturen

23 23 Scannen der Matrix - Partitionierung Zelleneinträge der Matrix bestehen aus Struktur von 2 integer-variablen Zelle der Matrix 8 Byte groß Zeile der Matrix 64 Byte = Cachelinegröße lesender Zugriff auf zugewiesene Partition durch einen Datentransfer jeder Kern beinhaltet zugewiesene Partition der Matrix vollständig im Cache schreibender Zugriff ohne Cacheinvalidierung Partitionierung einer Matrix mit n Zeilen auf einer Architektur mit m Kernen: i aus 0 m-1 Kern i mit Thread i zugewiesene Zeilen: von: n*i m bis: n*(i m Skalierung Was ändert sich bei gleichen Vorgaben und einer 16*16 Matrix? 1) 1 Optimale Partitionierung bzgl. des Cachingverhaltens plattform- und anwendungsabhängig? Praktikum 4 - Programmierung auf Mehrkernarchitekturen

24 24 Bewegungserkennung Partitionierung Bewegungsberechnung Regional (Kerne bekommen Regionen zugewiesen) Daten einer Region im Cache Ereignisaustausch für Bewegungsberechnung über Grenzen hinweg notwendig Festlegen von Zuständigkeiten um doppelte Berechnung über Grenzen hinweg zu verhindern Richtungsorientierte Zuweisung (z.b. Berechnung von Bewegungen in Richtung links, oben, links oben und links unten über Grenzen hinweg) Ereignisorientierte Zuweisung (z.b. Berechnung von Bewegungen welche in die Region führen) Unterschiedlicher Ereignisaustausch notwendig Praktikum 4 - Programmierung auf Mehrkernarchitekturen

25 25 Bewegungserkennung Regionale Partitionierung Bewegung: Ein Personentyp verschwindet und taucht in einem benachbarten Quadranten auf P1 P2 P3 P4 P5 P6 P7 P8 Quadranten mit auftauchenden n Quadranten mit auftauchenden Polizisten

26 Bewegungserkennung datenzentraler Ansatz 26 Bewegungsberechnung Regional (Kerne bekommen Regionen zugewiesen) Daten-Zentral Arbeitsverteilung durch funktionale Dekomposition (richtungsorientiert) Thread 1: Berechnung der Bewegungen: nach links, nach oben Thread 2: Berechnung der Bewegungen: nach rechts, nach unten Thread 3: Berechnung der Bewegungen: nach links oben, nach links unten Thread 4: Berechnung der Bewegungen: nach rechts oben, nach rechts unten Praktikum 4 - Programmierung auf Mehrkernarchitekturen

27 27 Verbrecherjagd Bewegungserkennung Bewegung: Ein Personentyp verschwindet und taucht in einem benachbarten Quadranten auf T1 T2 T3 T4 Quadranten mit auftauchenden n Quadranten mit auftauchenden Polizisten

28 28 Verbrecherjagd Algorithmus/Strategien Kodierung der berechneten Bewegungen Typ, Start, Vektor Ablagestruktur für den Speicher zeilenorientiert spaltenorientiert orientiert an Diagonalen Kombination aller Varianten Vorteil: Hohe Parallelisierung und optimale Cacheausnutzung Nachteil: Erhöhter Speicherverbrauch und Generierung notwendig Praktikum 4 - Programmierung auf Mehrkernarchitekturen

29 Verbrecherjagd Algorithmus/Strategien 29 Berechnung des Schlüsselereignisses zentral richtungsbasierter Austausch regional Praktikum 4 - Programmierung auf Mehrkernarchitekturen

30 30 Verbrecherjagd Scannen nach Schlüsselereignis Schlüsselereignis Senden einer Benachrichtigung Schlüsselereignis = Aufeinanderzubewegen von Polizist und n

31 31 Berechnen des Schlüsselereignisses Kodierung der berechneten Bewegungen Typ, Start, Vektor Ablagestruktur für den Speicher zeilenorientiert spaltenorientiert orientiert an Diagonalen Kombination aller Varianten (effizienter Cache-Zugriff zum Erkennen der Bewegungen und Schlüsselereignisse für alle Richtungen vs. erhöhter Speicherbedarf) Probagieren von relevanten Bewegungen entlang des Bewegungsvektors schnelles Erkennen ob ein Schlüsselereignis vorliegt für Bestimmung der exakten Paare des Schlüsselereignisses müssen ebenfalls die Paare verglichen werden Nachteil: probagierte Werte müssen gespeichert werden für die gestellte Aufgabe nicht optimal Praktikum 4 - Programmierung auf Mehrkernarchitekturen

32 32 Verbrecherjagd Scannen nach Schlüsselereignis

33 33 Verbrecherjagd Scannen nach Schlüsselereignis

34 34 Verbrecherjagd Scannen nach Schlüsselereignis Schlüsselereignis

35 35 Verbrecherjagd Kosten Scannen eines Quadranten Erkennen des Personentyps Kommunikation zwischen Partitionen (Threads/Kerne) Operation der Bewegungsberechnung Erstellen eines Threats Synchronisieren von Threats Optimierung Dimensionen 1. Performance Kommunikation, Synchronisation viele Chunks erfordern mehr Kommunikation und Synchronisation 2. Privacy (Tracking r vermeiden/minimieren) eher kleine auseinander liegende Chunks (im Extremfall 1 Quadrant = 1 Chunk) Praktikum 4 - Programmierung auf Mehrkernarchitekturen

36 36 Verbrecherjagd Auswertung der Strategien Vielzahl an Kriterien nach denen optimiert werden kann Zentral optimal, wenn a>b Regional optimal, wenn b<a Zwischenergebnisse (redundant) materialisieren Lese- vs. Schreiboperationen (Cache Thrashing) Skalierbarkeit (andere Strategien können optimal werden) Testen Praktikum 4 - Programmierung auf Mehrkernarchitekturen

37 37 Verbrecherjagd Eingabe-Matrix 1 Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

38 38 Verbrecherjagd Eingabe-Matrix 2 Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

39 39 Verbrecherjagd Eingabe-Matrix 2 Bewegung: Ein Personentyp verschwindet und taucht in einem benachbarten Quadranten auf Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

40 40 Verbrecherjagd Eingabe-Matrix 3 Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

41 41 Verbrecherjagd Eingabe-Matrix 4 Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

42 42 Verbrecherjagd Eingabe-Matrix 5 Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

43 43 Verbrecherjagd Eingabe-Matrix 6 Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

44 44 Verbrecherjagd Eingabe-Matrix 7 Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

45 45 Verbrecherjagd Eingabe-Matrix 8 Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

46 46 Verbrecherjagd Eingabe-Matrix 9 Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

47 47 Verbrecherjagd Eingabe-Matrix 10 Quadranten in denen Personen auftauchen Quadranten in denen Personen verschwinden

48 Satellite tracking for criminals : Offender wears tracker device on belt, with wireless connection to ankle tag. 2: Belt device tracks own location using GPS satellite signals. 3: Location data transferred from belt device to telephone network. 4: Data sent to control centre, which can be specifically alerted if offender enters exclusion zone or breaks other conditions. Radio frequency alarm also sent if tracker and ankle tag are separated. 5: Offender's position shown as location trails on computer map. Praktikum 4 - Programmierung auf Mehrkernarchitekturen

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

Vorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

Vorlesung Verteilte Systeme Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19. Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte

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

WiMa-Praktikum 1. Woche 8

WiMa-Praktikum 1. Woche 8 WiMa-Praktikum 1 Universität Ulm, Sommersemester 2017 Woche 8 Lernziele In diesem Praktikum sollen Sie üben und lernen: Besonderheiten der For-Schleife in Matlab Wiederholung des Umgangs mit Matrizen und

Mehr

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

Untersuchungen zur effizienten Implementierung eines mathematischen Algorithmus in einem FPGA am Beispiel eines Sudoku-Lösers Fakultät Informatik - Institut für Technische Informatik - Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vortrag zum Diplom Untersuchungen zur effizienten Implementierung eines mathematischen

Mehr

PRAKTIKUM ZUR VL NEUE KONZEPTE UND TECHNIKEN FÜR DATENBANKSYSTEME. Humboldt-Universität zu Berlin Martin Kost

PRAKTIKUM ZUR VL NEUE KONZEPTE UND TECHNIKEN FÜR DATENBANKSYSTEME. Humboldt-Universität zu Berlin Martin Kost PRAKTIKUM ZUR VL NEUE KONZEPTE UND TECHNIKEN FÜR DATENBANKSYSTEME Humboldt-Universität zu Berlin Martin Kost Agenda 2 Programmierung unter einer Mehrkernarchitektur Motivation Partitionierung Synchronisation

Mehr

Shock pulse measurement principle

Shock pulse measurement principle Shock pulse measurement principle a [m/s²] 4.0 3.5 3.0 Roller bearing signals in 36 khz range Natural sensor frequency = 36 khz 2.5 2.0 1.5 1.0 0.5 0.0-0.5-1.0-1.5-2.0-2.5-3.0-3.5-4.0 350 360 370 380 390

Mehr

Peg-Solitaire. Florian Ehmke. 29. März / 28

Peg-Solitaire. Florian Ehmke. 29. März / 28 Peg-Solitaire Florian Ehmke 29. März 2011 1 / 28 Gliederung Einleitung Aufgabenstellung Design und Implementierung Ergebnisse Probleme / Todo 2 / 28 Einleitung Das Spiel - Fakten Peg-33 33 Löcher, 32 Steine

Mehr

Stackmaschine; Speicheradressierung

Stackmaschine; Speicheradressierung Stackmaschine; Speicheradressierung Erweiterung um globalen Speicher (Heap, Halde) pro Speicherplatz eine Zahl. Notation ist als Array SP [0..]. Zugriff mittels Adresse (Index): eine Zahl i.a.: Zahlen

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

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

Einführung in Hauptspeicherdatenbanken

Einführung in Hauptspeicherdatenbanken Einführung in Hauptspeicherdatenbanken Harald Zankl Probevorlesung 13. 01., 13:15 14:00, HS C Inhaltsverzeichnis Organisation Überblick Konklusion Harald Zankl (LFU) Hauptspeicherdatenbanken 2/16 Organisation

Mehr

Vorlesung 5: MATRIX-DATENSTRUKTUREN UND SPARSE GEMM

Vorlesung 5: MATRIX-DATENSTRUKTUREN UND SPARSE GEMM Vorlesung 5: MATRIX-DATENSTRUKTUREN UND SPARSE GEMM 126 Hinweise! Mailinglisten: Vorlesung-GALA und NetworKit! Vorlesungs- und PÜ-Termine: Änderungen beachten!! Projektbeschreibungen abholen! 127 Wiederholung!

Mehr

6. Zeiger Allgemeines Definition eines Zeigers

6. Zeiger Allgemeines Definition eines Zeigers 6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.

Mehr

Informatik I Übung, Woche 48: Nachbesprechung Aufgabe 10.1: Implementation von wechselgeld.pas

Informatik I Übung, Woche 48: Nachbesprechung Aufgabe 10.1: Implementation von wechselgeld.pas Informatik I Übung, Woche 48: Nachbesprechung Aufgabe 10.1: Implementation von wechselgeld.pas Giuseppe Accaputo 26. November, 2015 Wechselgeld: Definition Wechselgeld: Wir sind im Besitz von m Münzen,

Mehr

Termin 7: DATENSTRUKTUREN UND ALGORITHMEN

Termin 7: DATENSTRUKTUREN UND ALGORITHMEN Termin 7: DATENSTRUKTUREN UND ALGORITHMEN 133 Modell-Annahmen Annahme: Für eine dünn besetzte Matrix der Dimensionen M x N gilt nnz = Ω(N, M). Annahme: Der schnelle Speicher ist nicht groß genug, um eine

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

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Wir wollen uns heute dem Thema Variablen widmen und uns damit beschäftigen, wie sich

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

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

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

*** Viel Erfolg! ***

*** Viel Erfolg! *** Hochschule München, FK 03 SS 2016 Ingenieurinformatik C-Programmierung Zulassung geprüft: Bachelorstudiengang: Studienbeginn vor WS13/14 (Kombinationsprüfung) ** Studienbeginn ab WS13/14 bis WS15/16 **

Mehr

Algorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion.

Algorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Algorithmus Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Hier einige informelle Erklärungen zum Algorithmus P

Mehr

19. Dynamic Programming I

19. Dynamic Programming I 495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.

Mehr

Konzepte der Programmiersprachen

Konzepte der Programmiersprachen Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C

Mehr

Algorithmen & Datenstrukturen Midterm Test 2

Algorithmen & Datenstrukturen Midterm Test 2 Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann

Mehr

Objektorientierte Programmierung und Modellierung

Objektorientierte Programmierung und Modellierung Objektorientierte Programmierung und Modellierung Einführung, Teil 2 24.10.17 - WS17/18 Hakan Aksu 1 Raumänderung beachten Dienstag 14:15-15:45 Uhr in M001 (anstatt K101) 2 Ausfalltermine 31.10 Vorlesung

Mehr

Freispeicherverwaltung

Freispeicherverwaltung Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt

Mehr

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II Matrixzugriff Wir wollen nun unsere Einführung in die Arbeit mit Vektoren und Matrizen in MATLAB

Mehr

7. Organisation von Informationen

7. Organisation von Informationen Computeranwendung in der Chemie Informatik für Chemiker(innen) 7. Organisation von Informationen Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL7 Folie 1 Grundlagen Programme

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Analyse Kryptographischer Algorithmen: KRYPTON & TWOFISH

Analyse Kryptographischer Algorithmen: KRYPTON & TWOFISH Analyse Kryptographischer Algorithmen: KRYPTON & TWOFISH Martin Lötzsch loetzsch@informatik.hu-berlin.de Einleitung. Das Seminar Analyse Kryptographischer Algorithmen beschäftigte sich mit interessanten,

Mehr

Kennen, können, beherrschen lernen was gebraucht wird

Kennen, können, beherrschen lernen was gebraucht wird Inhaltsverzeichnis Inhaltsverzeichnis... 1 Erweiterte Summenfunktionen... 1 Die Funktion SummeWenn... 1... 1 Die Funktion SummeWenns... 2 Aufgabenstellung... 2 Die Funktion Summenprodukt... 3 Das Summenprodukt

Mehr

Numerische Lineare Algebra - Matlab-Blatt 2

Numerische Lineare Algebra - Matlab-Blatt 2 Prof. Dr. Stefan Funken Universität Ulm M.Sc. Andreas Bantle Institut für Numerische Mathematik Dipl.-Math. oec. Klaus Stolle Wintersemester 014/015 Numerische Lineare Algebra - Matlab-Blatt Lösung (Besprechung

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

ALP I Turing-Maschine

ALP I Turing-Maschine ALP I Turing-Maschine Teil I WS 2012/2013 Äquivalenz vieler Berechnungsmodelle Alonzo Church λ-kalkül Kombinatorische Logik Alan Turing Turing-Maschine Mathematische Präzisierung Effektiv Berechenbare

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

D i g i t a l l a b o r

D i g i t a l l a b o r Hochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik Prof. Dr. A. Ditzinger / Dipl.-Inform. (FH) O. Gniot Prof. Dr. N. Link / Dipl.-Ing. J. Krastel Arbeiten mit

Mehr

Praktikum: Paralleles Programmieren für Geowissenschaftler

Praktikum: Paralleles Programmieren für Geowissenschaftler Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart & Felix Hoffmann hermann.lenhart@informatik.uni-hamburg.de MPI Einführung III Scatterv / Gatherv Programmbeispiele

Mehr

Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN

Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN 125 Motivation! Wahl der Datenstruktur wichtiger Schritt beim Entwurf und der Implementierung von Algorithmen! Dünn besetzte Graphen und Matrizen bilden keine

Mehr

Ortsbestimmung und Ortsmodelle

Ortsbestimmung und Ortsmodelle Ortsbestimmung und Ortsmodelle Distributed Systems Seminar Thomas Gloor Betreuer: Christian Frank Aufteilung Teil 1: Ortsbestimmung am Beispiel von Place Lab Thomas Gloor Teil 2: Ortsmodelle und ihre Anwendungen

Mehr

Parallele und verteilte Programmierung

Parallele und verteilte Programmierung Thomas Rauber Gudula Rünger Parallele und verteilte Programmierung Mit 165 Abbildungen und 17 Tabellen Jp Springer Inhaltsverzeichnis 1. Einleitung 1 Teil I. Architektur 2. Architektur von Parallelrechnern

Mehr

11. Rekursion, Komplexität von Algorithmen

11. Rekursion, Komplexität von Algorithmen 11. Rekursion, Komplexität von Algorithmen Teil 2 Java-Beispiele: Power1.java Hanoi.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 23. Nov. 2015 Anwendung der Rekursion Rekursiv

Mehr

LR Zerlegung. Michael Sagraloff

LR Zerlegung. Michael Sagraloff LR Zerlegung Michael Sagraloff Beispiel eines linearen Gleichungssystems in der Ökonomie (Input-Output Analyse Wir nehmen an, dass es 3 Güter G, G, und G 3 gibt Dann entspricht der Eintrag a i,j der sogenannten

Mehr

Digital Image Interpolation with CUDA

Digital Image Interpolation with CUDA Digital Image Interpolation with CUDA Matthias Schwarz & Martin Rustler Hardware-Software-Co-Design Universität Erlangen-Nürnberg matthias.schwarz@e-technik.stud.uni-erlangen.de martin.rustler@e-technik.stud.uni-erlangen.de

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

19. Dynamic Programming I

19. Dynamic Programming I 495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 OpenMP-Programmierung Teil III Multikern-Praktikum Wintersemester 06-07 Inhalt Was ist OpenMP? Parallele Regionen Konstrukte zur Arbeitsteilung

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8 Such-Algorithmen

Mehr

I Grundlagen der parallelen Programmierung 1

I Grundlagen der parallelen Programmierung 1 vii I Grundlagen der parallelen Programmierung 1 1 Einführung...... 3 1.1 Paradigmenwechsel in der Softwareentwicklung..... 4 1.2 Anwendungsbereiche...... 5 1.3 Parallelität in der Hardware..... 5 1.3.1

Mehr

Skript EXCEL Matrizenrechnung/Lineare Gleichungssysteme

Skript EXCEL Matrizenrechnung/Lineare Gleichungssysteme Skript EXCEL 2010 Matrizenrechnung/Lineare Gleichungssysteme 1. Einleitung Eine Matrixformel kann mehrere Berechnungen durchführen und dann entweder ein einzelnes Ergebnis oder mehrere Ergebnisse liefern.

Mehr

Softwaretechnik 1 Übung 5

Softwaretechnik 1 Übung 5 Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Softwaretechnik 1 Übung 5 2.7.29 Aufgabe 1a) Zeichnen Sie die komplette Vererbungshierarchie der Klasse BufferedOutputStream als UML- Klassendiagramm.

Mehr

Automatische Parallelisierung

Automatische Parallelisierung MPI und OpenMP in HPC Anwendungen findet man immer häufiger auch den gemeinsamen Einsatz von MPI und OpenMP: OpenMP wird zur thread-parallelen Implementierung des Codes auf einem einzelnen Rechenknoten

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Cache Blöcke und Offsets

Cache Blöcke und Offsets Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich

Mehr

Inverted Files for Text Search Engines

Inverted Files for Text Search Engines Inverted Files for Text Search Engines Justin Zobel, Alistair Moffat PG 520 Intelligence Service Emel Günal 1 Inhalt Einführung Index - Inverted Files - Indexkonstruktion - Indexverwaltung Optimierung

Mehr

Kniffel-Agenten. Von Alexander Holtkamp

Kniffel-Agenten. Von Alexander Holtkamp Kniffel-Agenten Von Alexander Holtkamp Übersicht Grundregeln Vorteil der Monte Carlo -Methode Gliederung des Projekts Aufbau State - Action Kodierung von State - Action Optimierung Aussicht Grundregeln

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 24-6. Sitzung Marcus Georgi tutorium@marcusgeorgi.de 04.12.2009 1 Repräsentation von Graphen im Rechner Adjazenzlisten Adjazenzmatrizen Wegematrizen 2 Erreichbarkeitsrelationen

Mehr

Hydroinformatik I: Referenzen und Zeiger

Hydroinformatik I: Referenzen und Zeiger Hydroinformatik I: Referenzen und Zeiger Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 06. Januar

Mehr

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster

Mehr

TracVision - Update der Tracking Frequenzen

TracVision - Update der Tracking Frequenzen TracVision - Update der Tracking Frequenzen - 07.01.2011 Betrifft alle TracVision-Antennen mit der Einstellung ASTRA1 Am 07.01.2011 wurde die Tracking-Frequenz 10921 MHz auf Astra 1 geändert. Dies betrifft

Mehr

Parallele Algorithmen in der Bildverarbeitung

Parallele Algorithmen in der Bildverarbeitung Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

This image cannot currently be displayed. Java à Matlab. bereitgestellt von Dr. Lukas Faessler 12/4/17

This image cannot currently be displayed. Java à Matlab. bereitgestellt von Dr. Lukas Faessler 12/4/17 This image cannot currently be displayed. Java à Matlab bereitgestellt von Dr. Lukas Faessler 12/4/17 Allgemeine Programmierkonzepte kommen in verschiedenen Programmiersprachen vor sind langlebig Sprachen

Mehr

Praktikum Ingenieurinformatik. Termin 2a. Schleifen und Verzweigungen in C und mit MATLAB

Praktikum Ingenieurinformatik. Termin 2a. Schleifen und Verzweigungen in C und mit MATLAB Praktikum Ingenieurinformatik Termin 2a Schleifen und Verzweigungen in C und mit MATLAB 1 1. Fibonacci-Zahlen in C 2. Fibonacci-Zahlen mit MATLAB 3. Zahlendreieck in C 4. Zahlendreieck mit MATLAB 5. Klausuraufgabe

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8

Mehr

Einführung in die Programmierung (MA8003)

Einführung in die Programmierung (MA8003) Theorie 41: Datenorganisation, Profiler, nützliche Funktionen Dr Laura Scarabosio Technische Universität München Fakultät Mathematik, Lehrstuhl für Numerische Mathematik M2 10102017 Ablauf Theorie 11+12

Mehr

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein

Mehr

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; unit sudoku; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TCvD_Sudoku = class(tform) Panel1: TPanel; Bevel1: TBevel; Bevel2:

Mehr

Praktikum: Paralleles Programmieren für Geowissenschaftler

Praktikum: Paralleles Programmieren für Geowissenschaftler Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart & Tim Jammer Dr. HermannJ. Lenhart hermann.lenhart@informatik.unihamburg.de MPI Einführung III: ScatterV/

Mehr

5. Übung - Kanalkodierung/Programmierung

5. Übung - Kanalkodierung/Programmierung 5. Übung - Kanalkodierung/Programmierung Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Kanalkodierung a Folgende Kodes stehen Ihnen zur Verfügung: Kode 1: 0000000 Kode

Mehr

IHS2 Seminar. Jorge Meza Zusebau R2082, Tel: -4128

IHS2 Seminar. Jorge Meza Zusebau R2082, Tel: -4128 Jorge Meza Zusebau R2082, Tel: -4128 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated HW/SW Systems Group 14. Januar 2014 Self-Organization 14 January 2014 1 Nächster Termin Das letzte findet am

Mehr

Physische Datenstrukturen

Physische Datenstrukturen Elementare Datentypen Strukturierte Datentypen Zeiger Seite 1 Einfache Datentypen Datentyp char Verwendung: ASCII-Zeichen Wertebereich: alle darstellbaren Zeichen, 8 bit lange Ganzzahlen im Intervall -128

Mehr

Wortähnlichkeit: Praktische Implementierung

Wortähnlichkeit: Praktische Implementierung Wortähnlichkeit: Praktische Implementierung Benjamin Roth Centrum für Informations- und Sprachverarbeitung Ludwig-Maximilian-Universität München beroth@cisuni-muenchende Benjamin Roth (CIS) Wortähnlichkeit:

Mehr

Network Coding in P2P live streaming

Network Coding in P2P live streaming Network Coding in P2P live von Niklas Goby Einleitung (1) Anforderungen an ein Live Stream Protokoll Flüssige Wiedergabe Skalierbarkeit Auf Peer Dynamiken reagieren Möglichst geringe Wiedergabeverzögerung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 21 Einstieg in die Informatik mit Java Felder, eindimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick: Was sind Felder? 2 Vereinbarung von Feldern

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Tutoraufgabe 1 (Hoare-Kalkül):

Tutoraufgabe 1 (Hoare-Kalkül): Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet

Mehr

Programmieren in Lua

Programmieren in Lua Roberto lerusalimschy Programmieren in Lua 3. Auflage Open Source Press Inhaltsverzeichnis Vorwort 13 I Die Sprache 21 1 Einführung 23 1.1 Chunks 24 1.2 Einige lexikalische Konventionen 26 1.3 Globale

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

III.1 Prinzipien der funktionalen Programmierung - 1 - 1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung

Mehr

Basis-Kurs Statistik und SPSS für Mediziner Lösungen. SPSS-Übung Dateneingabe und -aufbereitung

Basis-Kurs Statistik und SPSS für Mediziner Lösungen. SPSS-Übung Dateneingabe und -aufbereitung Basis-Kurs Statistik und SPSS für Mediziner Lösungen SPSS-Übung Dateneingabe und - 1) Geben Sie die Daten der vier Patienten in eine Excel-Datei ein und lesen Sie diese anschließend in SPSS ein. Basis-Kurs

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

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5 Informatik 1 (251-0832-00) D-MAVT F2010 Schleifen, Felder Nachbesprechung Blatt 3 Aufgabe 1 ASCII... A > a Vorsicht: Lösen Sie sich von intuitiven Schlussfolgerungen. A ist nicht grösser als a, denn in

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

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

Arrays und Schleifen

Arrays und Schleifen Arrays und Schleifen Javakurs 2013, 2. Vorlesung Theresa Enghardt basierend auf der Vorlage von Mario Bodemann und Sebastian Dyroff wiki.freitagsrunde.org 4. März 2013 This work is licensed under the Creative

Mehr

Cognitive Interaction Technology Center of Excellence

Cognitive Interaction Technology Center of Excellence Kanonische Abdeckung Motivation: eine Instanz einer Datenbank muss nun alle funktionalen Abhängigkeiten in F + erfüllen. Das muss natürlich immer überprüft werden (z.b. bei jedem update). Es reicht natürlich

Mehr

Datenbanken: Datenkompression. Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018

Datenbanken: Datenkompression. Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018 Datenbanken: Datenkompression Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018 Vorlesungsinhalte/-aufbau Phase 1 Einführung zu Unternehmensanwendungen (2 Vorlesungen) Grundlagen von spaltenorientierten

Mehr

Rheinisch-Westfälische Technische Hochschule Aachen. Seminararbeit

Rheinisch-Westfälische Technische Hochschule Aachen. Seminararbeit Rheinisch-Westfälische Technische Hochschule Aachen Seminararbeit Analyse von General Purpose Computation on Graphics Processing Units Bibliotheken in Bezug auf GPU-Hersteller. Gregori Kerber Matrikelnummer

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

Primzahlen und Programmieren

Primzahlen und Programmieren Primzahlen Wir wollen heute gemeinsam einen (sehr grundlegenden) Zusammenhang zwischen Programmieren und Mathematik herstellen. Die Zeiten in denen Mathematiker nur mit Zettel und Stift (oder Tafel und

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische Programmierung. Problemlösungsstrategie der Informatik als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung

Mehr

Rechner. Verlauf ansehen. Ausdruck teilen. Graph Gleichungen. OXY Seite öffnen. SCI/ENG Schreibweise. Eigene Gleichung zuweisen

Rechner. Verlauf ansehen. Ausdruck teilen. Graph Gleichungen. OXY Seite öffnen. SCI/ENG Schreibweise. Eigene Gleichung zuweisen Rechner Taste Funktion Verlauf ansehen Ausdruck teilen Zurück (bis zu 30 Schritte) Vorwärts (bis zu 30 Schritte) Graph Gleichungen Eigene Gleichung zuweisen OXY Seite öffnen Bruch/Grad Konvertierung SCI/ENG

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

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang Reihungen Martin Wirsing in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang http://www.pst.informatik.uni-muenchen.de/lehre/ws0506/infoeinf/ WS 05/06 2 Ziele Die Datenstruktur der Reihungen

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