The Art of Multiprocessor Programming, Revised Reprint

The Art of Multiprocessor Programming, Revised Reprint

Author: Maurice Herlihy

Publisher: Elsevier

Published: 2012-06-25

Total Pages: 537

ISBN-13: 0123977959

DOWNLOAD EBOOK

Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient single-core programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues. - This revised edition incorporates much-demanded updates throughout the book, based on feedback and corrections reported from classrooms since 2008 - Learn the fundamentals of programming multiple threads accessing shared memory - Explore mainstream concurrent data structures and the key elements of their design, as well as synchronization techniques from simple locks to transactional memory systems - Visit the companion site and download source code, example Java programs, and materials to support and enhance the learning experience


Storage Systems

Storage Systems

Author: Alexander Thomasian

Publisher: Academic Press

Published: 2021-10-13

Total Pages: 748

ISBN-13: 0323908098

DOWNLOAD EBOOK

Storage Systems: Organization, Performance, Coding, Reliability and Their Data Processing was motivated by the 1988 Redundant Array of Inexpensive/Independent Disks proposal to replace large form factor mainframe disks with an array of commodity disks. Disk loads are balanced by striping data into strips—with one strip per disk— and storage reliability is enhanced via replication or erasure coding, which at best dedicates k strips per stripe to tolerate k disk failures. Flash memories have resulted in a paradigm shift with Solid State Drives (SSDs) replacing Hard Disk Drives (HDDs) for high performance applications. RAID and Flash have resulted in the emergence of new storage companies, namely EMC, NetApp, SanDisk, and Purestorage, and a multibillion-dollar storage market. Key new conferences and publications are reviewed in this book.The goal of the book is to expose students, researchers, and IT professionals to the more important developments in storage systems, while covering the evolution of storage technologies, traditional and novel databases, and novel sources of data. We describe several prototypes: FAWN at CMU, RAMCloud at Stanford, and Lightstore at MIT; Oracle's Exadata, AWS' Aurora, Alibaba's PolarDB, Fungible Data Center; and author's paper designs for cloud storage, namely heterogeneous disk arrays and hierarchical RAID. - Surveys storage technologies and lists sources of data: measurements, text, audio, images, and video - Familiarizes with paradigms to improve performance: caching, prefetching, log-structured file systems, and merge-trees (LSMs) - Describes RAID organizations and analyzes their performance and reliability - Conserves storage via data compression, deduplication, compaction, and secures data via encryption - Specifies implications of storage technologies on performance and power consumption - Exemplifies database parallelism for big data, analytics, deep learning via multicore CPUs, GPUs, FPGAs, and ASICs, e.g., Google's Tensor Processing Units