PRAKTIKUM ZUR VL NEUE KONZEPTE UND TECHNIKEN FÜR DATENBANKSYSTEME. Humboldt-Universität zu Berlin Martin Kost
|
|
- Alexa Zimmermann
- vor 7 Jahren
- Abrufe
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 Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche
MehrVorlesung "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
MehrProgrammierung. 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
MehrWiMa-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
MehrUntersuchungen 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
MehrPRAKTIKUM 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
MehrShock 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
MehrPeg-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
MehrStackmaschine; 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
MehrEinfü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
MehrCache 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.
MehrEinfü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
MehrVorlesung 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!
Mehr6. 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.
MehrInformatik 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,
MehrTermin 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
MehrAlgorithmen 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
MehrVariablen 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
MehrKonzepte 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
MehrQuiz. 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
MehrTU 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! ***
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 **
MehrAlgorithmus. 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
Mehr19. 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.
MehrKonzepte 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
MehrAlgorithmen & Datenstrukturen Midterm Test 2
Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann
MehrObjektorientierte 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
MehrFreispeicherverwaltung
Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt
MehrZugriff 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
Mehr7. 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
MehrLernmodul 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
MehrAnalyse 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,
MehrKennen, 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
MehrNumerische 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
MehrMemory 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
MehrALP 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
MehrGrundlagen 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
MehrD 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
MehrPraktikum: 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
MehrVorlesung 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
MehrOrtsbestimmung 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
MehrParallele 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
Mehr11. 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
MehrLR 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
MehrDigital 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 Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
Mehr19. 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.
MehrUniversitä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
MehrAlgorithmen 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
MehrI 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
MehrSkript 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.
MehrSoftwaretechnik 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.
MehrAutomatische 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
MehrEinfü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
MehrCache 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
MehrInverted 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
MehrKniffel-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
MehrGrundbegriffe 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
MehrHydroinformatik 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
MehrOne 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
MehrTracVision - 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
MehrParallele 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
MehrVorkurs 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
MehrThis 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
MehrPraktikum 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
MehrEinfü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
MehrAlgorithmen 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
MehrEinfü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
MehrEinfache 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
MehrWindows, 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:
MehrPraktikum: 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/
Mehr5. Ü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
MehrIHS2 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
MehrPhysische 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
MehrWortä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:
MehrNetwork 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
MehrEinstieg 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
MehrInstitut 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
MehrTutoraufgabe 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
MehrProgrammieren 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
MehrIII.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
MehrBasis-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
MehrComputergrundlagen 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
MehrInformatik 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
MehrPaging. 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
MehrModellierung 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
MehrArrays 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
MehrCognitive 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
MehrDatenbanken: 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
MehrRheinisch-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
MehrVorlesung 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,
MehrPrimzahlen 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
MehrDynamische 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
MehrRechner. 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
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrReihungen. 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
Mehr2 Rechnerarchitekturen
2 Rechnerarchitekturen Rechnerarchitekturen Flynns Klassifikation Flynnsche Klassifikation (Flynn sche Taxonomie) 1966 entwickelt, einfaches Modell, bis heute genutzt Beschränkung der Beschreibung auf
Mehr