Algorithms for Memory Hierarchies [electronic resource] :Advanced Lectures /
Contributor(s): Meyer, Ulrich [editor.] | Sanders, Peter [editor.] | Sibeyn, Jop [editor.] | SpringerLink (Online service).Material type: BookSeries: Lecture Notes in Computer Science: 2625Publisher: Berlin, Heidelberg : Springer Berlin Heidelberg, 2003.Description: XV, 429 p. online resource.Content type: text Media type: computer Carrier type: online resourceISBN: 9783540365747.Subject(s): Computer science | Software engineering | Operating systems (Computers) | Data structures (Computer science) | File organization (Computer science) | Algorithms | Computer engineering | Computer Science | Computer Engineering | Algorithm Analysis and Problem Complexity | Software Engineering | Operating Systems | Data Storage Representation | FilesOnline resources: Click here to access online
Memory Hierarchies — Models and Lower Bounds -- Basic External Memory Data Structures -- A Survey of Techniques for Designing I/O-Efficient Algorithms -- Elementary Graph Algorithms in External Memory -- I/O-Efficient Algorithms for Sparse Graphs -- External Memory Computational Geometry Revisited -- Full-Text Indexes in External Memory -- Algorithms for Hardware Caches and TLB -- Cache Oblivious Algorithms -- An Overview of Cache Optimization Techniques and Cache-Aware Numerical Algorithms -- Memory Limitations in Artificial Intelligence -- Algorithmic Approaches for Storage Networks -- An Overview of File System Architectures -- Exploitation of the Memory Hierarchy in Relational DBMSs -- Hierarchical Models and Software Tools for Parallel Programming -- Case Study: Memory Conscious Parallel Sorting.
Algorithms that have to process large data sets have to take into account that the cost of memory access depends on where the data is stored. Traditional algorithm design is based on the von Neumann model where accesses to memory have uniform cost. Actual machines increasingly deviate from this model: while waiting for memory access, nowadays, microprocessors can in principle execute 1000 additions of registers; for hard disk access this factor can reach six orders of magnitude. The 16 coherent chapters in this monograph-like tutorial book introduce and survey algorithmic techniques used to achieve high performance on memory hierarchies; emphasis is placed on methods interesting from a theoretical as well as important from a practical point of view.