External Memory. Philip Bille
|
|
- Bruce Arnold
- 6 years ago
- Views:
Transcription
1 External Memory Philip Bille
2 Outline Computationals models Modern computers (word) RAM I/O Cache-oblivious Shortest path in implicit grid graphs RAM algorithm I/O algorithms Cache-oblivious algorithm
3 Computational Models
4 Modern Computers CPU L 1 L 2 R A M Disk Ex.: ipad 2 A5 Chip (dual-core ARM A9) L1 cache: 32 KB L2 cache: 1 MB Memory: 512 MB Disk: 16 GB SSD
5 Word RAM Model CPU R A M CPU operations: +,-,/,=,<,>,&,,... Memory access: Read/write a cell in RAM Cost: Number of CPU operations and memory accesses
6 I/O Model [Aggarwal and Vitter 1988] I/O CPU R A M Disk Idea: Focus on read/writes between RAM and disk. Called I/Os. An I/O operation read/writes a block of B consecutive cells between RAM and disk. Ignore computation and other levels of memory hierarchy.
7 I/O Model [Aggarwal and Vitter 1988] I/O CPU R A M Disk N = problem size M = RAM size B = I/O block size I/O operation: Read/write a block of B consecutive cells between RAM and disk. Cost: Number of I/O operations.
8 Cache-Oblivious Model [Frigo et al. 1999] I/O CPU R A M Disk As I/O model, but algorithms do not know M and B (you cannot hardwire M or B in your algorithm!). Program in RAM model and analyze in I/O model. Assume optimal cache replacement strategy with full associativity.
9 Cache-Oblivious Model [Frigo et al. 1999] I/O CPU R A M Disk Lemma: Standard cache replacement strategies (e.g. LRU only FIFO) only uses a constant factor additional I/Os compared to optimal strategy. Lemma: We can simulate full associativity with 1-way associativity using only a constant factor additional I/Os.
10 Cache-Oblivious Model [Frigo et al. 1999] I/O CPU R A M Disk Properties: Efficient between 2 levels => efficient at all levels. Portable, self-tuning, and simple
11 Shortest Path in Implicit Grid Graphs
12 Implicit Grid Graphs a n a n a s b a n a n a Let S and T be two strings of length n. The implicit grid graph for S and T consists of A 2D grid of (n+1) x (n+1) nodes. For each node an edge to neighbors to E, S, SE. E and S edges have weight 1. SE edge (i-1,j-1) to (i, j) has weight 0 if S[i] = T[j] and 1 otherwise.
13 Shortest Paths in Implicit Grid Graphs a n a n a s b a n a n a The shortest path in Implicit Grid Graphs (SPIIGG) problem: Input: Strings S and T of length n. Output: Tthe length of the shortest path in the implicit grid graph for S and T from (0,0) to (n, n).
14 Applications Shortest paths in implicit grid graphs is the edit distance problem. With other edge weight functions we get longest common subsequence, sequence alignment, string similarity, approximate string matching, etc.
15 RAM Solution b a n a n a a n a n a s b a n a n a a n a n a s How can we solve SPIIGG? Construct (n+1) x (n+1) matrix. Fill in each entry in O(1) time in left-to-right top-to-bottom order. Time: O(n 2 ) Space: O(n) (only store current + last row) Slightly faster solutions known [MP1980, Myers1999, CLZ2002, BFC2008]
16 External Memory Algorithms for SPIIGG
17 Outline I/O Porting the RAM algorithm Table partitioning Cache-Oblivious Recursive table partitioning
18 Porting the RAM Algorithm Idea: What happens if we do the same as the RAM algorithm? Read and write blocks between external and internal memory as needed.
19 ? Strings are stored in O(n/B) blocks. Store table in O(n/B) blocks per row. Read and write blocks as needed. How many I/Os? O(n 2 /B)
20 ? Theorem: We can solve SPIIGG in O(n 2 /B) I/Os O(n 2 ) time O(n) space
21 Table Partitioning Idea: When we read a block into internal memory, use it as much as possible.
22 Divide table into subtables with overlapping boundaries. Process all subtables from left-to-right, top-to-bottom order. Processing a subtable: Read corresponding substrings and input boundary into internal memory Fill in subtable using RAM algorithm. Write output boundary to disk.
23 Given only substrings and input boundary we can compute output boundary. Choose size of subtable to be dm x dm for d < 1 such that substrings + input boundary + output boundary + space for internal memory algorithm on subtable < M. How many I/Os?
24 How many I/Os to process a subtable of size dm x dm? O(M/B) Total number of I/Os? O(n 2 /M 2 M/B) = O(n 2 /MB)
25 Theorem: We can solve SPIIGG in O(n 2 /MB + n/b) I/Os O(n 2 ) time O(n) space
26 Cache-Oblivious Algorithm Idea: How can we implement a version of the I/O algorithm without knowledge of M and B? Do a recursive (divide and conquer) version of the I/O algorithm.
27 Divide table into 4 quadrants with overlapping boundaries. Process quadrants from left-to-right, top-to-bottom order. Processing a quadrant: Read corresponding substrings and input boundary. Fill in quadrant recursively. Write output boundary.
28 How many I/Os? Define IO(n) = number of I/Os to process a table of size n x n Case 1: n dm (substrings + boundaries + computation fit in internal mem) IO(n) = O(n/B) Case 2: n > dm?
29 Divide table into 4 quadrants with overlapping boundaries. O(1) Process quadrants from left-to-right, top-to-bottom order. Processing a quadrant: Read corresponding substrings and input boundary. Fill in quadrant recursively. Write output boundary. O(n/B) 4 IO(n/2) O(n/B)
30 IO(n) = ( O(n/B) if n apple dm 4 IO(n/B)+ O(n/B) if n>dm cn B 4 cn 2B =2cn B 16 cn 4B =4cn B Work at level i: Size of subproblem at level i: Number of levels (before subproblem fits in mem): Total: log(cn/dm) X i=0 2 i cn B 2 i cn B = cn B cn 2 i cn dm cn = dm ) i = log(cn/dm) 2i apple cn B 2cn n 2 dm = O MB
31 Cache-Oblivious Algorithm Theorem: We can solve SPIIGG in O(n 2 /MB + n/b) I/Os O(n 2 ) time O(n) space
32 Summary Computationals models Modern computers (word) RAM I/O Cache-oblivious Shortest path in implicit grid graphs RAM algorithm I/O algorithms Cache-oblivious algorithm
33 References A. Aggarwal and J. Vitter, The Input/Output Complexity of Sorting and Related Problems, CACM 31 (9), Erik Demaine, Cache-Oblivious Algorithms and Data Structures, Lecture Notes from the EEF Summer School on Massive Data Sets. Rezaul Alam Chowdhury and Vijaya Ramachandran, Cache-oblivious dynamic programming, SODA 2006.
Effect of memory latency
CACHE AWARENESS Effect of memory latency Consider a processor operating at 1 GHz (1 ns clock) connected to a DRAM with a latency of 100 ns. Assume that the processor has two ALU units and it is capable
More informationFast and Cache-Oblivious Dynamic Programming with Local Dependencies
Fast and Cache-Oblivious Dynamic Programming with Local Dependencies Philip Bille and Morten Stöckel Technical University of Denmark, DTU Informatics, Copenhagen, Denmark Abstract. String comparison such
More informationMulti-core Computing Lecture 2
Multi-core Computing Lecture 2 MADALGO Summer School 2012 Algorithms for Modern Parallel and Distributed Models Phillip B. Gibbons Intel Labs Pittsburgh August 21, 2012 Multi-core Computing Lectures: Progress-to-date
More informationCache-Oblivious Algorithms A Unified Approach to Hierarchical Memory Algorithms
Cache-Oblivious Algorithms A Unified Approach to Hierarchical Memory Algorithms Aarhus University Cache-Oblivious Current Trends Algorithms in Algorithms, - A Unified Complexity Approach to Theory, Hierarchical
More informationAlgorithms for dealing with massive data
Computer Science Department Federal University of Rio Grande do Sul Porto Alegre, Brazil Outline of the talk Introduction Outline of the talk Algorithms models for dealing with massive datasets : Motivation,
More informationIntroduction to I/O Efficient Algorithms (External Memory Model)
Introduction to I/O Efficient Algorithms (External Memory Model) Jeff M. Phillips August 30, 2013 Von Neumann Architecture Model: CPU and Memory Read, Write, Operations (+,,,...) constant time polynomially
More informationReport Seminar Algorithm Engineering
Report Seminar Algorithm Engineering G. S. Brodal, R. Fagerberg, K. Vinther: Engineering a Cache-Oblivious Sorting Algorithm Iftikhar Ahmad Chair of Algorithm and Complexity Department of Computer Science
More informationLecture 19 Apr 25, 2007
6.851: Advanced Data Structures Spring 2007 Prof. Erik Demaine Lecture 19 Apr 25, 2007 Scribe: Aditya Rathnam 1 Overview Previously we worked in the RA or cell probe models, in which the cost of an algorithm
More informationMassive Data Algorithmics. Lecture 12: Cache-Oblivious Model
Typical Computer Hierarchical Memory Basics Data moved between adjacent memory level in blocks A Trivial Program A Trivial Program: d = 1 A Trivial Program: d = 1 A Trivial Program: n = 2 24 A Trivial
More informationCache Oblivious Algorithms
Cache Oblivious Algorithms Volker Strumpen IBM Research Austin, TX September 4, 2007 Iterative matrix transposition #define N 1000 double A[N][N], B[N][N]; void iter(void) { int i, j; for (i = 0; i < N;
More informationThe History of I/O Models Erik Demaine
The History of I/O Models Erik Demaine MASSACHUSETTS INSTITUTE OF TECHNOLOGY Memory Hierarchies in Practice CPU 750 ps Registers 100B Level 1 Cache 100KB Level 2 Cache 1MB 10GB 14 ns Main Memory 1EB-1ZB
More informationHierarchical Memory. Modern machines have complicated memory hierarchy
Hierarchical Memory Modern machines have complicated memory hierarchy Levels get larger and slower further away from CPU Data moved between levels using large blocks Lecture 2: Slow IO Review Disk access
More informationCache-Adaptive Analysis
Cache-Adaptive Analysis Michael A. Bender1 Erik Demaine4 Roozbeh Ebrahimi1 Jeremy T. Fineman3 Rob Johnson1 Andrea Lincoln4 Jayson Lynch4 Samuel McCauley1 1 3 4 Available Memory Can Fluctuate in Real Systems
More informationBRICS Research Activities Algorithms
BRICS Research Activities Algorithms Gerth Stølting Brodal BRICS Retreat, Sandbjerg, 21 23 October 2002 1 Outline of Talk The Algorithms Group Courses Algorithm Events Expertise within BRICS Examples Algorithms
More informationEE414 Embedded Systems Ch 5. Memory Part 2/2
EE414 Embedded Systems Ch 5. Memory Part 2/2 Byung Kook Kim School of Electrical Engineering Korea Advanced Institute of Science and Technology Overview 6.1 introduction 6.2 Memory Write Ability and Storage
More informationCache-Oblivious Traversals of an Array s Pairs
Cache-Oblivious Traversals of an Array s Pairs Tobias Johnson May 7, 2007 Abstract Cache-obliviousness is a concept first introduced by Frigo et al. in [1]. We follow their model and develop a cache-oblivious
More informationLecture 24 November 24, 2015
CS 229r: Algorithms for Big Data Fall 2015 Prof. Jelani Nelson Lecture 24 November 24, 2015 Scribes: Zhengyu Wang 1 Cache-oblivious Model Last time we talked about disk access model (as known as DAM, or
More informationLists Revisited: Cache Conscious STL lists
Lists Revisited: Cache Conscious STL lists Leonor Frias, Jordi Petit, Salvador Roura Departament de Llenguatges i Sistemes Informàtics. Universitat Politècnica de Catalunya. Overview Goal: Improve STL
More informationReport on Cache-Oblivious Priority Queue and Graph Algorithm Applications[1]
Report on Cache-Oblivious Priority Queue and Graph Algorithm Applications[1] Marc André Tanner May 30, 2014 Abstract This report contains two main sections: In section 1 the cache-oblivious computational
More informationCache-Oblivious String Dictionaries
Cache-Oblivious String Dictionaries Gerth Stølting Brodal University of Aarhus Joint work with Rolf Fagerberg #"! Outline of Talk Cache-oblivious model Basic cache-oblivious techniques Cache-oblivious
More informationCache-Oblivious Algorithms and Data Structures
Cache-Oblivious Algorithms and Data Structures Erik D. Demaine MIT Laboratory for Computer Science, 200 Technology Square, Cambridge, MA 02139, USA, edemaine@mit.edu Abstract. A recent direction in the
More informationMassive Data Algorithmics. Lecture 1: Introduction
. Massive Data Massive datasets are being collected everywhere Storage management software is billion-dollar industry . Examples Phone: AT&T 20TB phone call database, wireless tracking Consumer: WalMart
More informationImproved Visibility Computation on Massive Grid Terrains
Improved Visibility Computation on Massive Grid Terrains Jeremy Fishman Herman Haverkort Laura Toma Bowdoin College USA Eindhoven University The Netherlands Bowdoin College USA Laura Toma ACM GIS 2009
More informationLecture April, 2010
6.851: Advanced Data Structures Spring 2010 Prof. Eri Demaine Lecture 20 22 April, 2010 1 Memory Hierarchies and Models of Them So far in class, we have wored with models of computation lie the word RAM
More informationComputing Visibility on Terrains in External Memory
Computing Visibility on Terrains in External Memory Herman Haverkort Laura Toma Yi Zhuang TU. Eindhoven Netherlands Bowdoin College USA Visibility Problem: visibility map (viewshed) of v terrain T arbitrary
More informationParallel Longest Increasing Subsequences in Scalable Time and Memory
Parallel Longest Increasing Subsequences in Scalable Time and Memory Peter Krusche Alexander Tiskin Department of Computer Science University of Warwick, Coventry, CV4 7AL, UK PPAM 2009 What is in this
More informationSTORING DATA: DISK AND FILES
STORING DATA: DISK AND FILES CS 564- Spring 2018 ACKs: Dan Suciu, Jignesh Patel, AnHai Doan WHAT IS THIS LECTURE ABOUT? How does a DBMS store data? disk, SSD, main memory The Buffer manager controls how
More informationLecture 7 8 March, 2012
6.851: Advanced Data Structures Spring 2012 Lecture 7 8 arch, 2012 Prof. Erik Demaine Scribe: Claudio A Andreoni 2012, Sebastien Dabdoub 2012, Usman asood 2012, Eric Liu 2010, Aditya Rathnam 2007 1 emory
More informationNetwork-oblivious algorithms. Gianfranco Bilardi, Andrea Pietracaprina, Geppino Pucci and Francesco Silvestri
Network-oblivious algorithms Gianfranco Bilardi, Andrea Pietracaprina, Geppino Pucci and Francesco Silvestri Overview Motivation Framework for network-oblivious algorithms Case studies: Network-oblivious
More informationCache-Oblivious and Data-Oblivious Sorting and Applications
Cache-Oblivious and Data-Oblivious Sorting and Applications T-H. Hubert Chan, Yue Guo, Wei-Kai Lin, and Elaine Shi Jan, 2018 External Memory Model Cache efficiency: # of blocks Time: # of words Memory
More informationMEMORY HIERARCHY DESIGN
MEMORY HIERARCHY DESIGN Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 3 will be released on Oct. 31 st
More informationExternal Memory. External Memory. Computational Models. Computational Models
Exterl emory Exterl emory Computtiol model Shortet pth i implicit grid grph lgorithm I/O lgorithm Cche-oliviou lgorithm Computtiol model Shortet pth i implicit grid grph lgorithm I/O lgorithm Cche-oliviou
More informationBuffer Heap Implementation & Evaluation. Hatem Nassrat. CSCI 6104 Instructor: N.Zeh Dalhousie University Computer Science
Buffer Heap Implementation & Evaluation Hatem Nassrat CSCI 6104 Instructor: N.Zeh Dalhousie University Computer Science Table of Contents Introduction...3 Cache Aware / Cache Oblivious Algorithms...3 Buffer
More informationOn External-Memory Planar Depth-First Search
On External-Memory Planar Depth-First Search Laura Toma Duke University Lars Arge Ulrich Meyer Norbert Zeh Duke University Max-Plank Institute Carlton University August 2 External Graph Problems Applications
More informationI/O Model. Cache-Oblivious Algorithms : Algorithms in the Real World. Advantages of Cache-Oblivious Algorithms 4/9/13
I/O Model 15-853: Algorithms in the Real World Locality II: Cache-oblivious algorithms Matrix multiplication Distribution sort Static searching Abstracts a single level of the memory hierarchy Fast memory
More informationNetwork-Oblivious Algorithms. Gianfranco Bilardi, Andrea Pietracaprina, Geppino Pucci, Michele Scquizzato and Francesco Silvestri
Network-Oblivious Algorithms Gianfranco Bilardi, Andrea Pietracaprina, Geppino Pucci, Michele Scquizzato and Francesco Silvestri Overview Background Summary of results Framework for network-oblivious algorithms
More informationOutline of the talk 1 Problem definition 2 Computational Models 3 Technical results 4 Conclusions University of Padova Bertinoro, February 17-18th 200
Cache-Oblivious Simulation of Parallel Programs Andrea Pietracaprina Geppino Pucci Francesco Silvestri Bertinoro, February 17-18th 2006 University of Padova Bertinoro, February 17-18th 2006 1/ 19 Outline
More informationCS429: Computer Organization and Architecture
CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: November 28, 2017 at 14:31 CS429 Slideset 18: 1 Random-Access Memory
More informationCS429: Computer Organization and Architecture
CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: April 9, 2018 at 12:16 CS429 Slideset 17: 1 Random-Access Memory
More informationComputing Visibility on Terrains in External Memory
Computing Visibility on Terrains in External Memory Herman Haverkort Laura Toma Yi Zhuang TU. Eindhoven Netherlands Bowdoin College USA ALENEX 2007 New Orleans, USA Visibility Problem: visibility map (viewshed)
More informationAlgorithms and Data Structures: Efficient and Cache-Oblivious
7 Ritika Angrish and Dr. Deepak Garg Algorithms and Data Structures: Efficient and Cache-Oblivious Ritika Angrish* and Dr. Deepak Garg Department of Computer Science and Engineering, Thapar University,
More informationMassive Data Algorithmics
Massive Data Algorithmics University of Aarhus Department of Computer Science Faglig Dag, January 17, 2008 running time The core problem... Normal algorithm I/O-efficient algorithm data size Main memory
More informationThe Cost of Address Translation
The Cost of Address Translation Tomasz Jurkiewicz Kurt Mehlhorn Pat Nicholson Max Planck Institute for Informatics full version of paper by TJ and KM available at arxiv preliminary version presented at
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2014 Lecture 14
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 2014 Lecture 14 LAST TIME! Examined several memory technologies: SRAM volatile memory cells built from transistors! Fast to use, larger memory cells (6+ transistors
More informationADDRESS TRANSLATION AND TLB
ADDRESS TRANSLATION AND TLB Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 4 submission deadline: Mar.
More informationADDRESS TRANSLATION AND TLB
ADDRESS TRANSLATION AND TLB Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 3 submission deadline: Nov.
More informationCache Oblivious Matrix Transposition: Simulation and Experiment
Cache Oblivious Matrix Transposition: Simulation and Experiment Dimitrios Tsifakis, Alistair P. Rendell * and Peter E. Strazdins Department of Computer Science Australian National University Canberra ACT0200,
More informationComputational Geometry in the Parallel External Memory Model
Computational Geometry in the Parallel External Memory Model Nodari Sitchinava Institute for Theoretical Informatics Karlsruhe Institute of Technology nodari@ira.uka.de 1 Introduction Continued advances
More informationCS 152 Computer Architecture and Engineering. Lecture 7 - Memory Hierarchy-II
CS 152 Computer Architecture and Engineering Lecture 7 - Memory Hierarchy-II Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste
More informationOperating Systems and Computer Networks. Memory Management. Dr.-Ing. Pascal A. Klein
Operating Systems and Computer Networks Memory Management pascal.klein@uni-due.de Alexander Maxeiner, M.Sc. Faculty of Engineering Agenda 1 Swapping 2 Segmentation Algorithms 3 Memory Allocation 4 Virtual
More informationExternal Memory Algorithms and Data Structures. Winter 2004/2005
External Memory Algorithms and Data Structures Winter 2004/2005 Riko Jacob Peter Widmayer Assignments: Yoshio Okamoto EMADS 04/ 05: Course Description Page 1 External Memory Algorithms and Data Structures
More informationCache-oblivious Programming
Cache-oblivious Programming Story so far We have studied cache optimizations for array programs Main transformations: loop interchange, loop tiling Loop tiling converts matrix computations into block matrix
More informationMemory Hierarchy: Motivation
Memory Hierarchy: Motivation The gap between CPU performance and main memory speed has been widening with higher performance CPUs creating performance bottlenecks for memory access instructions. The memory
More informationAdvanced Memory Organizations
CSE 3421: Introduction to Computer Architecture Advanced Memory Organizations Study: 5.1, 5.2, 5.3, 5.4 (only parts) Gojko Babić 03-29-2018 1 Growth in Performance of DRAM & CPU Huge mismatch between CPU
More informationRandom-Access Memory (RAM) CS429: Computer Organization and Architecture. SRAM and DRAM. Flash / RAM Summary. Storage Technologies
Random-ccess Memory (RM) CS429: Computer Organization and rchitecture Dr. Bill Young Department of Computer Science University of Texas at ustin Key Features RM is packaged as a chip The basic storage
More informationECE 485/585 Microprocessor System Design
Microprocessor System Design Lecture 4: Memory Hierarchy Memory Taxonomy SRAM Basics Memory Organization DRAM Basics Zeshan Chishti Electrical and Computer Engineering Dept Maseeh College of Engineering
More informationStructure of Computer Systems
222 Structure of Computer Systems Figure 4.64 shows how a page directory can be used to map linear addresses to 4-MB pages. The entries in the page directory point to page tables, and the entries in a
More informationCOMP 3221: Microprocessors and Embedded Systems
COMP 3: Microprocessors and Embedded Systems Lectures 7: Cache Memory - III http://www.cse.unsw.edu.au/~cs3 Lecturer: Hui Wu Session, 5 Outline Fully Associative Cache N-Way Associative Cache Block Replacement
More informationLecture 2: Memory Systems
Lecture 2: Memory Systems Basic components Memory hierarchy Cache memory Virtual Memory Zebo Peng, IDA, LiTH Many Different Technologies Zebo Peng, IDA, LiTH 2 Internal and External Memories CPU Date transfer
More informationCPSC 352. Chapter 7: Memory. Computer Organization. Principles of Computer Architecture by M. Murdocca and V. Heuring
7- CPSC 352 Computer Organization 7-2 Chapter Contents 7. The Memory Hierarchy 7.2 Random Access Memory 7.3 Chip Organization 7.4 Commercial Memory Modules 7.5 Read-Only Memory 7.6 Cache Memory 7.7 Virtual
More informationComputing Visibility on Terrains in External Memory
Computing Visibility on Terrains in External Memory HERMAN HAVERKORT Technische Universiteit Eindhoven, The Netherlands. LAURA TOMA Bowdoin College, Maine, USA. and YI ZHUANG Bowdoin College, Maine, USA.
More informationF28HS Hardware-Software Interface: Systems Programming
F28HS Hardware-Software Interface: Systems Programming Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh Semester 2 2016/17 0 No proprietary software has
More informationCache Oblivious Matrix Transpositions using Sequential Processing
IOSR Journal of Engineering (IOSRJEN) e-issn: 225-321, p-issn: 2278-8719 Vol. 3, Issue 11 (November. 213), V4 PP 5-55 Cache Oblivious Matrix s using Sequential Processing korde P.S., and Khanale P.B 1
More information3.2 Cache Oblivious Algorithms
3.2 Cache Oblivious Algorithms Cache-Oblivious Algorithms by Matteo Frigo, Charles E. Leiserson, Harald Prokop, and Sridhar Ramachandran. In the 40th Annual Symposium on Foundations of Computer Science,
More informationDynamic programming in faulty memory hierarchies (cache-obliviously)
Dynamic programming in faulty memory hierarchies (cache-obliviously) S. Caminiti 1, I. Finocchi 1, E. G. Fusco 1, and F. Silvestri 2 1 Computer Science Department, Sapienza University of Rome 2 Department
More informationDesign with Microprocessors
Design with Microprocessors Year III Computer Sci. English 1-st Semester Lecture 12: Memory interfacing Typical Memory Hierarchy [1] On-Chip Components Control edram Datapath RegFile ITLB DTLB Instr Data
More informationIntroduction to OpenMP. Lecture 10: Caches
Introduction to OpenMP Lecture 10: Caches Overview Why caches are needed How caches work Cache design and performance. The memory speed gap Moore s Law: processors speed doubles every 18 months. True for
More informationCache-Aware and Cache-Oblivious Adaptive Sorting
Cache-Aware and Cache-Oblivious Adaptive Sorting Gerth Stølting rodal 1,, Rolf Fagerberg 2,, and Gabriel Moruz 1 1 RICS, Department of Computer Science, University of Aarhus, IT Parken, Åbogade 34, DK-8200
More informationSolutions to Problem Set 1
CSCI-GA.3520-001 Honors Analysis of Algorithms Solutions to Problem Set 1 Problem 1 An O(n) algorithm that finds the kth integer in an array a = (a 1,..., a n ) of n distinct integers. Basic Idea Using
More informationMulti-core Computing Lecture 1
Hi-Spade Multi-core Computing Lecture 1 MADALGO Summer School 2012 Algorithms for Modern Parallel and Distributed Models Phillip B. Gibbons Intel Labs Pittsburgh August 20, 2012 Lecture 1 Outline Multi-cores:
More informationMemory Addressing. Pradipta De
Memory Addressing Pradipta De pradipta.de@sunykorea.ac.kr Today s Topic Allow processes (and kernel) to reliably access physical memory How to create illusions of large RAM Ensure memory protection Do
More informationAlgorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory II
Memory Performance of Algorithms CSE 32 Data Structures Lecture Algorithm Performance Factors Algorithm choices (asymptotic running time) O(n 2 ) or O(n log n) Data structure choices List or Arrays Language
More informationIncreasing Performance for PowerCenter Sessions that Use Partitions
Increasing Performance for PowerCenter Sessions that Use Partitions 1993-2015 Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying,
More informationPreview. Memory Management
Preview Memory Management With Mono-Process With Multi-Processes Multi-process with Fixed Partitions Modeling Multiprogramming Swapping Memory Management with Bitmaps Memory Management with Free-List Virtual
More informationCache Oblivious Matrix Transposition: Simulation and Experiment
Cache Oblivious Matrix Transposition: Simulation and Experiment Dimitrios Tsifakis, Alistair P. Rendell, and Peter E. Strazdins Department of Computer Science, Australian National University Canberra ACT0200,
More informationAlgorithms and Data Structures Group. Gerth Stølting Brodal
Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014 VIP Lars Arge (Professor) Gerth Stølting Brodal (Lektor) Peyman
More informationCS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.
CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. Part 4: Memory Organization Our goal: understand the basic types of memory in computer understand memory hierarchy and the general process to access memory
More informationCS3350B Computer Architecture
CS3350B Computer Architecture Winter 2015 Lecture 3.1: Memory Hierarchy: What and Why? Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design, Patterson
More informationENGIN 112 Intro to Electrical and Computer Engineering
ENGIN 112 Intro to Electrical and Computer Engineering Lecture 30 Random Access Memory (RAM) Overview Memory is a collection of storage cells with associated input and output circuitry Possible to read
More informationI/O-Algorithms Lars Arge
Fall 2014 August 28, 2014 assive Data Pervasive use of computers and sensors Increased ability to acquire/store/process data assive data collected everywhere Society increasingly data driven Access/process
More informationCSCI-UA.0201 Computer Systems Organization Memory Hierarchy
CSCI-UA.0201 Computer Systems Organization Memory Hierarchy Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Programmer s Wish List Memory Private Infinitely large Infinitely fast Non-volatile
More information8: Memory Management
CSC400 - Operating Systems 8: Memory Management J. Sumey Physical Memory as important as the CPU, a computer's physical memory is another important resource that must be carefully & efficiently managed
More informationAlgorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory I
Memory Performance of Algorithms CSE 32 Data Structures Lecture Algorithm Performance Factors Algorithm choices (asymptotic running time) O(n 2 ) or O(n log n) Data structure choices List or Arrays Language
More informationMemory 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 informationComputer Organization (Autonomous)
2-7-27 Computer Organization (Autonomous) UNIT IV Sections - A & D SYLLABUS The Memory System: Memory Hierarchy, - RAM and ROM Chips, Memory Address Maps, Memory Connection to, Auxiliary Magnetic Disks,
More informationCache-Oblivious Algorithms
Cache-Oblivious Algorithms Matteo Frigo, Charles Leiserson, Harald Prokop, Sridhar Ramchandran Slides Written and Presented by William Kuszmaul THE DISK ACCESS MODEL Three Parameters: B M P Block Size
More informationSE-292 High Performance Computing. Memory Hierarchy. R. Govindarajan
SE-292 High Performance Computing Memory Hierarchy R. Govindarajan govind@serc Reality Check Question 1: Are real caches built to work on virtual addresses or physical addresses? Question 2: What about
More informationMEMORY MANAGEMENT UNITS
Memory Management Units memory management unit (MMU) simply converts a virtual address generated by a CPU into a physical address which is applied to the memory system address space divided into fixed
More informationDesign with Microprocessors
Design with Microprocessors Year III Computer Sci. English 1-st Semester Lecture 12: Memory interfacing Typical Memory Hierarchy [1] On-Chip Components Control edram Datapath RegFile ITLB DTLB Instr Data
More informationChapter 5B. Large and Fast: Exploiting Memory Hierarchy
Chapter 5B Large and Fast: Exploiting Memory Hierarchy One Transistor Dynamic RAM 1-T DRAM Cell word access transistor V REF TiN top electrode (V REF ) Ta 2 O 5 dielectric bit Storage capacitor (FET gate,
More informationCACHE-OBLIVIOUS MAPS. Edward Kmett McGraw Hill Financial. Saturday, October 26, 13
CACHE-OBLIVIOUS MAPS Edward Kmett McGraw Hill Financial CACHE-OBLIVIOUS MAPS Edward Kmett McGraw Hill Financial CACHE-OBLIVIOUS MAPS Indexing and Machine Models Cache-Oblivious Lookahead Arrays Amortization
More informationParallel Algorithms for (PRAM) Computers & Some Parallel Algorithms. Reference : Horowitz, Sahni and Rajasekaran, Computer Algorithms
Parallel Algorithms for (PRAM) Computers & Some Parallel Algorithms Reference : Horowitz, Sahni and Rajasekaran, Computer Algorithms Part 2 1 3 Maximum Selection Problem : Given n numbers, x 1, x 2,, x
More informationSorting atomic items. Chapter 5
Sorting atomic items Chapter 5 Sorting on 2-level memory model Atomic items occupy constant-fixed number of memory cells (no variable length). Usually 4 or 8 bytes. Sequence S of n atomic items with n>m
More informationPharmacy college.. Assist.Prof. Dr. Abdullah A. Abdullah
The kinds of memory:- 1. RAM(Random Access Memory):- The main memory in the computer, it s the location where data and programs are stored (temporally). RAM is volatile means that the data is only there
More informationMemory Technology. Chapter 5. Principle of Locality. Chapter 5 Large and Fast: Exploiting Memory Hierarchy 1
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface Chapter 5 Large and Fast: Exploiting Memory Hierarchy 5 th Edition Memory Technology Static RAM (SRAM) 0.5ns 2.5ns, $2000 $5000 per GB Dynamic
More informationMemory Hierarchy: The motivation
Memory Hierarchy: The motivation The gap between CPU performance and main memory has been widening with higher performance CPUs creating performance bottlenecks for memory access instructions. The memory
More informationCS 140 Introduction to Computing & Computer Technology. Computing Components
CS 140 Introduction to Computing & Computer Technology Computing Components We ve looked at the elementary building blocks of computers transistors, gates, and circuits OK, but how do computers really
More informationThe Memory Hierarchy. Cache, Main Memory, and Virtual Memory (Part 2)
The Memory Hierarchy Cache, Main Memory, and Virtual Memory (Part 2) Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Cache Line Replacement The cache
More informationMassive Data Algorithmics
In the name of Allah Massive Data Algorithmics An Introduction Overview MADALGO SCALGO Basic Concepts The TerraFlow Project STREAM The TerraStream Project TPIE MADALGO- Introduction Center for MAssive
More informationChapter 4 Memory Management
Chapter 4 Memory Management 4.1 Basic memory management 4.2 Swapping 4.3 Virtual memory 4.4 Page replacement algorithms 4.5 Modeling page replacement algorithms 4.6 Design issues for paging systems 4.7
More information