2^48 - keine Angst vor großen Datensätzen in MATLAB

Size: px
Start display at page:

Download "2^48 - keine Angst vor großen Datensätzen in MATLAB"

Transcription

1 2^48 - keine Angst vor großen Datensätzen in MATLAB 9. July 2014 Rainer Mümmler Application Engineering Group 2014 The MathWorks, Inc. 1

2 Challenges with Large Data Sets Out of memory Running out of address space Slow processing Data too large to be efficiently managed between RAM and virtual memory Lots of data to process Gaining insight Large data visualization Modeling with no equation and lots of predictors 3

3 Agenda Available system memory Memory usage in MATLAB Techniques for processing large data sets 4

4 System Memory System Memory = RAM + Swap/Page on Disk Virtual Memory Process sees contiguous block of memory Memory actually divided between RAM and disk (swap/page file) OS maps virtual address to physical address General guidelines: Add RAM, possibly swap space If thrashing, consider alternative approaches Virtual Memory (per process) RAM Disk 5

5 Memory and Your Operating System 32-bit operating systems 4GB of addressable memory per process Part of it is reserved by the OS, leaving the application < 4GB 64-bit operating systems In theory, can address 18 Exabytes of memory Determined by OS and processor Essentially limited by the amount of RAM and disk available on the computer Memory per Process Reserved by Operating System Available for Process Use 64-bit OS, if possible 6

6 Agenda Available system memory Memory usage in MATLAB Techniques for processing large data sets 7

7 Memory Management in MATLAB Preallocate arrays Large matrices first Clear variables when no longer needed Check memory available (Windows only) >> memory Control contiguous memory with startup switch (Windows only) C:\matlab shield medium MATLAB Process Address Space x1 = zeros(25,1) x4 x2 = zeros(100,1) zeros(50,1) x3 = zeros(25,1) x2 = zeros(50,1) x4 = zeros(100,1) Allocated x1 = zeros(25,1) Allocated x3 = zeros(25,1) 8

8 Data Copies Function calls Data is copy-on-write (lazy-copy) Passed by reference into the function a not copied function y = foo(x,a,b) y = a * x + b; end a is copied function y = foo(x,a,b) a(1) = a(1) + 12; y = a * x + b; end If not modified, no copy is made If modified, a temporary copy is made 9

9 Data Copies In-Place Optimizations MATLAB performs calculations in-place when: Output variable name is the same as input variable name Performing element-wise computation y = 2*x + 3; x = 2*x + 3; not in-place in-place 10

10 Techniques for Minimizing Data Copies In-place operations, if possible Nested functions Share the workspace of all outer functions Avoids making temporary copies of input arguments For objects, consider handle classes Copy of a handle object refers to the same object as the original handle 11

11 Using Appropriate Data Storage Numerical data types Floating point for math (e.g. linear algebra) Integers where appropriate (e.g. images) Cells and structures Sparse arrays Categorical arrays 12

12 How does MATLAB store data? Container overhead* Data Data Data Fieldname (64) d Header (112) Cell Header (112) dcell Header (112) Element Header (112) dstruct Header (112) d = [1 2] dcell ={[1 2]} dstruct.d = [1 2] * Using values for 64-bit MATLAB 13

13 Sparse Matrices Require less memory and are faster When to use sparse? < 1/2 dense on 64-bit (double precision) < 2/3 dense on 32-bit (double precision) Functions that support sparse matrices >> help sparfun Blog Post: Creating Sparse Finite Element Matrices 14

14 Agenda Available system memory Memory usage in MATLAB Techniques for processing large data sets 17

15 Processing Large Data Sets Break your large data into separate pieces and process independently Partial reading and writing of files Built-in functionality for block-processing System Objects for stream processing (signals, videos) Use the whole dataset at once Single array across memory of multiple machines 18

16 Reading in Part of a Dataset from Files ASCII file Import Tool, textscan MAT file Load and save part of a variable using the matfile Binary file Read and write directly to/from file using memmapfile Maps address space to file Databases (with Database Toolbox) ODBC and JDBC-compliant (e.g. Oracle, MySQL, Microsoft, SQL Server) Database Explorer App 19

17 Summary Examples: Reading in Part of a Dataset from Files ASCII file Import Tool, textscan MAT file Load and save part of a variable using the matfile Binary file Read and write directly to/from file using memmapfile Maps address space to file Only read/write parts of datasets, and not the whole file 20

18 Block Processing Images Available from Image Processing Toolbox blockproc automatically divides an image into blocks for processing Reduces memory usage Read and write block directly from image file Processes arbitrarily large images 21

19 Batch processing Load the entire file and process it all at once Memory Source Batch Processing Algorithm Stream processing Load a frame and process it before moving on to the next frame MATLAB Memory Stream Source Stream Processing 22

20 System Objects Available from DSP System Toolbox Communications System Toolbox Computer Vision System Toolbox Phased Array System Toolbox A class of MATLAB objects that support streaming workflows Simplifies data access for streaming applications Manages flow of data from files or network Handles data indexing and buffering Contain algorithms to work with streaming data Manages algorithm state Available for Signal Processing, Communications, Video Processing, and Phased Array Applications 23

21 Processing Large Data Sets Break your large data into separate pieces and process independently Partial reading and writing of files Built-in functionality for block-processing System Objects for stream processing Use the whole dataset at once Single array across memory of multiple machines 24

22 Distributing Large Data Available from Parallel Computing Toolbox MATLAB Distributed Computing Server MATLAB Desktop (Client) Worker Worker Worker Worker Remotely Manipulate Array from Client Distributed Array Lives on the Workers 25

23 Regular MATLAB code Using Distributed Arrays 26

24 Investigation: Distributed Calculations Effect of number of computers on execution time Time (s) N 1 node, multithreaded 2 nodes, 32W Distributed 4 nodes, 64W Processor: Intel Xeon E cores, 60 GB RAM per compute node 10 Gigabit Ethernet 27

25 Sample of Other Technical Resources MATLAB documentation User s Guide Programming Fundamentals Software Development Memory Usage The Art of MATLAB, Loren Shure s blog blogs.mathworks.com/loren/ Memory Management Guides MATLAB Answers 30

26 31

Speeding up MATLAB Applications The MathWorks, Inc.

Speeding up MATLAB Applications The MathWorks, Inc. Speeding up MATLAB Applications 2009 The MathWorks, Inc. Agenda Leveraging the power of vector & matrix operations Addressing bottlenecks Utilizing additional processing power Summary 2 Example: Block

More information

Speeding up MATLAB Applications Sean de Wolski Application Engineer

Speeding up MATLAB Applications Sean de Wolski Application Engineer Speeding up MATLAB Applications Sean de Wolski Application Engineer 2014 The MathWorks, Inc. 1 Non-rigid Displacement Vector Fields 2 Agenda Leveraging the power of vector and matrix operations Addressing

More information

Optimizing and Accelerating Your MATLAB Code

Optimizing and Accelerating Your MATLAB Code Optimizing and Accelerating Your MATLAB Code Sofia Mosesson Senior Application Engineer 2016 The MathWorks, Inc. 1 Agenda Optimizing for loops and using vector and matrix operations Indexing in different

More information

Getting Started with MATLAB Francesca Perino

Getting Started with MATLAB Francesca Perino Getting Started with MATLAB Francesca Perino francesca.perino@mathworks.it 2014 The MathWorks, Inc. 1 Agenda MATLAB Intro Importazione ed esportazione Programmazione in MATLAB Tecniche per la velocizzazione

More information

개발과정에서의 MATLAB 과 C 의연동 ( 영상처리분야 )

개발과정에서의 MATLAB 과 C 의연동 ( 영상처리분야 ) 개발과정에서의 MATLAB 과 C 의연동 ( 영상처리분야 ) Application Engineer Caleb Kim 2016 The MathWorks, Inc. 1 Algorithm Development with MATLAB for C/C++ Programmers Objectives Use MATLAB throughout algorithm development

More information

Advanced Programming Techniques in MATLAB

Advanced Programming Techniques in MATLAB Advanced Programming Techniques in MATLAB 1 Agenda MATLAB and memory What you as a programmer should know Passing arrays How structures use memory Functions of all types Introduction/Review of MATLAB function

More information

Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer

Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer 2018 The MathWorks, Inc. 1 Practical Application of Parallel Computing Why parallel computing? Need faster

More information

MATLAB to iphone Made Easy

MATLAB to iphone Made Easy MATLAB to iphone Made Easy Generating readable and portable C code from your MATLAB algorithms for your iphone or ipad app Bill Chou 2014 The MathWorks, Inc. 1 2 4 Quick Demo MATLAB Coder >> Demo 5 Agenda

More information

Parallel and Distributed Computing with MATLAB The MathWorks, Inc. 1

Parallel and Distributed Computing with MATLAB The MathWorks, Inc. 1 Parallel and Distributed Computing with MATLAB 2018 The MathWorks, Inc. 1 Practical Application of Parallel Computing Why parallel computing? Need faster insight on more complex problems with larger datasets

More information

System Requirements & Platform Availability by Product for R2016b

System Requirements & Platform Availability by Product for R2016b & Platform Availability by Product for R2016b View general system requirements. Product Aerospace Blockset Requires Aerospace Control recommended Aerospace Antenna RF recommended Phased Array recommended

More information

Modeling a 4G LTE System in MATLAB

Modeling a 4G LTE System in MATLAB Modeling a 4G LTE System in MATLAB Part 3: Path to implementation (C and HDL) Houman Zarrinkoub PhD. Signal Processing Product Manager MathWorks houmanz@mathworks.com 2011 The MathWorks, Inc. 1 LTE Downlink

More information

MATLAB. Devon Cormack and James Staley

MATLAB. Devon Cormack and James Staley MATLAB Devon Cormack and James Staley MATrix LABoratory Originally developed in 1970s as a FORTRAN wrapper, later rewritten in C Designed for the purpose of high-level numerical computation, visualization,

More information

Data Analytics with MATLAB

Data Analytics with MATLAB Data Analytics with MATLAB Tackling the Challenges of Big Data Adrienne James, PhD MathWorks 7 th October 2014 2014 The MathWorks, Inc. 1 Big Data in Industry ENERGY Asset Optimization FINANCE Market Risk,

More information

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES OBJECTIVES Detailed description of various ways of organizing memory hardware Various memory-management techniques, including paging and segmentation To provide

More information

Virtual Memory. Chapter 8

Virtual Memory. Chapter 8 Virtual Memory 1 Chapter 8 Characteristics of Paging and Segmentation Memory references are dynamically translated into physical addresses at run time E.g., process may be swapped in and out of main memory

More information

Database Toolbox Getting Started Guide. R2013a

Database Toolbox Getting Started Guide. R2013a Database Toolbox Getting Started Guide R2013a How to Contact MathWorks www.mathworks.com Web comp.soft-sys.matlab Newsgroup www.mathworks.com/contact_ts.html Technical Support suggest@mathworks.com bugs@mathworks.com

More information

Chapter 9. Above: An early computer input/output device on the IBM 7030 (STRETCH)

Chapter 9. Above: An early computer input/output device on the IBM 7030 (STRETCH) Chapter 9 Above: An early computer input/output device on the IBM 7030 (STRETCH) http://computer-history.info/page4.dir/pages/ibm.7030.stretch.dir/ Io One of the moon s of Jupiter (A Galilean satellite)

More information

MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by

MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by 1 MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by MathWorks In 2004, MATLAB had around one million users

More information

Matlab Advanced Programming. Matt Wyant University of Washington

Matlab Advanced Programming. Matt Wyant University of Washington Matlab Advanced Programming Matt Wyant University of Washington Matlab as a programming Language Strengths (as compared to C/C++/Fortran) Fast to write -no type declarations needed Memory allocation/deallocation

More information

Profiling Grid Data Transfer Protocols and Servers. George Kola, Tevfik Kosar and Miron Livny University of Wisconsin-Madison USA

Profiling Grid Data Transfer Protocols and Servers. George Kola, Tevfik Kosar and Miron Livny University of Wisconsin-Madison USA Profiling Grid Data Transfer Protocols and Servers George Kola, Tevfik Kosar and Miron Livny University of Wisconsin-Madison USA Motivation Scientific experiments are generating large amounts of data Education

More information

NDF data format and API implementation. Dr. Bojian Liang Department of Computer Science University of York 25 March 2010

NDF data format and API implementation. Dr. Bojian Liang Department of Computer Science University of York 25 March 2010 NDF data format and API implementation Dr. Bojian Liang Department of Computer Science University of York 25 March 2010 What is NDF? Slide 2 The Neurophysiology Data translation Format (NDF) is a data

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and 64-bit Architectures Example:

More information

Introduction to Matlab. Summer School CEA-EDF-INRIA 2011 of Numerical Analysis

Introduction to Matlab. Summer School CEA-EDF-INRIA 2011 of Numerical Analysis Introduction to Matlab 1 Outline What is Matlab? Matlab desktop & interface Scalar variables Vectors and matrices Exercise 1 Booleans Control structures File organization User defined functions Exercise

More information

Chapter 8: Memory-Management Strategies

Chapter 8: Memory-Management Strategies Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and

More information

PROGRAMMING AND ENGINEERING COMPUTING WITH MATLAB Huei-Huang Lee SDC. Better Textbooks. Lower Prices.

PROGRAMMING AND ENGINEERING COMPUTING WITH MATLAB Huei-Huang Lee SDC. Better Textbooks. Lower Prices. PROGRAMMING AND ENGINEERING COMPUTING WITH MATLAB 2018 Huei-Huang Lee SDC P U B L I C AT I O N S Better Textbooks. Lower Prices. www.sdcpublications.com Powered by TCPDF (www.tcpdf.org) Visit the following

More information

File Structures and Indexing

File Structures and Indexing File Structures and Indexing CPS352: Database Systems Simon Miner Gordon College Last Revised: 10/11/12 Agenda Check-in Database File Structures Indexing Database Design Tips Check-in Database File Structures

More information

BIG DATA: Data Analytics with MATLAB Christophe POUILLOT Senior Consultant MathWorks

BIG DATA: Data Analytics with MATLAB Christophe POUILLOT Senior Consultant MathWorks BIG DATA: Data Analytics with MATLAB Christophe POUILLOT Senior Consultant MathWorks christophe.pouillot@mathworks.fr 2014 The MathWorks, Inc. 1 Definition of Big Data Data so large and complex that it

More information

2015 The MathWorks, Inc. 1

2015 The MathWorks, Inc. 1 2015 The MathWorks, Inc. 1 C/C++ 사용자를위한 MATLAB 활용 : 알고리즘개발및검증 이웅재부장 2015 The MathWorks, Inc. 2 Signal Processing Algorithm Design with C/C++ Specification Algorithm Development C/C++ Testing & Debugging

More information

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 8: MEMORY MANAGEMENT By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the

More information

Chapter 8: Main Memory. Operating System Concepts 9 th Edition

Chapter 8: Main Memory. Operating System Concepts 9 th Edition Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel

More information

Software within building physics and ground heat storage. HEAT3 version 7. A PC-program for heat transfer in three dimensions Update manual

Software within building physics and ground heat storage. HEAT3 version 7. A PC-program for heat transfer in three dimensions Update manual Software within building physics and ground heat storage HEAT3 version 7 A PC-program for heat transfer in three dimensions Update manual June 15, 2015 BLOCON www.buildingphysics.com Contents 1. WHAT S

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel

More information

Embarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA

Embarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA Embarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA Pierre Nowodzienski Engineer pierre.nowodzienski@mathworks.fr 2018 The MathWorks, Inc. 1 From Data to Business value Make decisions Get

More information

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts Memory management Last modified: 26.04.2016 1 Contents Background Logical and physical address spaces; address binding Overlaying, swapping Contiguous Memory Allocation Segmentation Paging Structure of

More information

Advanced Database Systems

Advanced Database Systems Lecture IV Query Processing Kyumars Sheykh Esmaili Basic Steps in Query Processing 2 Query Optimization Many equivalent execution plans Choosing the best one Based on Heuristics, Cost Will be discussed

More information

Developing Optimization Algorithms for Real-World Applications

Developing Optimization Algorithms for Real-World Applications Developing Optimization Algorithms for Real-World Applications Gautam Ponnappa PC Training Engineer Viju Ravichandran, PhD Education Technical Evangelist 2015 The MathWorks, Inc. 1 2 For a given system,

More information

Scaling MATLAB. for Your Organisation and Beyond. Rory Adams The MathWorks, Inc. 1

Scaling MATLAB. for Your Organisation and Beyond. Rory Adams The MathWorks, Inc. 1 Scaling MATLAB for Your Organisation and Beyond Rory Adams 2015 The MathWorks, Inc. 1 MATLAB at Scale Front-end scaling Scale with increasing access requests Back-end scaling Scale with increasing computational

More information

CMSC 714 Lecture 6 MPI vs. OpenMP and OpenACC. Guest Lecturer: Sukhyun Song (original slides by Alan Sussman)

CMSC 714 Lecture 6 MPI vs. OpenMP and OpenACC. Guest Lecturer: Sukhyun Song (original slides by Alan Sussman) CMSC 714 Lecture 6 MPI vs. OpenMP and OpenACC Guest Lecturer: Sukhyun Song (original slides by Alan Sussman) Parallel Programming with Message Passing and Directives 2 MPI + OpenMP Some applications can

More information

Syllabus for Computer Science General Part I

Syllabus for Computer Science General Part I Distribution of Questions: Part I Q1. (Compulsory: 20 marks). Any ten questions to be answered out of fifteen questions, each carrying two marks (Group A 3 questions, Group B, Group C and Group D 4 questions

More information

Computer Fundamentals and Operating System Theory. By Neil Bloomberg Spring 2017

Computer Fundamentals and Operating System Theory. By Neil Bloomberg Spring 2017 Computer Fundamentals and Operating System Theory By Neil Bloomberg Spring 2017 INTRODUCTION This presentation will cover the fundamentals of Computer Operating Systems as a layered architecture using

More information

Memory Management. Goals of Memory Management. Mechanism. Policies

Memory Management. Goals of Memory Management. Mechanism. Policies Memory Management Design, Spring 2011 Department of Computer Science Rutgers Sakai: 01:198:416 Sp11 (https://sakai.rutgers.edu) Memory Management Goals of Memory Management Convenient abstraction for programming

More information

IADS Batch Server User Guide. Version July 2014 SYMVIONICS Document SSD-IADS SYMVIONICS, Inc. All rights reserved.

IADS Batch Server User Guide. Version July 2014 SYMVIONICS Document SSD-IADS SYMVIONICS, Inc. All rights reserved. IADS Batch Server User Guide Version 8.1.2 July 2014 SYMVIONICS Document SSD-IADS-152 1996-2018 SYMVIONICS, Inc. All rights reserved. Table of Contents 1. IADS Batch Server...1 1.1. Batch Server... 1 1.2.

More information

Caching and Buffering in HDF5

Caching and Buffering in HDF5 Caching and Buffering in HDF5 September 9, 2008 SPEEDUP Workshop - HDF5 Tutorial 1 Software stack Life cycle: What happens to data when it is transferred from application buffer to HDF5 file and from HDF5

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 20 Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Pages Pages and frames Page

More information

SUBJECT COMPUTER SCIENCE PAGE 1

SUBJECT COMPUTER SCIENCE PAGE 1 BACHELOR OF SCIENCE (B.Sc.) (THREE YEAR DEGREE COURSE) SUBJECT COMPUTER SCIENCE PAGE 1 COURSE STRUCTURE FIRST YEAR PAPER 101: Computer Fundamental 50 MARKS PAPER 102: Programming IN C 50 MARKS PAPER 103:

More information

An Introduction to MATLAB

An Introduction to MATLAB An Introduction to MATLAB Day 1 Simon Mitchell Simon.Mitchell@ucla.edu High level language Programing language and development environment Built-in development tools Numerical manipulation Plotting of

More information

CPU Architecture. HPCE / dt10 / 2013 / 10.1

CPU Architecture. HPCE / dt10 / 2013 / 10.1 Architecture HPCE / dt10 / 2013 / 10.1 What is computation? Input i o State s F(s,i) (s,o) s Output HPCE / dt10 / 2013 / 10.2 Input and Output = Communication There are many different types of IO (Input/Output)

More information

Input and Output = Communication. What is computation? Hardware Thread (CPU core) Transforming state

Input and Output = Communication. What is computation? Hardware Thread (CPU core) Transforming state What is computation? Input and Output = Communication Input State Output i s F(s,i) (s,o) o s There are many different types of IO (Input/Output) What constitutes IO is context dependent Obvious forms

More information

컴퓨터비전의최신기술 : Deep Learning, 3D Vision and Embedded Vision

컴퓨터비전의최신기술 : Deep Learning, 3D Vision and Embedded Vision 1 컴퓨터비전의최신기술 : Deep Learning, 3D Vision and Embedded Vision 김종남 Application Engineer 2017 The MathWorks, Inc. 2 Three Main Topics New capabilities for computer vision system design: Deep Learning 3-D Vision

More information

Medical Image Processing using MATLAB

Medical Image Processing using MATLAB Medical Image Processing using MATLAB Brett Shoelson, PhD Bill Wass Adam Rogers Principal Application Engineer Senior Account Manager 2015 The MathWorks, Inc. 1 Session Agenda: Medical Image Processing

More information

Short Notes of CS201

Short Notes of CS201 #includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system

More information

BASICS OF SPATIAL MODELER etraining

BASICS OF SPATIAL MODELER etraining Introduction BASICS OF SPATIAL MODELER etraining Describes the Spatial Modeler workspace and functions and shows how to run Spatial Models. Software Data Spatial Modeler N/A Transcript 0:10 Thank you for

More information

CPSC 421 Database Management Systems. Lecture 11: Storage and File Organization

CPSC 421 Database Management Systems. Lecture 11: Storage and File Organization CPSC 421 Database Management Systems Lecture 11: Storage and File Organization * Some material adapted from R. Ramakrishnan, L. Delcambre, and B. Ludaescher Today s Agenda Start on Database Internals:

More information

CS201 - Introduction to Programming Glossary By

CS201 - Introduction to Programming Glossary By CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with

More information

2015 The MathWorks, Inc. 1

2015 The MathWorks, Inc. 1 2015 The MathWorks, Inc. 1 MATLAB 의 C 코드생성 워크플로우및최적화요령 정승혁과장 2015 The MathWorks, Inc. 2 MATLAB Coder User Story Using MATLAB Try a new idea quickly Evaluation of the system by testing and analysis High

More information

PC-based data acquisition II

PC-based data acquisition II FYS3240 PC-based instrumentation and microcontrollers PC-based data acquisition II Data streaming to a storage device Spring 2015 Lecture 9 Bekkeng, 29.1.2015 Data streaming Data written to or read from

More information

Managing Storage: Above the Hardware

Managing Storage: Above the Hardware Managing Storage: Above the Hardware 1 Where we are Last time: hardware HDDs and SSDs Today: how the DBMS uses the hardware to provide fast access to data 2 How DBMS manages storage "Bottom" two layers

More information

CS 261 Fall Mike Lam, Professor. Virtual Memory

CS 261 Fall Mike Lam, Professor. Virtual Memory CS 261 Fall 2016 Mike Lam, Professor Virtual Memory Topics Operating systems Address spaces Virtual memory Address translation Memory allocation Lingering questions What happens when you call malloc()?

More information

MATLAB Based Optimization Techniques and Parallel Computing

MATLAB Based Optimization Techniques and Parallel Computing MATLAB Based Optimization Techniques and Parallel Computing Bratislava June 4, 2009 2009 The MathWorks, Inc. Jörg-M. Sautter Application Engineer The MathWorks Agenda Introduction Local and Smooth Optimization

More information

Getting started with Matlab: Outline

Getting started with Matlab: Outline Getting started with Matlab: Outline What, where and why of matlab. The matlab desktop and you Entering commands Variables and data types Plotting 101 Saving and loading data A real world example What

More information

CERTIFICATE IN WEB PROGRAMMING

CERTIFICATE IN WEB PROGRAMMING COURSE DURATION: 6 MONTHS CONTENTS : CERTIFICATE IN WEB PROGRAMMING 1. PROGRAMMING IN C and C++ Language 2. HTML/CSS and JavaScript 3. PHP and MySQL 4. Project on Development of Web Application 1. PROGRAMMING

More information

What's New in MATLAB for Engineering Data Analytics?

What's New in MATLAB for Engineering Data Analytics? What's New in MATLAB for Engineering Data Analytics? Will Wilson Application Engineer MathWorks, Inc. 2017 The MathWorks, Inc. 1 Agenda Data Types Tall Arrays for Big Data Machine Learning (for Everyone)

More information

System Requirements. SAS Activity-Based Management 7.2. Deployment

System Requirements. SAS Activity-Based Management 7.2. Deployment System Requirements SAS Activity-Based Management 7.2 This document provides the requirements for installing and running SAS Activity-Based Management. You must update your computer to meet the minimum

More information

arxiv: v1 [cs.lg] 5 Mar 2013

arxiv: v1 [cs.lg] 5 Mar 2013 GURLS: a Least Squares Library for Supervised Learning Andrea Tacchetti, Pavan K. Mallapragada, Matteo Santoro, Lorenzo Rosasco Center for Biological and Computational Learning, Massachusetts Institute

More information

Memory Management Topics. CS 537 Lecture 11 Memory. Virtualizing Resources

Memory Management Topics. CS 537 Lecture 11 Memory. Virtualizing Resources Memory Management Topics CS 537 Lecture Memory Michael Swift Goals of memory management convenient abstraction for programming isolation between processes allocate scarce memory resources between competing

More information

High Performance Computing Lecture 1. Matthew Jacob Indian Institute of Science

High Performance Computing Lecture 1. Matthew Jacob Indian Institute of Science High Performance Computing Lecture 1 Matthew Jacob Indian Institute of Science Agenda 1. Program execution: Compilation, Object files, Function call and return, Address space, Data & its representation

More information

inforouter V8.0 Server & Client Requirements

inforouter V8.0 Server & Client Requirements inforouter V8.0 Server & Client Requirements Please review this document thoroughly before proceeding with the installation of inforouter Version 8. This document describes the minimum and recommended

More information

Today. Process Memory Layout. CSCI 4061 Introduction to Operating Systems. Where does the memory come from?

Today. Process Memory Layout. CSCI 4061 Introduction to Operating Systems. Where does the memory come from? Today CSCI 4061 Introduction to Operating Systems OS Management Virtual Paging and Swapping Instructor: Abhishek Chandra 2 Process Layout Where does the memory come from? High Address Args, environment

More information

Virtual Memory. control structures and hardware support

Virtual Memory. control structures and hardware support Virtual Memory control structures and hardware support 1 Hardware and Control Structures Memory references are dynamically translated into physical addresses at run time A process may be swapped in and

More information

Large Data in MATLAB: A Seismic Data Processing Case Study U. M. Sundar Senior Application Engineer

Large Data in MATLAB: A Seismic Data Processing Case Study U. M. Sundar Senior Application Engineer Large Data in MATLAB: A Seismic Data Processing Case Study U. M. Sundar Senior Application Engineer 2013 MathWorks, Inc. 1 Problem Statement: Scaling Up Seismic Analysis Challenge: Developing a seismic

More information

WINDOWS Memory Management Defrag Memory & Resource Management AI Based Application

WINDOWS Memory Management Defrag Memory & Resource Management AI Based Application WINDOWS Memory Management Defrag Memory & Resource Management AI Based Application Index About the Product... 2 The Need... 2 Minimal System Requirements... 3 Version... 4 What New?... 4 EXE Structure...

More information

Jyotheswar Kuricheti

Jyotheswar Kuricheti Jyotheswar Kuricheti 1 Agenda: 1. Performance Tuning Overview 2. Identify Bottlenecks 3. Optimizing at different levels : Target Source Mapping Session System 2 3 Performance Tuning Overview: 4 What is

More information

Chapter 8: Virtual Memory. Operating System Concepts Essentials 2 nd Edition

Chapter 8: Virtual Memory. Operating System Concepts Essentials 2 nd Edition Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Voldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

Voldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation Voldemort Smruti R. Sarangi Department of Computer Science Indian Institute of Technology New Delhi, India Smruti R. Sarangi Leader Election 1/29 Outline 1 2 3 Smruti R. Sarangi Leader Election 2/29 Data

More information

GPU Coder: Automatic CUDA and TensorRT code generation from MATLAB

GPU Coder: Automatic CUDA and TensorRT code generation from MATLAB GPU Coder: Automatic CUDA and TensorRT code generation from MATLAB Ram Kokku 2018 The MathWorks, Inc. 1 GPUs and CUDA programming faster Performance CUDA OpenCL C/C++ GPU Coder MATLAB Python Ease of programming

More information

System Requirements. SAS Activity-Based Management Deployment

System Requirements. SAS Activity-Based Management Deployment System Requirements SAS Activity-Based Management 7.11 This document provides the requirements for installing and running SAS Activity-Based Management. You must update your computer to meet the minimum

More information

Learning to Play Well With Others

Learning to Play Well With Others Virtual Memory 1 Learning to Play Well With Others (Physical) Memory 0x10000 (64KB) 0x00000 Learning to Play Well With Others malloc(0x20000) (Physical) Memory 0x10000 (64KB) 0x00000 Learning to Play Well

More information

How to scale Nested OpenMP Applications on the ScaleMP vsmp Architecture

How to scale Nested OpenMP Applications on the ScaleMP vsmp Architecture How to scale Nested OpenMP Applications on the ScaleMP vsmp Architecture Dirk Schmidl, Christian Terboven, Andreas Wolf, Dieter an Mey, Christian Bischof IEEE Cluster 2010 / Heraklion September 21, 2010

More information

Matrix Multiplication

Matrix Multiplication Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2013 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2013 1 / 32 Outline 1 Matrix operations Importance Dense and sparse

More information

Analyzing Fleet Data with MATLAB and Spark

Analyzing Fleet Data with MATLAB and Spark Analyzing Fleet Data with MATLAB and Spark Christoph Stockhammer 2018 The MathWorks, Inc. 1 What does Fleet mean? A Fleet is any group of things that can generate data and that you would like to look at

More information

CSE 4/521 Introduction to Operating Systems. Lecture 12 Main Memory I (Background, Swapping) Summer 2018

CSE 4/521 Introduction to Operating Systems. Lecture 12 Main Memory I (Background, Swapping) Summer 2018 CSE 4/521 Introduction to Operating Systems Lecture 12 Main Memory I (Background, Swapping) Summer 2018 Overview Objective: 1. To provide a detailed description of various ways of organizing memory hardware.

More information

Notes on efficient Matlab programming

Notes on efficient Matlab programming Notes on efficient Matlab programming Dag Lindbo dag@csc.kth.se June 11, 2010 1 Introduction - is Matlab slow? It is a common view that Matlab is slow. This is a very crude statement that holds both some

More information

Fixed-Point Math and Other Optimizations

Fixed-Point Math and Other Optimizations Fixed-Point Math and Other Optimizations Embedded Systems 8-1 Fixed Point Math Why and How Floating point is too slow and integers truncate the data Floating point subroutines: slower than native, overhead

More information

Huei-Huang Lee. Programming with MATLAB2016 SDC ACCESS CODE. Better Textbooks. Lower Prices. UNIQUE CODE INSIDE

Huei-Huang Lee. Programming with MATLAB2016 SDC ACCESS CODE. Better Textbooks. Lower Prices.   UNIQUE CODE INSIDE Programming with Huei-Huang Lee MATLAB2016 SDC P U B L I C AT I O N S Better Textbooks. Lower Prices. www.sdcpublications.com ACCESS CODE UNIQUE CODE INSIDE Powered by TCPDF (www.tcpdf.org) Visit the following

More information

Virtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory. Demand Paging

Virtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory. Demand Paging TDDB68 Concurrent programming and operating systems Overview: Virtual Memory Virtual Memory [SGG7/8] Chapter 9 Background Demand Paging Page Replacement Allocation of Frames Thrashing and Data Access Locality

More information

WHITE PAPER. Optimizing Virtual Platform Disk Performance

WHITE PAPER. Optimizing Virtual Platform Disk Performance WHITE PAPER Optimizing Virtual Platform Disk Performance Optimizing Virtual Platform Disk Performance 1 The intensified demand for IT network efficiency and lower operating costs has been driving the phenomenal

More information

Xytech MediaPulse Equipment Guidelines (Version 8 and Sky)

Xytech MediaPulse Equipment Guidelines (Version 8 and Sky) Xytech MediaPulse Equipment Guidelines (Version 8 and Sky) MediaPulse Architecture Xytech Systems MediaPulse solution utilizes a multitier architecture, requiring at minimum three server roles: a database

More information

Optimize DSP Designs and Code using Fixed-Point Designer

Optimize DSP Designs and Code using Fixed-Point Designer Optimize DSP Designs and Code using Fixed-Point Designer MathWorks Korea 이웅재부장 Senior Application Engineer 2013 The MathWorks, Inc. 1 Agenda Fixed-point concepts Introducing Fixed-Point Designer Overview

More information

SUMMARY OF DATABASE STORAGE AND QUERYING

SUMMARY OF DATABASE STORAGE AND QUERYING SUMMARY OF DATABASE STORAGE AND QUERYING 1. Why Is It Important? Usually users of a database do not have to care the issues on this level. Actually, they should focus more on the logical model of a database

More information

CHAPTER 3 RESOURCE MANAGEMENT

CHAPTER 3 RESOURCE MANAGEMENT CHAPTER 3 RESOURCE MANAGEMENT SUBTOPIC Understand Memory Management Understand Processor Management INTRODUCTION Memory management is the act of managing computer memory. This involves providing ways to

More information

1 Chapter Plan...1 Exercise - Simple Program...2

1 Chapter Plan...1 Exercise - Simple Program...2 Chapter 1: Introduction Exercise - Simple Program...2 2 Subject Matter...4 1. What is PL/1?...4 2. PL/1: Strengths and Advantages...5 3. Program Structure...6 4. Data Types...7 5. Built-in Functions...8

More information

Building an Inverted Index

Building an Inverted Index Building an Inverted Index Algorithms Memory-based Disk-based (Sort-Inversion) Sorting Merging (2-way; multi-way) 2 Memory-based Inverted Index Phase I (parse and read) For each document Identify distinct

More information

Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen

Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen Frank Graeber Application Engineering MathWorks Germany 2013 The MathWorks, Inc. 1 Speed up the serial code within core

More information

INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX

INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX Keith Ma ---------------------------------------- keithma@bu.edu Research Computing Services ----------- help@rcs.bu.edu Boston University ----------------------------------------------------

More information

I/A Series Software Data for Windows V2.3

I/A Series Software Data for Windows V2.3 I/A Series Software Data for Windows V2.3 I/A Series Data for Windows, for Microsoft Windows operating systems provides easy access to I/A Series realtime data objects and historical information from Windows-based

More information

Performance Considerations

Performance Considerations 149 CHAPTER 6 Performance Considerations Hardware Considerations 149 Windows Features that Optimize Performance 150 Under Windows NT 150 Under Windows NT Server Enterprise Edition 4.0 151 Processing SAS

More information

Chapter 20: Database System Architectures

Chapter 20: Database System Architectures Chapter 20: Database System Architectures Chapter 20: Database System Architectures Centralized and Client-Server Systems Server System Architectures Parallel Systems Distributed Systems Network Types

More information

LiveNX vs Installer COMPARISON GUIDE. LiveAction, Inc. LIVEACTION, INC.

LiveNX vs Installer COMPARISON GUIDE. LiveAction, Inc. LIVEACTION, INC. LIVEACTION, INC. LiveNX vs Installer COMPARISON GUIDE LiveAction, Inc. 3500 Copyright WEST BAYSHORE 2008-2016 ROAD LiveAction, Inc. All rights reserved. LiveAction, LiveNX, LiveUX, the LiveAction Logo

More information

Memory Management. CSE 2431: Introduction to Operating Systems Reading: , [OSC]

Memory Management. CSE 2431: Introduction to Operating Systems Reading: , [OSC] Memory Management CSE 2431: Introduction to Operating Systems Reading: 8.1 8.3, [OSC] 1 Outline Basic Memory Management Swapping Variable Partitions Memory Management Problems 2 Basic Memory Management

More information

ENGINEERING PROBLEM SOLVING WITH C++

ENGINEERING PROBLEM SOLVING WITH C++ ENGINEERING PROBLEM SOLVING WITH C++ Second Edition Delores M. Etter Electrical Engineering Department United States Naval Academy Jeanine A. Ingber Training Consultant Sandia National Laboratories Upper

More information