So far we have covered … Basic visualization algorithms Parallel polygon rendering Occlusion culling They all indirectly or directly help understanding.

Slides:



Advertisements
Similar presentations
Adam Jorgensen Pragmatic Works Performance Optimization in SQL Server Analysis Services 2008.
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.
Building a Distributed Full-Text Index for the Web S. Melnik, S. Raghavan, B.Yang, H. Garcia-Molina.
Lecture 34: Chapter 5 Today’s topic –Virtual Memories 1.
1 A Real Problem  What if you wanted to run a program that needs more memory than you have?
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.
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
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 9 – Real Memory Organization and Management Outline 9.1 Introduction 9.2Memory Organization.
Secondary Storage Management Hank Levy. 8/7/20152 Secondary Storage • Secondary Storage is usually: –anything outside of “primary memory” –storage that.
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.
Principles of Scalable HPC System Design March 6, 2012 Sue Kelly Sandia National Laboratories Abstract: Sandia National.
Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Architectural Support for Fine-Grained Parallelism on Multi-core Architectures Sanjeev Kumar, Corporate Technology Group, Intel Corporation Christopher.
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.
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
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming  To allocate scarce memory resources.
Interactive Visualization of Exceptionally Complex Industrial CAD Datasets Andreas Dietrich Ingo Wald Philipp Slusallek Computer Graphics Group Saarland.
CPSC 404, Laks V.S. Lakshmanan1 External Sorting Chapter 13: Ramakrishnan & Gherke and Chapter 2.3: Garcia-Molina et al.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
CS4432: Database Systems II Data Storage 1. Storage in DBMSs DBMSs manage large amounts of data How does a DBMS store and manage large amounts of data?
Tivoli Software © 2010 IBM Corporation 1 Using Machine Learning Techniques to Enhance The Performance of an Automatic Backup and Recovery System Amir Ronen,
Basic Memory Management 1. Readings r Silbershatz et al: chapters
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.
CHC ++: Coherent Hierarchical Culling Revisited Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
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
A Real Problem What if you wanted to run a program that needs more memory than you have? September 11, 2018.
Chapter 9 – Real Memory Organization and Management
So far we have covered … Basic visualization algorithms
CSI 400/500 Operating Systems Spring 2009
Sanuja Dabade & Eilbroun Benjamin CS 257 – Dr. TY Lin
湖南大学-信息科学与工程学院-计算机与科学系
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
Cache Memory and Performance
Operating Systems: Internals and Design Principles, 6/E
Michael Cox, David Ellsworth, NASA Ames Research Center
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 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 disk Big fast memory Visualization algorithms Geometry Rendering * Buy your own high-end Workdstation supercomputer High-end Workstation (a complete package)

Possible Solutions (3) Perhaps a better approach … Simulation Big fast disk Fast network Big fast disk Data reduction/visualization Fast network Data reduction/visualziation geometry Rendering (1) (2) (3) (1)Supercomputer (2)Commercial server (3)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 Data preprocessing 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