Parallele Algorithmen zur Faltung von RNA. Leipzig, , Markus Scholz

Größe: px
Ab Seite anzeigen:

Download "Parallele Algorithmen zur Faltung von RNA. Leipzig, , Markus Scholz"

Transkript

1 Parallele Algorithmen zur Faltung von RNA Leipzig, , Markus Scholz

2 Inhalt Warum Parallelisierung Wiederholung: der MFE Algorithmus Parallelisierung des MFE Algorithmus (ohne Backtracking) Wiederholung: McCaskills Algorithmus Parallelisierung von McCaskills Algorithmus (Partition Function und Basepair Probabilities) Darstellung eines massiv parallelen GA für RNA Faltung 2

3 Warum Parallelisierung in der Bioinformatik Teilweise riesige Datensätze die untersucht werden müssen (z.b Genebank, 36.6 Milliarden Basenpaare und 118,689 verschiedene Spezies, Stand: 2003) komplexe Algorithmen zur Lösung der Probleme Mit sequentiellen Algorithmen u.u. Probleme nicht in akzeptabler Zeit lösbar Parallelisierung von Algorithmen notwendig 3

4 Wiederholung: Der Minimum Free Energy Algorithmus Erste Version durch Zuker & Stiegler, 1981 Rekursiver Algorithmus der durch Dynamic Programming deutlich schneller als seine Vorgänger ist (nutzt bereits berechnete, kleinere Fragmente um größere zu berechnen) Motivation: Berechnung der minimalen freie Energie und der dazugehörigen optimalen Sekundärstruktur (durch Backtracking auf der MFE-Matrix) Drei verschieden Looptypen die verschiedene Energien liefern : Hairpin, Inner Loops, Multiloops Inner Loops sind Zusammenfassung von Stacks, interior Loops und Bulges (siehe nächste Folie) Energie eines Loops abhängig von: Typ der schliessenden Basenpaare, der inneren Basen und der Größe der Loops konkrete Energiewerte für die einzelnen Strukturen aus verschiedenen Experimenten verfügbar (Gruppen: D.Turner; J.Santa Lucia) z.b. implementiert in: Vienna RNA Package, mfold, STRUCTURELAB 4

5 Wiederholung: Der Minimum Free Energy Algorithmus (2) Folgende Arrays werden vom Algorithmus benötigt: Fij : freie Energie der optimalen Substruktur auf der Subsequenz A[i,j] Cij : freie Energie auf der optimalen Substruktur auf der Subsequenz A[i,j] wenn i und j paaren(!) Mij : freie Energie auf der optimalen Substruktur auf der Subsequenz A[i,j], wenn A[i,j] teil eines Multiloops ist und mindestens einen Komponent hat, d.h. eine Subsequenz die von einem Basenpaar eingeschlossen ist Mij1: freie Energie der optimalen Substruktur auf der Subsequenz A[i,j] wenn A[i,j] Teil eines Multiloops ist und exakt einen Komponent hat, der durch das Basenpaar i,h geschlossen wird für irgendein i<= h < j I.L.Hofacker & P.F.Stadler,

6 Wiederholung: Der Minimum Free Energy Algorithmus (3) Der Algorithmus Bemerkungen: H(i,j) : I(i,j;k,l) : Bezeichnet die Funktion die die Energie eines Hairpins berechnet. (Für i-j < 4 = INF keine HP erlaubt mit weniger als drei Basen dazwischen) Bezeichnet die Funktion die die Energie eines Stacks, Bulges oder eines sog. Interior Loop berechnet Konstanten aus dem linear Ansatz abgeleitet: a: Multiple Loop Closing Energy b: Interior Base Pair Energy c: Interior unpaired Base Energy Beachte : keine Abhängigkeiten von C, M oder M1 von F 6

7 Wiederholung: Der Minimum Free Energy Algorithmus (4) inner Loops u < 30 7

8 Wiederholung: Der Minimum Free Energy Algorithmus (5) Visualisierung des Ablaufs für eine Sequenz: L=5 d=4 i=1..n-d j=i+d i j Berechne für jedes i, C[i,j], F[i,j], M[i,j], M1[i,j] L=6 d=5 i=1..n-d j=i+d i j Berechne für jedes i, C[i,j], F[i,j], M[i,j], M1[i,j], wobei jetzt das Wissen aus den vorher berechneten Werten für Fenster (=Subsequenzlänge) < d genutzt werden kann. DP Fenster d wächst bis zur maximalen Fenstergrösse. Dann ist F[1,n] die minimale Energie zu finden. 8

9 Wiederholung: Der Minimum Free Energy Algorithmus (6) Ausfüllen der Matrizen : Bei Matrix F MFE[1,8] = Paarung unmöglich da Basen zu nahe aneinander liegen j Nur Dreiecksmatrix da gilt : E[i,j] = E[j,i] i=3, j=7, #3 i=1, j=5, #1 i=4, j=8, #4 D=4 1 i=2, j=6, #2 8 D=5 D=6 i=1, j=6, #5 1 i=2, j=7, #6 8 i=1, j=7, #8 i=3, j=8, #7 1 i=2, j=8, # Die in der Dreiecksmatrix eingetragenen Werte dienen nur der Identifikation mit den Fensterbeispielen daneben!! i

10 Wiederholung: Der Minimum Free Energy Algorithmus (7) Abhängigkeit von zu berechnenden Energien (größere Strukturen) von bereits errechneten Energiewerten (kleinerer Strukturen) Die horizontal und vertikal gekennzeichneten Werte werden aus den Arrays M (Multiloop), M1 (Multiloop mit exakt einem Komponenten) und die schattierten Werte werden aus dem Array C (Energie der Subsequenz mit i-j Basenpaare) benötigt um die entsprechenden Werte auf der gestrichelten Linie zu errechnen 1 n M, M1 C d 1 Darstellung mit 1 CPU n 10

11 Wiederholung: Der Minimum Free Energy Algorithmus (8) Zeitkomplexität : O(n³) ( mehrere verschachtelte For Schleifen ) Speicherkomplexität : O(n²) ( Arrays ) + Backtracking O(n³) wenn die Sekundärstruktur ermittelt werden soll diese wird hier aber nicht weiter ausgeführt da die Berechnung der MFE nur für das Skalieren der Zustandssumme im McCaskill Algorithmus genutzt werden soll (siehe nächste Folien), deshalb wird auch das Array M1 nicht mitgeführt es ist nur notwendig wenn die Sekundärstruktur ausgerechnet werden soll. 11

12 Parallelisierung des MFE Algorithmus Darstellung hier basierend auf I.L.Hofacker, 1996, M.Fekete, 1997, I.L.Hofacker, 1998 Idee: alle Subsequenzen der gleichen Länge können gleichzeitig berechnet werden, da sie unabhängig von einander sind (eine Subsequenz der Länge der d, hängt nur von kleineren Subsequenzen der Länge d < d ab) Genau darin liegt aber auch ein Problem: die Berechnung von einem Eintrag erfordert das Wissen über eine große Anzahl zuvor berechneter Werte Lösung intelligentes Message Parsing Arrays (C, M) in diagonaler Reihenfolge berechnen und dabei jede Subdiagonale in P Teile auftrennen (P = Anzahl der CPUs), das Array F welches die eigentliche minimale freie Energie enthält, kann aus diesen Arrays (und sich selbst) rekursiv berechnet werden Implementiert auf einem Intel Delta Parallel Computer (MIMD) Maximal 512 Nodes mit je 16 MB RAM Mesh routing chips (MRCs) sind vor die einzelnen Nodes geschaltet um die CPUs nicht mit der Weiterleitung von Nachrichten an andere CPUs zu stören verschiedene Node Typen : numeric (40Mhz, 30 MIPs, 80 Single Precision MFLOPS, 60 Double Precision MFLOPS), I/O, Gateway Node Speicher : 16MB 500K OS 3MB (Message parsing Buffer) = 12.5 MB / Node für eigenen Anwendungen 12

13 Parallelisierung des MFE Algorithmus (2) Alle Einträge der aktuellen Diagonale d werden gleichmäßig auf die verfügbaren Prozessoren verteilt werden so dass eine optimale Lastverteilung gewährleistet ist Die Berechnung läuft von Diagonale d (Hypotenuse) auf die rechte obere Ecke des Dreiecks zu Um dem ihn zugeordneten Teil der gestrichelten Diagonale zu berechnen benötigt Prozessor 2 die roten Einträge der Matrix M und die blauen Einträge der Matrix C, es ist leicht zu sehen das er dabei auf Werte angewiesen ist die seine Nachbarn bereits berechnet haben Aus Effizienzgründen werden beide Arrays (C,M) in Zeilen und Spalten gespeichert Alle Arrays sind außerdem bereits zu Beginn der Berechnung mit der maximalen Größe initalisiert (um keine unnötige Speicherreorganisation während der Berechnung vornehmen zu müssen) Zusätzlich wird ein Array eingeführt das den trapezförmigen Teil von C beinhaltet Grafik: 4 CPUs teilen sich die Berechnung von C und M Darstellung der Werte die P2 aus C und M braucht um seinen Teil der gestrichelten Diagonale zu berechnen 13

14 Parallelisierung des MFE Algorithmus (3) Es ergibt sich pro CPU ein Speicherbedarf von 4 Dreiecksmatrizen (C,M) (C[row],C[col],M[row],M[col]) 1 Trapezmatrix CT Der Faktor 2 stammt daher das nur die Hälfte einer quadratischen Matrix (=Dreiecksmatrix) benötigt wird d: Länge der Sequenz N: Anzahl der CPUs umax: Beschränkung der Multiple Loops (=30) z.b. für N=4, d=2500, Int=4 Byte Speicheranforderung/CPU: 12,2 MB 14

15 Parallelisierung des MFE Algorithmus (4) Intelligentes Message Parsing: Nach der Berechnung einer Diagonale: Sendet jeder Prozessor eine Spalte zu seinem linken Nachbarn Sendet jeder Prozessor eine Zeile zu seinem rechten Nachbarn Empfängt jeder Prozessor eine Spalte von seinem rechten Nachbarn Empfängt jeder Prozessor eine Zeile von seinem linken Nachbarn 15

16 Parallelisierung des MFE Algorithmus (5) Berechnung des Arrays F fehlt noch: F wird spaltenweise auf der ersten Node ausgerechnet parallelisieren dieser Berechnung wäre zu aufwendig (große Anzahl von Nachrichten) Node 1 hat aber sowieso alle nötigen Einträge in C und M Sowieso nur Interesse an der MFE der gesamten Sequenz, eigentliche Arbeit: Partition Function und Backtracking 16

17 Parallelisierung des MFE Algorithmus (6) Gute Effizienz für besonders große Sequenzen (ab 400 Basen) Basen lange zufällige RNA Sequenzen (50,100,200,400,700,1000) 17

18 McCaskill s Algorithmus (Partition Function und Backtracking) 1990 von McCaskill abgeleitet Teilt sich in 2 Teile Berechnung der Partition Function (folding) Partition Function(i,j) = Zustandssumme(i,j) = Anzahl möglicher Zustände (Sekundärstrukturen) die bei einer gegebenen Temperatur für das Molekül (Subsequenz A[i,j]) thermisch zugänglich sind Logik wie MFE Algorithmus, jedoch statt MIN SUM, statt + = * Berechnung der Basenpaarungwahrscheinlichkeiten (durch Backtracking) Wahrscheinlichkeit das (i,j) ein BP wenn System im thermodynamischen Gleichgewicht Motivation : mit MFE-Algorithmus kann zwar optimale Struktur gefunden werden, diese ist jedoch nicht unbedingt die Struktur in die sich RNA falten muss, bzw: Auch andere Strukturen sind möglich die unerheblich weit (hinsichtlich der freien Energie) von optimaler Struktur entfernt sind berechne deshalb die Wahrscheinlichkeiten einzelner Basenpaarungen um weitere mögliche Strukturen zu finden Ergebnis: Wahrscheinlichkeit das (i,j) ein BP z.b. implementiert in : Vienna RNA Package, mfold, STRUCTURELAB 18

19 Wiederholung: Berechnung der Zustandsumme (2) all possible structures open chain (energy=0) all structures with one component m = 3 = minimale Anzahl an Basen zwischen einem Basenpaar 19

20 Wiederholung: Berechnung der Zustandsumme (3) Arrays: QB[i,j]: Zustandssumme der Sequenz A[i,j] wenn (i,j) paaren QM[i,j], QM1[i,j]: Behandlung von Multiloops QA[i,j]: Zustandssumme aller Strukturen die genau ein Basenpaar haben (SUM(QB)) Q[i,i]: Zustandsumme der Subsequenz von i bis j ( Z( ungepaarte Struktur ) + Z(Strukturen mit einer Komponente und möglichem freien Ende) + Z(Strukturen mit mehreren Komponenten, und einer ein Komponentstruktur am Ende) Konstanten: m: minimale Anzahl an Basen zwischen BP = 3 umax: maximale Tiefe eines interior Loop (diese Bedingung reduziert die Komplexität der interior Loop Berechnung von O(n^4) auf O(n^2)) 20

21 Wiederholung: Berechnung der Zustandsumme (4) EH() = Hairpin Funktion = exp( -H() / kt ) EI() = inner Loop Funktion = exp(-i() / kt ) EMC = multi-loop closing energy = exp(-mc/kt) EMB = interior unpaired base engery = exp(-mb/kt) EMI = interior paired base energy = exp(-mi/kt) 21

22 Wiederholung: Berechnung der Zustandsumme (5) Komplexität (wie bei MFE Teil1) : Zeit : O(n³) RAM: O(n²) gleiche Logik wie MFE gleiche Abhängigkeit der Berechnung der Arrays (also auch ähnlich parallelisierbar) Skalierung von Q, QB, QM und QM1 Energie von Strukturen steigt ungefähr linear mit ihrer Größe dadurch wächst Q exponentiell Double kann überlaufen Skalierungsfaktor [Q] = exp( -1.04*MFE / kt ) skaliere alle Q[i,i+l+1] mit [Q]^(l/n) 22

23 Wiederholung: Backtracking McCaskill Nutzung der berechneten Zustandsummen der Basensequenzen für die Berechnung der Wahrscheinlichkeiten des Auftretens aller möglichen Basenpaarungen Backtracking auf Q, QB und QM 23

24 Wiederholung: Backtracking McCaskill (2) 3 Möglichkeiten für ein Basenpaar (h,l): BP(h,l) schließt eine einzige Komponente BP(h,l) befindet sich innerhalb einer inneren Schleife die von einem anderen BP(i,j) geschlossen wird 24

25 Wiederholung: Backtracking McCaskill (3) BP in einem multi-loop (wieder beschränkt durch umax) Die Wahrscheinlichkeit das die Basen h und l paaren ergibt sich also additiv aus diesen Komponenten 25

26 Wiederholung: Backtracking McCaskill (4) I() = inner Loop Funktion (Rückgabe bereits skaliert) MC = multi-loop closing energy MB = interior unpaired base engery MI = interior paired base energy 26

27 Wiederholung: Backtracking McCaskill (5) 27

28 Parallelisierung Partition Function ähnlich der Parallelisierung von MFE Alle Einträge der aktuellen Diagonale d werden gleichmäßig auf die verfügbaren Prozessoren verteilt so dass eine optimale Lastverteilung gewährleistet ist Die Berechnung läuft von Diagonale d (Hypotenuse) auf die rechte obere Ecke des Dreiecks zu Um dem ihn zugeordneten Teil der gestrichelten Diagonale zu berechnen benötigt Prozessor 2 die rot markierten Einträge der Matrizen QM, Q, QB und die grünen Einträge der Matrizen QM1 und QA.Zusätzlich werden die gelben Felder aus QB benötigt. Es ist leicht zu sehen das er dabei auf Werte angewiesen ist die seine Nachbarn bereits berechnet haben QM, Q und QB werden in Zeilen gespeichert QM1 und QA als Spalten selbe Anzahl von Nachrichten wie bei MFE jedoch werden zusätzlich als Vorbereitung für Backtracking QM und QB als Zeilen gespeichert, dabei errechnet Node N (die Letzte) immer das letzte Element der Zeile, Node N schickt dann die errechneten Werte zu der Node die die Werte permanent speichert (gestrichelte Linien) also die Node die die gesamte Zeile speichert 28

29 Parallelisierung Backtracking Backtracking läuft von den längeren Sequenzen zu den kürzeren um die Anzahl der Nachrichten zwischen den Nodes nicht in die Höhe zu treiben berechnet jeder Prozessor ein horizontales Stück des Dreiecks skaliert zwar nicht optimal aber weniger Kommunikation Darstellung für CPU1 Pr-trapez (Teil von Pr) für inner Loops neu berechnete Werte werden Zeilenweise in Pr abgelegt QM ist notwendig für Multiloops (jede Diagonale benötigt die selben Teile von QM) PM, PM1 hier Prml und Prmlt genannt, sind die zusätzlich Arrays die spaltenweise abgelegt sind 29

30 Parallelisierung Backtracking (2) zu Beginn der Berechnung einer neuen Diagonale müssen einige Nachrichten übermittelt werden: Alle ausgemalten Bereiche sind bereits im Speicher von CPU1 die nächste Zeile von QM (gestrichelt) wird nach CPU1 geschickt (von CPU3) die letzte Zeile von QM in CPU1 wird nicht mehr benötigt und zu CPU2 geschickt Spalten der Matrix Pr werden nach CPU2 geschickt Am Anfang ist der Algorithmus nahezu seriell (große Subsequenzen, kleine Arrays), wird dann aber mehr und mehr parallel, kurz vor Ende der Berechnung ist er hochgradig parallel (viele kleine Subsequenzen, große Arrays hoher Aufwand) 30

31 Parallelisierung Backtracking (3) Speicheranforderungen Backtracking erfordert den meisten Speicher im Vergleich zu Partition Function und MFE Pro Prozessor: 6 Dreiecksmatrizen (QM[row], QM[col], Pr[row], QB[row], Prml[col], Prmlt[col]) Pr-Trapez (mit einigen Werten aus Pr) z.b. für N=4, d=2500, Double=8 Byte Speicheranforderung/CPU: 35,9 MB 31

32 Effizienz des parallelen McCaskill Algorithmus 32

33 Massiv paralleler GA für RNA Faltung Erstmals durch Shapiro und Navette, 1994 formuliert Ursprünglich auf MasPar MP-2 implementiert (SIMD, CPUs), mittlerweile zu MIMD Supercomputern portiert (SGI ORIGIN mit 64 CPUs, CRAY T3E 512 CPUs und auch auf single und dual CPU Maschinen z.b. SGI Octane) Einfache Pseudoknoten erlaubt Implementiert in : STRUCTURELAB 33

34 Massiv paralleler GA (2) In ursprünglichem Modell hält jede CPU genau eine RNA Struktur, in neueren Versionen werden virtuelle Prozessoren emuliert CPU gitterförmig angeordnet und an Ecken wie Torus gefaltet ( unendliches Gitter ), CPU am obersten Rand des Gitters ist gleichzeitig CPU am untersten Rand Alle RNA Strukturen evolvieren gleichzeitig, eine Generation pro Zeitschritt Fitness ist minimale freie Energie Ausgangspopulation : aus RNA Sequenz werden beliebig gefaltete BP Stacks erzeugt, so dass alle Basen gepaart werden, maximal ein oder zwei ungepaarte Basen am Ende des Stranges erzeugter Stammpool wird zufällig über die Prozessoren verteilt 34

35 Massiv paralleler GA (3) Selektion Auf jeder CPU werden aus neun Strukturen zwei Eltern Strukturen ausgewählt (P1,P2), diese neun Strukturen werden durch die aktuelle Struktur des Prozessors selbst und den acht ihn umgebenden Prozessoren gestellt Strukturen mit bester Fitness (MFE) werden ausgewählt Mutation Jede CPU wählt zwei oder mehr Kinder aus dem Stampool aus (die Anzahl der Kinder wird durch simulated Annealing in Abhängigkeit von der Sequenzlänge gesteuert) Crossover Von P1 und P2 werden Teile des BP Stacks auf die Kinder verteilt Das Kind mit der kleinsten Energie geht in die nächste Generation ein Abbruchkriterium sobald Durchschnitt über die freien Energien nur noch um einen vorher definierten Wert schwankt terminiert Algorithmus Die Struktur die die meisten Prozessoren haben wird als Lösung angenommen 35

36 Massiv paralleler GA (4) Anmerkung1 : Während der Initalisierung, der Mutation und des Crossover werden Stammteile (Teile des BP Stapels) in neue RNA Strukturen überführt. Diese ausgewählten Stammteile müssen geometrisch konfliktfrei sein, d.h. sie dürfen keine überlappenden Nukleotide haben, weiterhin kann an dieser Stelle ein zusätzlicher Filter angewandt werden, der auf der Boltzmann Verteilung beruht Boltzmann-Filter zur Verbesserung der Ergebnisqualität: Wenn gewählter Strukturteil der Energie der zu bildenden Struktur verkleinert (also stabilisierend wirkt) wird ohne weiteres akzeptiert Wenn gewählter Strukturteil Energie der Zielstruktur jedoch erhöht wird anhand der Boltzmann Übergangswahrscheinlichkeit im Vergleich mit einer Zufallszahl entschieden ob die Struktur verwendet wird oder nicht dadurch werden Strukturen die lokal instabil sind eher ausgeschlossen und der Faltungspfad des GA kommt denen in Experimenten näher. Anmerkung2 : Da GAs nicht deterministisch sind, werden Durchgänge durchgeführt und statistisch ausgewertet bevor ein Ergebnis feststeht 36

37 Massiv paralleler GA (5) MASPAR MP-2 Architektur (SIMD) Front end UNIX Workstation Data Parallel Unit Array Control Unit Gibt die Befehle seriell an die Prozessor Elemente weiter (single instruction) PEs mit je 64kb lokalem Speicher (=1GB) (multiple data) Kommunikation der PEs durch 2 verschiedene Wege: X-Net (sehr schnell) aber nur direkt benachbarte PEs erreichbar (bei der Selection) Router (bei Initalisierung und bei Mutation) 37

38 Massiv paralleler GA (6) Effizienz Bezüglich benötigter Iterationen bis zur Konvergenz Durchschnittliche Anzahl an Populationen (Iterationen des Algorithmus) bis Population konvergiert, erhöht sich mit Größe der Population (Errorbars über 20 Durchläufe) 38

39 Massiv paralleler GA (7) Effizienz Bezüglich der Zeit pro Generation 1. Durch die Erhöhung der Anzahl der virtuellen CPUs pro physikalischer CPU berechnet (Anzahl physischer CPU fest, Anzahl logischer CPUs variabel) Zeit skaliert linear Zeit pro Generation erhöht sich (logisch da Last pro CPU größer wird) 2. Durch die Erhöhung der Anzahl der physischen CPUs und keiner Veränderung der Anzahl der virtuellen CPUs Zeit skaliert nicht mehr linear da mit steigender Zahl der real vorhandenen CPUs auch Synchronisationsaufwand (=Nachrichtanzahl) steigt 39

40 Massiv paralleler GA (8) Genauigkeit Bezüglich der freien Energie Rule of Thumb: Normalerweise liegt eine reale Struktur innerhalb der ersten 10% der Strukturen mit der kleinsten, freien Energie Größere Population erhöht Leistung des Algorithmus eine energetisch bessere Struktur zu finden 40

41 Massiv paralleler GA (9) Genauigkeit Bezüglich der Struktur Größere Anzahl von CPUs erhöht die Nähe der Strukturen zu experimentell entdeckten Strukturen (über Fuzzymatching und die richtig identifizierten Stämme) 41

42 Cell CPU : Kurzvorstellung Entwickelt von Sony, Toshiba und IBM drängt im April 2006 ein neuer Chip auf den Markt: die Cell CPU in der PS3 Hohe Taktrate und hoher Durchsatz RISC Besteht aus einer PPE CPU (verteilt die Aufgaben) auf 8 SPEs und einem MFC (Memory Flow Controller) PPE: einfache PowerCPU mit 512K L2 Cache, 64Bit SPE : Vector CPU mit 256K Speicher Eine einzige Cell CPU : 256 GFLOPS (single precision floating point) 42

RNA Faltung - II. W1-High-throughput Genomics, FU Berlin OWL RNA Bioinformatics, MPI Molgen Berlin

RNA Faltung - II. W1-High-throughput Genomics, FU Berlin OWL RNA Bioinformatics, MPI Molgen Berlin RNA Faltung - II W1-High-throughput Genomics, FU Berlin OWL RNA Bioinformatics, MPI Molgen Berlin 05.12.16 Nussinov Nachteilen Die Maximierung der Anzahl von Bp führt unter Umständen nicht zu biologisch

Mehr

Vorhersage der RNA-Sekundärstruktur

Vorhersage der RNA-Sekundärstruktur Vorhersage der RNA-Sekundärstruktur Andreas Spillner Bioinformatik, SS 2018 Primärstruktur vs. Sekundärstruktur Primärstruktur Sequenz der Buchstaben (bei RNA entspricht ein Buchstabe jeweils einer Nukleinsäure

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

Thema 12: RNA Structure Prediction

Thema 12: RNA Structure Prediction Thema 12: RNA Structure Prediction Vortrag gehalten von Tobias Sander am 01.02.2010 1 Einleitung 1.1 Vorwort Seit der Strukturaufklärung der DNA im Jahre 1953 durch Watson und Crick sind fast 60 Jahre

Mehr

FOLDALIGN und sein Algorithmus. Nadine Boley Silke Szymczak

FOLDALIGN und sein Algorithmus. Nadine Boley Silke Szymczak FOLDALIGN und sein Algorithmus Nadine Boley Silke Szymczak Gliederung 2 Einleitung Motivation des Ansatzes zu FOLDALIGN Sankoff-Algorithmus Globales Alignment Zuker-Algorithmus Kombination FOLDALIGN Algorithmus,

Mehr

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990. Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre

Mehr

Anwendungen dynamischer Programmierung in der Biologie

Anwendungen dynamischer Programmierung in der Biologie Anwendungen dynamischer Programmierung in der Biologie Überblick Algorithmus zum Finden der wahrscheinlichsten Sekundärstruktur eines RNS Moleküls Sequence Alignment Verbesserung von Sequence Alignment

Mehr

Ein Dynamic Programming Algorithmus zur Vorhersage von RNA- Faltungen mit Auftreten von Pseudoknoten

Ein Dynamic Programming Algorithmus zur Vorhersage von RNA- Faltungen mit Auftreten von Pseudoknoten Ein Dynamic Programming Algorithmus zur Vorhersage von RNA- Faltungen mit Auftreten von Pseudoknoten 1. Motivation Viele RNAs falten sich in Strukturen, die essentiell wichtige Funktionen für regulatorische,

Mehr

Suboptimal Foldings of RNA Structures

Suboptimal Foldings of RNA Structures Suboptimal Foldings of RNA Structures Ausarbeitung zum Vortrag von Christin Zander und Rebecca Gau Seminar: Computational RNomics Einleitung Diese Ausarbeitung beschäftigt sich mit zwei Algorithmen, die

Mehr

LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610

LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610 LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610 Dominik Weinrich dominik.weinrich@tu-dresden.de Dresden, 30.11.2017 Gliederung Motivation Aufbau und Hardware

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

UNABHÄNGIGER LASTEN. Vorlesung 9 BALANCIERUNG DYNAMISCHER. Graphenalgorithmen und lineare Algebra Hand in Hand

UNABHÄNGIGER LASTEN. Vorlesung 9 BALANCIERUNG DYNAMISCHER. Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung 9 BALANCIERUNG DYNAMISCHER UNABHÄNGIGER LASTEN 266 Lastbalancierung Motivation! Ein paralleles System besteht aus! verschiedenen Recheneinheiten,! die miteinander kommunizieren können! Warum

Mehr

verschiedenen Recheneinheiten, die miteinander kommunizieren können

verschiedenen Recheneinheiten, die miteinander kommunizieren können Vorlesung 9 BALANCIERUNG DYNAMISCHER UNABHÄNGIGER LASTEN 293 Lastbalancierung Motivation Ein paralleles System besteht aus verschiedenen Recheneinheiten, die miteinander kommunizieren können Warum parallel

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

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

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 Vorüberlegungen Wann ist paralleles Rechnen sinnvoll? Wenn die Performance/Geschwindigkeit steigt. Wenn sich größere Probleme

Mehr

Distributed Memory Computer (DMC)

Distributed Memory Computer (DMC) Distributed Memory Computer (DMC) verteilter Speicher: jeder Prozessor kann nur auf seinen lokalen Speicher zugreifen Kopplung mehrerer Prozessoren über E/A-Schnittstellen und Verbindungsnetzwerk, nicht

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

Informatik II: Algorithmen und Datenstrukturen SS 2013

Informatik II: Algorithmen und Datenstrukturen SS 2013 Informatik II: Algorithmen und Datenstrukturen SS 2013 Vorlesung 11b, Mittwoch, 3. Juli 2013 (Editierdistanz, dynamische Programmierung) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen

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

Wertebereich und Genauigkeit der Zahlendarstellung

Wertebereich und Genauigkeit der Zahlendarstellung Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden

Mehr

Kapitel 1 Parallele Modelle Wie rechnet man parallel?

Kapitel 1 Parallele Modelle Wie rechnet man parallel? PRAM- PRAM- DAG- R UND R Coles und Kapitel 1 Wie rechnet man parallel? Vorlesung Theorie Paralleler und Verteilter Systeme vom 11. April 2008 der Das DAG- Das PRAM- Das werkmodell Institut für Theoretische

Mehr

Programmierung mit C Algorithmen

Programmierung mit C Algorithmen Programmierung mit C Algorithmen Informationen /7/ Robert Sedgewick Algorithmen in C. 742 Seiten, ISBN 3-827-37182-1. /8/ Kyle Loudon Algorithmen mit C, ISBN 3-4897-211653-0. Online-Buch "C von A bis Z",

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

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

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen VO 708.031 Um was geht es? Datenstrukturen Algorithmen Algorithmus Versuch einer Erklärung: Ein Algorithmus nimmt bestimmte Daten als Input und transformiert diese nach festen

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

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

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

Euklidische Distanzmatrizen. Andrei Grecu

Euklidische Distanzmatrizen. Andrei Grecu Euklidische Distanzmatrizen Andrei Grecu Übersicht Motivation Definition und Problemstellung Algo 1: Semidefinite Programmierung Algo 2: Multidimensional Scaling Algo 3: Spring Embedder Algo 4: Genetischer

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

19. Dynamic Programming I

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

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

6. Algorithmen auf Zeichenketten

6. Algorithmen auf Zeichenketten 6. Algorithmen auf Zeichenketten Motivation Wir lernen nun Algorithmen zur Lösung verschiedener elementarer Probleme auf Zeichenketten zu lösen Zeichenketten spielen eine wichtige Rolle in diversen Gebieten

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen Lerneinheit : Dynamisches Programmieren Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester.. Einleitung Diese Lerneinheit widmet sich einer

Mehr

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012 October 29, 2012 Inhaltsverzeichnis 1 2 3 4 5 6 Motivation Motivation CUDA bietet extreme Leistung für parallelisierbare Programme Kompliziert zu programmieren, da multi-level parallel und explizit verwalteter

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

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v

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

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil Hash-Verfahren Version vom: 18. November 2016 1 / 28 Vorlesung 9 18. November 2016

Mehr

p max = 4 T = 8 Work = 28 3 I = Work / T = 3,5 2 Cost = p max * T = 32 U = I / p max = 87,5% 1

p max = 4 T = 8 Work = 28 3 I = Work / T = 3,5 2 Cost = p max * T = 32 U = I / p max = 87,5% 1 Massivparallele Modelle und Architekturen Wintersemester 2010/2011 Lösungsvorschlag 1. Übung 1. Aufgabe: Leistungsbewertung paralleler Systeme Betrachtet werden soll der Odd-Even-Sort-Algorithmus mit n

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

RNA folding. W1-High-throughput Genomics, FU Berlin OWL RNA Bioinformatics, MPI Molgen Berlin

RNA folding. W1-High-throughput Genomics, FU Berlin OWL RNA Bioinformatics, MPI Molgen Berlin RNA folding W-High-throughput Genomics, FU Berlin OWL RNA Bioinformatics, MPI Molgen Berlin 3..6 Lernziele Einführung von RNA-Molekülen Konzept der RNA-Sekundärstruktur Lernen wie eine RNA-Sekundärstruktur

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

Schriftlicher Test zu C (90 Minuten) VU Einführung ins Programmieren für TM. 1. Oktober 2012

Schriftlicher Test zu C (90 Minuten) VU Einführung ins Programmieren für TM. 1. Oktober 2012 Familienname: Vorname: Matrikelnummer: Aufgabe 1 (2 Punkte): Aufgabe 2 (3 Punkte): Aufgabe 3 (2 Punkte): Aufgabe 4 (3 Punkte): Aufgabe 5 (2 Punkte): Aufgabe 6 (1 Punkte): Aufgabe 7 (2 Punkte): Aufgabe

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

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

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

Theoretische Informatik III (Winter 2018/19) Prof. Dr. Ulrich Hertrampf. Noch einmal TSP

Theoretische Informatik III (Winter 2018/19) Prof. Dr. Ulrich Hertrampf. Noch einmal TSP Noch einmal TSP Wir hatten das TSP-Problem (Problem der Handlungsreisenden) schon als Beispiel für die Branch-and-Bound Methode kennengelernt. Nun wollen wir noch einen zweiten Algorithmus angeben, der

Mehr

D-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung. Serie 11

D-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung. Serie 11 D-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung Serie 11 1. Wir betrachten das überbestimmte Gleichungssystem Ax = y mit 1 1 1 1 A := 1 1 0 1 0 1, y := 2 3 0 0 1 4 Berechnen Sie die

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

Algorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen

Algorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen Ludwig-Maximilians-Universität München München, 16.04.2018 Institut für Informatik Prof. Dr. Thomas Seidl Anna Beer, Florian Richter Algorithmen und Datenstrukturen SS 2018 Übungsblatt 1: Grundlagen Tutorien:

Mehr

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen Kapitel 10 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

Grundlagen der Rechnerarchitektur. Einführung

Grundlagen der Rechnerarchitektur. Einführung Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler

Mehr

OpenCL (Cell B. E., PS3) Multicore Architectures and Programming

OpenCL (Cell B. E., PS3) Multicore Architectures and Programming OpenCL (Cell B. E., PS3) Multicore Architectures and Programming Apelt, Nicolas Zoellner, Christian Hardware-Software-Co-Design Universität Erlangen-Nürnberg Apelt, Nicolas Zoellner, Christian 1 Übersicht

Mehr

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30 Geometrie 2 Julian Fischer 6.7.2009 Julian Fischer Geometrie 2 6.7.2009 1 / 30 Themen 1 Bereichssuche und kd-bäume 1 Bereichssuche 2 kd-bäume 2 Divide and Conquer 1 Closest pair 2 Beispiel: Points (IOI

Mehr

Einführung in die objektorientierte Programmierung mit C++

Einführung in die objektorientierte Programmierung mit C++ Prof. Dr. Thomas Klinker FB Elektrotechnik und Informatik 08. 03. 2007 Projekt im 4. Semester Elektrotechnik: Einführung in die objektorientierte Programmierung mit C++ Aufgabe 1: Schreiben Sie ein Programm,

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen

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

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Übung 7 Datum : 22.-23. November 2018 Pipelining Aufgabe 1: Taktrate / Latenz In dieser Aufgabe

Mehr

Programmieren und Problemlösen

Programmieren und Problemlösen Dennis Komm Programmieren und Problemlösen Komplexität von Algorithmen Frühling 2019 27. Februar 2019 Komplexität von Algorithmen Aufgabe Primzahltest Schreibe ein Programm, das eine ganze Zahl x als Eingabe

Mehr

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München

Mehr

Map Matching. Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf.

Map Matching. Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf. Map Matching Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf. Ergebnis mit minimaler Fréchet-Distanz Annahme: Fahrer wählen bevorzugt kürzeste Wege im Straßennetz.

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

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall: Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge

Mehr

Cell Broadband Engine

Cell Broadband Engine Cell Broadband Engine 21.March 2006 Benjamin Keck Outline Why Cell?!? Application Areas Architectural Overview SPU Programming Model Programming on the PPE C/C++ Intrinsics The Cell Supercomputer on a

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

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen Definition Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen Seminar über Algorithmen WS 2005/2006 Vorgetragen von Oliver Rieger und Patrick-Thomas Chmielewski basierend auf der Arbeit

Mehr

Vortrag 20: Kurze Vektoren in Gittern

Vortrag 20: Kurze Vektoren in Gittern Seminar: Wie genau ist ungefähr Vortrag 20: Kurze Vektoren in Gittern Kerstin Bauer Sommerakademie Görlitz, 2007 Definition und Problembeschreibung Definition: Gitter Seien b 1,,b k Q n. Dann heißt die

Mehr

p max = 4 T = 8 Work = 28 3 I = Work / T = 3,5 2 Cost = p max * T = 32 U = I / p max = 87,5% 1

p max = 4 T = 8 Work = 28 3 I = Work / T = 3,5 2 Cost = p max * T = 32 U = I / p max = 87,5% 1 Massivparallele Modelle und Architekturen Wintersemester 13/14 Lösungsvorschlag 1. Übung 1. Aufgabe: Leistungsbewertung paralleler Systeme Betrachtet werden soll der Odd-Even-Sort-Algorithmus mit n Eingangswerten

Mehr

Matrizenoperationen mit FORTRAN

Matrizenoperationen mit FORTRAN Kapitel 2 Matrizenoperationen mit FORTRAN 21 Grundlagen Bei vielen Anwendungen müssen große zusammenhängende Datenmengen gespeichert und verarbeitet werden Deshalb ist es sinnvoll, diese Daten nicht als

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 8 (13.5.2016) Hashtabellen I Algorithmen und Komplexität Dictionary mit sortiertem Array Laufzeiten: create: O(1) insert: O(n) find: O(log

Mehr

Multicore Architektur vs. Amdahl`s Gesetz

Multicore Architektur vs. Amdahl`s Gesetz Fakultätsname Informatik, Professur Technische Informatik Multicore Architektur vs. Amdahl`s Gesetz Dresden, 21.Juli.2010 Motivation Veröffentlichung von IEEE Computer 2008 von Mark D. Hill (University

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

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

Seminar: Data Mining. Referat: Andere Möglichkeiten des Data Mining in verteilten Systemen. Ein Vortrag von Mathias Rohde. 11.

Seminar: Data Mining. Referat: Andere Möglichkeiten des Data Mining in verteilten Systemen. Ein Vortrag von Mathias Rohde. 11. Referat: Andere Möglichkeiten des Data Mining in verteilten Systemen 11. Juni 2009 Gliederung 1 Problemstellung 2 Vektorprodukt Approximationen Samplesammlung 3 Schritte Lokalität und Nachrichtenkomplexität

Mehr

Algorithmen auf Sequenzen

Algorithmen auf Sequenzen Algorithmen auf Sequenzen Fehlertolerante Mustersuche: Distanz- und Ähnlichkeitsmaße Sven Rahmann Genominformatik Universitätsklinikum Essen Universität Duisburg-Essen Universitätsallianz Ruhr Einführung

Mehr

1 Lineare Unabhängigkeit Äquivalente Definition Geometrische Interpretation Vektorräume und Basen 6

1 Lineare Unabhängigkeit Äquivalente Definition Geometrische Interpretation Vektorräume und Basen 6 Wirtschaftswissenschaftliches Zentrum Universität Basel Mathematik Dr. Thomas Zehrt Vektorräume und Rang einer Matrix Inhaltsverzeichnis Lineare Unabhängigkeit. Äquivalente Definition.............................

Mehr

Projektarbeit. Java-Application zur Generierung von Zahlenrätseln

Projektarbeit. Java-Application zur Generierung von Zahlenrätseln Projektarbeit Java-Application zur Generierung von Zahlenrätseln Stefan Novak Allgemeine Informatik Matrikelnummer: 11022144 April 2005 Inhalt 1. Einleitung 2. Der Algorithmus 2.1 Struktur generieren 2.2

Mehr

Grundlagen der Rechnerarchitektur. MIPS Assembler

Grundlagen der Rechnerarchitektur. MIPS Assembler Grundlagen der Rechnerarchitektur MIPS Assembler Übersicht Arithmetik, Register und Speicherzugriff Darstellung von Instruktionen Logische Operationen Weitere Arithmetik Branches und Jumps Prozeduren 32

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

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus 5. Lokale Suchverfahren Lokale Suche 5. Lokale Suchverfahren Beispiel TSP: k-change Nachbarschaft Optimale Lösungen können oft nicht effizient ermittelt werden. Heuristiken liefern zwar zulässige Lösungen,

Mehr

Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Bewertung Fazit

Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Bewertung Fazit Überblick Einführung Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Fazit Einführung Gewöhnliche Beschleunigungsverfahren & Raumunterteilung entworfen und optimiert für effizientes Traversieren

Mehr

38 Iterative Verfahren für lineare Gleichungssysteme

38 Iterative Verfahren für lineare Gleichungssysteme 38 Iterative Verfahren für lineare Gleichungssysteme 38.1 Motivation Viele praktische Probleme führen auf sehr große lineare Gleichungssysteme, bei denen die Systemmatrix dünn besetzt ist, d. h. nur wenige

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

4. Großübung. Lösung linearer Gleichungssysteme

4. Großübung. Lösung linearer Gleichungssysteme 4. Großübung Lösung linearer Gleichungssysteme Gesucht x, x, x 3, x 4 R, sodass gilt. mit A R 4 4, x R 4, b R 4 x x + 3x 3 + x 4 = 5 6x 3x 7x x 4 = 5 4x + 4x + 5x 3 5x 4 = 3 8x + x + x 3 + x 4 = 8 3 x

Mehr

Algorithmen und Datenstrukturen in der Bioinformatik Erstes Übungsblatt WS 05/06 Musterlösung

Algorithmen und Datenstrukturen in der Bioinformatik Erstes Übungsblatt WS 05/06 Musterlösung Konstantin Clemens Johanna Ploog Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Erstes

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

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

Assembler am Beispiel der MIPS Architektur

Assembler am Beispiel der MIPS Architektur Assembler am Beispiel der MIPS Architektur Frühere Einsatzgebiete MIPS Silicon Graphics Unix Workstations (z. B. SGI Indigo2) Silicon Graphics Unix Server (z. B. SGI Origin2000) DEC Workstations (z.b.

Mehr

High Performance Embedded Processors

High Performance Embedded Processors High Performance Embedded Processors Matthias Schwarz Hardware-Software-Co-Design Universität Erlangen-Nürnberg martin.rustler@e-technik.stud.uni-erlangen.de matthias.schwarz@e-technik.stud.uni-erlangen.de

Mehr

3 Lineare Gleichungssysteme

3 Lineare Gleichungssysteme Lineare Gleichungssysteme Wir wissen bereits, dass ein lineares Gleichungssystem genau dann eindeutig lösbar ist, wenn die zugehörige Matrix regulär ist. In diesem Kapitel lernen wir unterschiedliche Verfahren

Mehr

Algorithmische Bioinformatik

Algorithmische Bioinformatik FREIE UNIVERSITÄT BERLIN Fachbereich Mathematik und Informatik Institut für Informatik (WE 3) FU BERLIN Freie Universität Berlin FB Mathematik und Informatik, Institut für Informatik, Takustr. 9, D-14195

Mehr

Anhang: Ungarische Methode

Anhang: Ungarische Methode Ungarische Methode 107 Anhang: Ungarische Methode Zum Schluss des Kurses soll noch der Algorithmus der Ungarischen Methode beschrieben werden. Wir lehnen uns hierbei eng an der Darstellung von DOMSCHKE

Mehr

Klassische Informationstheorie: Berechenbarkeit und Komplexität

Klassische Informationstheorie: Berechenbarkeit und Komplexität Klassische Informationstheorie: Berechenbarkeit und Komplexität Christian Slupina 1. Institut für Theoretische Physik Datum: 12.Juli 2011 Inhalt Gedankenexperiment: Die Turingmaschine Standard-Turingmaschinen

Mehr