Out-of-Core Techniken

Ähnliche Dokumente
Rendering großer Punktwolken mittels Out-of-Core LOD-Hierarchien

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

Seminar Game Development Game Computer Graphics. Einleitung

Optimierungsalgorithmen

Mesh-Visualisierung. Von Matthias Kostka. Visualisierung großer Datensätze

Echtzeitdarstellung von Terrainszenarien mit Occlusion Culling

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

Computergrafik Universität Osnabrück, Henning Wenke,

Grundlagen der Rechnerarchitektur. Speicher

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Algorithmen II Vorlesung am

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.

Klausuraufgaben: Hardware (1.) Notieren Sie die Namen der Schnittstellen!

Seminar Computerspiele Räumliche Datenstrukturen. Ralf Pramberger

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

Übersicht über Technologie und Nutzung von Caching in Computersystemen

Speicherverwaltung (Swapping und Paging)

Einführung in Hauptspeicherdatenbanken

View-Dependent Simplification. Computer Graphics

Einführung in Hauptspeicherdatenbanken

Cache Blöcke und Offsets

Neue Speichermedien für Datenbanken

Computergraphik II. Level-of-Detail. Oliver Deussen Level-of-Detail 1

Die Sicht eines Sysadmins auf DB systeme

Games Engines. Realtime Terrain Rendering

Physische Datenorganisat

Physische Datenorganisat

Das EM-Modell. Vorlesung 3: Lubys Algorithmus. Graphenalgorithmen und lineare Algebra Hand in Hand

Kapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume. Register. Cache.

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

Datenbanken: Indexe. Motivation und Konzepte

Dynamische Datenstrukturen

Grundlagen der Rechnerarchitektur. Speicher

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

Physische Datenorganisation

Geometrie II. Deniz Neufeld Deniz Neufeld Geometrie II / 39

A Simple and Practical Method for Interactive Ray Tracing of Dynamic Scenes

Beschleunigungen auf Szenenebene

Algorithmen und Datenstrukturen 1

Michael Bender Martin Brill. Computergrafik. Ein anwendungsorientiertes Lehrbuch. 2., überarbeitete Auflage HANSER

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

Untersuchung und Vorstellung moderner Grafikchiparchitekturen

Algorithmen II. Peter Sanders. Übungen: Moritz Kobitzsch und Dennis Schieferdecker. Institut für Theoretische Informatik, Algorithmik II.

Hauptspeicherindexstrukturen. Stefan Sprenger Semesterprojekt Verteilte Echtzeitrecherche in Genomdaten 10. November 2015

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

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

Adaptives Displacement Mapping unter Verwendung von Geometrieshadern

Grob-Struktur des Prozessor-Speichersystems

Grundlagen der Rechnerarchitektur

Seminar: GPU-Methoden für die Visualisierung und Computergraphik

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Bewertung Fazit

Linux Paging, Caching und Swapping

P2P-Netzwerke für dynamische 3D-Szenen

Übung zu Einführung in die Informatik # 10

BlendaX Grundlagen der Computergrafik

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme

Szenengraphen. Codruţa Cosma. Universität Ulm Sommersemester 2005

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern

Matthias Treydte Fakultät für Informatik TU Chemnitz

Wiederholung. Objekte) Hauptkosten beim Pathtracing Ziel: Beschleunigung durch Reduktion der Schnittpunktstestzahl. Ansätze

Entwurf und Programmierung einer Rendering Engine

Rechnerorganisation. 1. Juni 201 KC Posch

Algorithmen II. Peter Sanders, Thomas Worsch, Simon Gog. Übungen: Demian Hespe, Yaroslav Akhremtsev

Grundlagen: Algorithmen und Datenstrukturen

DATENSTRUKTUREN UND ALGORITHMEN

Grafik-APIs für den Einsatz in der Augentherapie. Verteidigung der Diplomarbeit von Sascha Seewald

Informatik II, SS 2016

Partikelvisualisierung

Interaktive Globale Beleuchtung nach dem Antiradiance-Verfahren mittels der Open Computing Language (OpenCL)

Übung Praktische Informatik II

Speicherhierarchie, Caches, Consistency Models

Conservative Volumetric Visibility with Occluder Fusion

Datenstrukturen & Algorithmen

GPGPU Basiskonzepte. von Marc Kirchhoff GPGPU Basiskonzepte 1

SATA - SAS. Bandbreite ist nicht Performance. MB/s und GB/s sind wichtig für: Backbone Netzwerke Data-Streaming Disk-to-Disk Backup

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

Fragenkatalog 1. Kurseinheit

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Algorithmen für die Speicherhierarchie

Storage Optionen für I/O intensive Applikationen

Interaktive Visualisierung zeitabhängiger Volumendaten

ADS: Algorithmen und Datenstrukturen

Universität Augsburg. 20. April B. Möller (U. Augsburg) Computergraphik SS April / 6

Computer Graphics Shader

Marching Cubes - Erstellung von Polygonmodellen aus Voxelgittern

Computergrafik. Ein anwendungsorientiertes Lehrbuch. Bearbeitet von Michael Bender, Manfred Brill

OpenCL. OpenCL. Boris Totev, Cornelius Knap

Algorithmen II Vorlesung am

Grafikkarten-Architektur

0 Einführung. Computergrafik. Computergrafik. Abteilung für Bild- und Signalverarbeitung

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

Algorithmische Geometrie 7. Punktsuche

Indexstrukturen in Datenbanken

Mehrwegbäume Motivation

Echtzeitfähige hige Verfahren in der Computergrafik. Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM

Algorithm Engineering XXL

Transkript:

Out-of-Core Techniken Hauptseminar: Visualisierung großer Datensätze Betreuer: Dipl. Inf. Marco Ament Vortragender: Edwin Püttmann

Inhaltsverzeichnis 1. Einleitung 2. Computational Model 3. Vorverarbeitung 4. Datenstrukturen 5. Oberflächenvereinfachung 6. Rendering 7. Beispiel 01.07.2011 2

Einleitung out-of-core Was ist out-of-core External-memory algorithms Warum? Größe der Daten > Haupt-/Grafikspeicher Flaschenhälse zwischen verschiedenen Speichern Hauptspeicher Festplatte Grafikspeicher Hauptspeicher (Cache Hauptspeicher) 01.07.2011 3

Einleitung Visualisierungsarten Batch visualization Batch processing Anwendung: Vergangenheit (schwache Hardware) Sehr aufwendige Visualisierung Interactive visualization Vorverarbeitung (batch processing): Anlegen einer Datenstruktur (Index) Online-Verarbeitung: Abfrage der Datenstruktur Anwendung: Meisten Visualisierungen Medizin(MRT, CT), Meteorologie(Wetterkarten), 01.07.2011 4

Einleitung - Kennzahlen Cache (SRAM) Hauptspeicher (DRAM) Grafikspeicher SSD Festplatte Zugriffszeit um 1 ns um 10 ns < 10 ns um 250 μs um 9 ms Größe 32 256 kb 4 16 GB bis 1 GB bis 2TB bis 2TB Datendurchsatz um 10 GB/s(FSB) um 8GB/s (PCI-E) bis 160 GB/s 600 MB/s (SATA 3) 600 MB/s (SATA 3) [1] Wikipedia 01.07.2011 5

Einleitung - Festplatten Kleinste Einheit Block oder Sektor Größen 512 kb 2048 kb 4096 kb [2] http://maettig.com/?page=studium/fat32 01.07.2011 6

Computational model Metrik für Festplattenspeicher N = Elemente in der Problemstellung M = Elemente, die in den Hauptspeicher passen B = Elemente, die in einen Block passen Verhältnisse M < N und 1 B M 2 Laufzeiten Sequentielles Durchsuchen: Θ( N ) IOs B Sortieren: Θ( N N B logm ) IOs B B Random Access: Θ(N) IOs 01.07.2011 7

Vorverarbeitung Rohdaten Gitterdaten Direkte Form Indirekte Form x0 y0 z0 0.23 x1 y1 z1 0.12 x2 y2 z2 0.87 x0 y0 z0 0.23 x1 y1 z1 0.12 x3 y3 z3 1.66 x0 y0 z0 0.23 x1 y1 z1 0.12 x2 y2 z2 0.87 x3 y3 z3 1.66 [3] [3] Visualization-Folien tri 0,1,2 1 tri 0,1,3 2 quad 2,1,0,3 3 [3] 01.07.2011 8

Vorverarbeitung Sortierung External Merge Sort (k-way merge) N oder gesamter Datensatz k = M/B z.b. Quicksort k = M/B M 01.07.2011 9

Vorverarbeitung Dereferenzierung Typische Speicherung der Daten in indirekter Form Lokale Dereferenzierung Viele IO-Operationen Out-of-core ineffizient Globale Dereferenzierung ( Normalization ) Überführung in direkte Form 0,1,2 0,1,3 2,1,0,3 x0 y0 z0 0.23 x0 y0 z0 0.23 x2 y2 z2 0.87 x1 y1 z1 0.12 x1 y1 z1 0.12 x1 y1 z1 0.12... x0 y0 z0 0.23 x1 y1 z1 0.12 x2 y2 z2 0.87 x3 y3 z3 1.66 Nachteil: hohe Redundanz 01.07.2011 10

Vorverarbeitung Meta-Cell Ordnen der Vertices nach x-wert und unterteilen in k Teile 1 n 1 k x Ordnen der Vertices innerhalb der Teile jeweils nach y-wert und unterteilen in k Teile k 1 n 1 x Ordnen der Vertices innerhalb der Teile nach z-wert und unterteilen in k Teile ( Meta-Cells) Zuordnung der Zellen zu den Meta-Cells Kopieren von Vertices falls nötig 01.07.2011 11

Datenstrukturen Interaktive Visualisierung benötigt schnellen Zugriff auf relevante Daten Anlegen eines Index Geometrische Daten Baumstrukturen (Suchbäume) Bäume Octrees K-d-Baum BSP-Baum R-Baum Intervall-Baum BBIO-Baum 01.07.2011 12

Datenstrukturen Octree Raumaufteilung Aufteilung in acht Würfel (zur Veranschaulichung Quadtree) demo 01.07.2011 13

Datenstrukturen k-d-baum Raumaufteilung Hierarchische orthogonale Aufteilung demo [1] http://en.wikipedia.org/wiki/k-d_tree Out-of-Core Clustering wie Meta-Cell [1] http://de.wikipedia.org/wiki/k-d-baum 01.07.2011 14

Datenstrukturen BSP-Baum Raumaufteilung Hierarchische Aufteilung durch freies (k-1)-dimensionales Objekt [1] http://de.wikipedia.org/wiki/bsp_tree 01.07.2011 15

Datenstrukturen R-Baum Raumaufteilung Hierarchische Aufteilung in k-dimensionale Regionen Balanciert demo [1] http://de.wikipedia.org/wiki/r-baum 01.07.2011 16

Oberflächenvereinfachung Sowohl Mittel als auch Zweck Für Contribution Culling wird eine Vereinfachung der Geometrie durchgeführt Existierende in-core-algorithmen können nicht bei großen Datensätzen angewendet werden Allgemein Vertex removal Edge collapse Triangle collapse [4] Bildsynthese-Folien 01.07.2011 19

Oberflächenvereinfachung Fehler Fehler Mittlere Krümmung Gauß-Krümmung Differenzen der Flächeninhalte [4] Bildsynthese-Folien 01.07.2011 20

Oberflächenvereinfachung Spatial Clustering Uniform Einteilung in uniformes Gitter Vertex in einer Zelle zusammenfassen Out-of-Core Vertex-Gewichtung ohne vollständiges Netz Adaptiv Einteilung in uniformes Gitter Erkennung der geometrischen Eigenschaften des Netzes Erneute Einteilung in angepasstes Gitter Zusammenfassen der Vertices [5] Out-Of-Core Algorithms for Scientific Visualization and Computer Graphics 01.07.2011 21

Oberflächenvereinfachung Surface Segmentation Uniform Adaptiv [5] Out-Of-Core Algorithms for Scientific Visualization and Computer Graphics 01.07.2011 22

Rendering Um die Daten zu Rendern müssen sie in den Grafikspeicher geladen werden. (Flaschenhals) Keine unnötigen Daten laden Sichtbarkeitsberechnung Sichtbarkeitsinformationen vorberechnen Culling (to cull: aussortieren, auslesen) Bezeichnet das Aussortieren von nicht sichtbaren oder kaum sichtbaren Daten. Parallelisierung Caching Prefetching Impostors (Betrüger) 01.07.2011 23

Rendering Culling View-Frustrum Culling Entfernen von Objekten außerhalb des Sichtbereichs Einfacher Out-of-core-Ansatz: Traversierung eines Octrees [7] Occlusion Culling Entfernen von verdeckten Elementen Z-Buffer, Deffered Shading [6] [6] http://cumbia.informatik.uni-stuttgart.de/ger/teaching/lecture/ws04/seminar_spiele/bsp/ [7] OpenGL Optimizer Programmer's Guide: An Open API for Large-Model Visualization [7] 01.07.2011 24

Rendering Culling Out-of-core-Ansatz (schwierig) Approximation Contribution Culling (Level Of Detail) Statische LODs mehrere Detailstufen des Netzes oder Modells Adaptives LOD Lokale Anpassung der Detailstufe [4] Bildsynthese-Folien 01.07.2011 25

Rendering Caching/Prefetching Caching Cache: Schneller Puffer für langsamere Speicher (GPU RAM Festplatte) Idee: kleine Änderung zwischen Frames Austauschstrategie LRU (least recently used) LFU (least frequently used) (Spekulatives) Prefetching Vorrausschauendes Caching von Daten Kriterien Position Sichtbarkeit Bedienung 01.07.2011 26

Rendering Impostors / Normal Map Geometrie wird durch Grafik (Texturen) ersetzt [8] Dynamically Generated Imposters Normal/Bump-Map Normalen der Fläche in einer Textur [8] Dynamically Generated Imposters [4] Bildsynthese-Folien 01.07.2011 27

Anwendungsbeispiel iwalk Vorverarbeitung Aufbau des Octree Interaktiv Sichtbarkeitsberechnung PLP(prioritized-layered projection) [9] [9] iwalk: Interactive Out-Of-Core Rendering of Large Models 01.07.2011 28

Anwendungsbeispiel iwalk Caching Prefetching from-point [9] iwalk: Interactive Out-Of-Core Rendering of Large Models 01.07.2011 30

Quellen (Bilder) [1] wikipedia.org [2] http://maettig.com/?page=studium/fat32 [3] Visualization-Folien [4] Bildsynthese-Folien [5] Cláudio T. Silva, Yi-Jen Chiang, Jihad El-Sana, Peter Lindstrom: Out-Of-Core Algorithms for Scientific Visualization and Computer Graphics [6] http://cumbia.informatik.unistuttgart.de/ger/teaching/lecture/ws04/seminar_spiele/bsp/ [7] OpenGL Optimizer Programmer's Guide: An Open API for Large-Model Visualization [8] Gernot Schaufler: Dynamically Generated Imposters [9] Wagner T. Corrêa, James T. Klosowski, Cláudio T. Silva: iwalk: Interactive Out- Of-Core Rendering of Large Models [10] James T. Klosowski, Cláudio T. Silva: The Prioritized-Layered Projection Algorithm for Visible Set Estimation 01.07.2011 31