So far we have covered … Basic visualization algorithms

Slides:



Advertisements
Similar presentations
Storing Data: Disk Organization and I/O
Advertisements

1 Optimizing compilers Managing Cache Bercovici Sivan.
Materialization and Cubing Algorithms. Cube Materialization Each cell of the data cube is a view consisting of an aggregation of interest. The values.
Lecture 34: Chapter 5 Today’s topic –Virtual Memories 1.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Operating System Support Focus on Architecture
Lecture 17 I/O Optimization. Disk Organization Tracks: concentric rings around disk surface Sectors: arc of track, minimum unit of transfer Cylinder:
Memory Management and Paging CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han.
File System Implementation CSCI 444/544 Operating Systems Fall 2008.
Multiprocessing Memory Management
CS 104 Introduction to Computer Science and Graphics Problems
Memory Management CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han.
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
Memory Management 2010.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Chapter 8 Operating System Support
SECTIONS 13.1 – 13.3 Sanuja Dabade & Eilbroun Benjamin CS 257 – Dr. TY Lin SECONDARY STORAGE MANAGEMENT.
MEMORY MANAGEMENT By KUNAL KADAKIA RISHIT SHAH. Memory Memory is a large array of words or bytes, each with its own address. It is a repository of quickly.
Computer Organization and Architecture
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
Layers and Views of a Computer System Operating System Services Program creation Program execution Access to I/O devices Controlled access to files System.
Lecture 33: Chapter 5 Today’s topic –Cache Replacement Algorithms –Multi-level Caches –Virtual Memories 1.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization.
Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
The Red Storm High Performance Computer March 19, 2008 Sue Kelly Sandia National Laboratories Abstract: Sandia National.
So far we have covered … Basic visualization algorithms Parallel polygon rendering Occlusion culling They all indirectly or directly help understanding.
Processes and OS basics. RHS – SOC 2 OS Basics An Operating System (OS) is essentially an abstraction of a computer As a user or programmer, I do not.
Cosc 2150: Computer Organization Chapter 6, Part 2 Virtual Memory.
IT253: Computer Organization
CS414 Review Session.
CPSC 404, Laks V.S. Lakshmanan1 External Sorting Chapter 13: Ramakrishnan & Gherke and Chapter 2.3: Garcia-Molina et al.
CS333 Intro to Operating Systems Jonathan Walpole.
Large Scale Time-Varying Data Visualization Han-Wei Shen Department of Computer and Information Science The Ohio State University.
Data Structures and Algorithms in Parallel Computing Lecture 7.
Electronic visualization laboratory, university of illinois at chicago Visualizing Very Large Scale Earthquake Simulations (SC 2003) K.L.Ma, UC-Davis.
Memory Management OS Fazal Rehman Shamil. swapping Swapping concept comes in terms of process scheduling. Swapping is basically implemented by Medium.
Lecture Topics: 12/1 File System Implementation –Space allocation –Free Space –Directory implementation –Caching Disk Scheduling File System/Disk Interaction.
1 Contents Memory types & memory hierarchy Virtual memory (VM) Page replacement algorithms in case of VM.
Memory Management Damian Gordon.
Memory Management.
Jonathan Walpole Computer Science Portland State University
Chapter 2 Memory and process management
Chapter 8: Main Memory.
Lesson Objectives Aims Key Words
Partitioned Memory Allocation
Tamas Szalay, Volker Springel, Gerard Lemson
Architecture Background
CSI 400/500 Operating Systems Spring 2009
TYPES OFF OPERATING SYSTEM
Main Memory Management
Sanuja Dabade & Eilbroun Benjamin CS 257 – Dr. TY Lin
Yu Su, Yi Wang, Gagan Agrawal The Ohio State University
湖南大学-信息科学与工程学院-计算机与科学系
ECE 445 – Computer Organization
So far… Text RO …. printf() RW link printf Linking, loading
Operating Systems.
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Secondary Storage Management Brian Bershad
Contents Memory types & memory hierarchy Virtual memory (VM)
Secondary Storage Management Hank Levy
CSE 471 Autumn 1998 Virtual memory
Virtual Memory Lecture notes from MKP and S. Yalamanchili.
CSE 542: Operating Systems
Cache Memory and Performance
Operating Systems: Internals and Design Principles, 6/E
Michael Cox, David Ellsworth, NASA Ames Research Center
CSE 542: Operating Systems
Presentation transcript:

So far we have covered … Basic visualization algorithms Parallel polygon rendering Occlusion culling They all indirectly or directly help understanding and analyzing large scale data (volumetric or geometric) But they are really just a small part of the whole problem What problem?

Tera-scale Data Visualization

Big Data? Big data collection vs. big data objects Big data collection: aggregates of many data sets (multi-source, multi-disciplinary, hetreogeneous, and maybe distributed) Big data objects: single object too large For main memory For local disk Even for remote disk

Big Data Objects As a result of large-scale simulations (CFD, weather modeling, structural analysis, etc) A sample of problems Data management – data models, data structures, storage, hierarchy etc. Too big for local memory (e.g. 10GB time-varying data) Too big for local disk (e.g. 650GB simulation data) High bandwidth and latency

Possible Solutions Write-A-Check Approach * Buy your own Simulation Data in big fast memory/disk Visualization Algorithms Geometry Rendering * Buy your own supercomputers

Possible Solutions (2) Write-A-Check Approach 2: Simulation Big fast disk Fast network Big fast memory Visualization algorithms Geometry Rendering supercomputer * Buy your own high-end Workdstation High-end Workstation (a complete package)

Possible Solutions (3) Perhaps a better approach … Simulation Big fast disk Fast network Data reduction/visualization Data reduction/visualziation geometry Rendering Perhaps a better approach … (1) (2) (3) Supercomputer Commercial server Lower-end workstation/PC

Data reduction techniques Goal: Reduce the memory/disk/network resource requirements Memory Hierarchy Indexing Compression Multiresolution Data mining and feature extractions

Memory Hierarchy A system approaches Break the data in pieces Retrieve only the relevant pieces Demand-driven Sparse traversal using index Register L1 L2 cache Local Memory Local Disk Local Tape

Break Data in Pieces Although O.S supports this long time ago… (VM) “Flat” File Bad locality

Break Data in Pieces (2) It is better for the application to decide how the data should be subdivided Caution: Don’t be too algorithm specific You don’t want to have one file layout for each viz algorithm Most of the vis algorithms have similar memory access patterns Issues: fast addressing without bloat the data “cubed file”

Demand-Driven Data Fetch Virtual Memory typically won’t do a good job - do not know what are the necessary blocks An application control data retrieval system is needed Fast block retrieval Overlap I/O with Computation Smart pre-fetch … “cubed file”

Sparse Traversal Memory hierarchy approach works the best when the underlying algorithms only need a sparse traversal of the data with high access locality Examples: Isosurface extraction (Marching Cubes Algorithm is not) Particle Tracing (naturally spare traversal) Volume Rendering This requires the algorithms to be somewhat modified – out-of-core visualization algorithms Sparse traversal High data locality

Case Study Out-of-Core Streamline Visualization on Large Scale Unstructured Meshes Ueng et al, 1996

OOC Streamline Visualization A perfect example of sparse traversal Goal: Reduce the memory requirement Disk access should be minimized Increase the memory access locality Interactivity is important Deal with unstructured data

The Challenge of Unstructured Data Need explicit specification of node positions – files become large File layout lacks of spatial coherene -> VM will work even worse Cell sizes can vary significantly -> difficult to subdivide evenly Visualization algorithms are also hard to design (not out-of-core specific)

Typical File Layout

Sample Unstructured Mesh

Out-of-Core Streamline Viz Data preprocessing Data partitioning Run-time streamline computation Scheduling Memory management

Data Partitioning Using octree spatial decomposition Use the geometry center of cells to subdivide the volume (average of centers) Subdivide the octree node until each octane has approximately the same number of cells (note: a cell may be assigned to more than one buffer)

Data Partitioning (2) Data partitioning has to be done in an out-of-core manner Create eight disk files, read cells into memory incrementally and write to corresponding files Exame the file size at each run and subdivide as needed

Data Partitioning (3) How big an octane should be? The octane will be the unit to bring into memory each time Small block - More redundant cells - More frequent disk access (see time increases) + High hit rate + Faster to bring in

Run-time Algorithm Execution scheduling – compute multiple streamlines at a time to improve memory access locality (better than one at a time) Memory management – reduce internal fragmentation

Execution Scheduling For each streamline, there are three possible states: Wait: no data is available Ready: has data, computation proceeds Finished: done Multiple streamlines are considered

Execution Scheduling (2) Three queues are used to stored the active streamlines All streamlines are put into wait queue initially Wait Queue Ready Queue Finished Queue

Execution Scheduling (3) When a streamline steps out of the current block, it is moved from ready queue to the end wait queue Another streamline starts When the ready queue is empty, then a batch I/O is performed to move in the blocks needed for waiting streamlines

Memory management Each octant still has a different size Careful memory management is needed to avoid fragmentation Use a free space table