Paperback: 432 pages
Publisher: Addison-Wesley Professional; 1 edition (July 10, 1994)
Product Dimensions: 7.2 x 1 x 9.1 inches
Shipping Weight: 1.6 pounds (View shipping rates and policies)
Average Customer Review: 4.7 out of 5 stars See all reviews (10 customer reviews)
Best Sellers Rank: #915,555 in Books (See Top 100 in Books) #34 in Books > Computers & Technology > Programming > APIs & Operating Environments > Unix #130 in Books > Computers & Technology > Hardware & DIY > Microprocessors & System Design > Computer Design #327 in Books > Computers & Technology > Operating Systems > Unix
In many ways this is a great book. The subject is one that is known to induce headaches, and the author covers it with truly admirable clarity. It's worth buying the book for the chapter on cache consistency alone; like many others, I had to spend years piecing the same information together from varied sources, and it would be hard to overstate the value of having it all in one place.So why only three stars? The problem is that the book is incomplete. Cache systems and virtual-memory systems interact in myriad ways, but you wouldn't know that from reading this book. Similarly, storage and networking subsystems are often the bloodiest battlegrounds with respect to multiprocessor synchronization, and yet special considerations in those areas are not covered. Many old architectures (e.g. Apollo, ELXSI) are mentioned, and yet NUMA never even gets a nod. I know that covering all of these topics in any kind of depth would be impossible in a single book of any reasonable length, but their *total* omission is something I consider unacceptable.This is a book I would recommend without hesitation to any number of people. Unfortunately, that recommendation would always have to be accompanied by recommendations for other books that pick up where this one inexplicably leaves off.
This book clearly explains the operation of caches and MP systems in a way I've never seen before. The books used in my computer architecture class always left me with a somewhat vague feeling on how things worked, plus they only barely mentioned the software issues. Similarly, my OS class never really got into MP subjects like memory ordering and the effect of caches on the OS. But this book brought everything into focus with clear explanations and good examples.The best way to describe this book is that it's part computer architecture book and part operating systems book. The operation of the hardware is presented in good detail, without going as far as worrying about gates and transistors. The software issues are also described in detail along with various solutions and trade-offs between them.I highly recommend this book for anyone who wants to understand the operation of caches and SMP systems from both the hardware and software point of view.
I work on MP SVR4 kernels and this book is where I got most of my basics on MP from. I didn't understand the contents all at once - especially the initial intro to memory models in chapter 8, but after reading the SPARC specs (V8 & V9) and chapter 13, I can see how all this is relevant.If you are porting a unix or any OS for that matter to todays architectures, this book should help clear up what issues you would encounter and how best to solve them. For example the memory models and consistency guarantees of the source architecture and how they compare to the destination.And ofcourse its a great aid to understanding any contemporary OS' kernel code.veliath
This book contains a very complete treatment of the subject and is very well organized. Two things impressed me about the organization. First, you can read and understand the book in one pass. All the concepts are presented in an order such that they build upon one another in a logical manner. This makes it so much easier to understand things. Second, I was impressed by the fact that the author anticipated the questions readers would have. For instance, a number of times I'd be reading a section and a question would occur to me. Then I would find the answer to my question in the very next paragraph or section. You can really tell the author put a lot of thought into how to best present the material.On the technical side, I like the fact that the book presents different alternatives for the various implementations and discusses the trade-offs between them. This is one of the things that has made this my most frequently used desk reference here at work.
I recently started working on the Linux kernel and found myselfperplexed by the multiprocessor code I found. After askingaround, a number of the more experienced Linux kernel developersrecommended this book. It's excellent! It taught me everythingI needed to know to get my work done. Plus there's the addedbonus that this book thoroughly covers cache architecture and itsinteraction with the operating system. I highly recommend thisbook to anyone working on the Linux kernel. It has far more depth and detail on multiprocessing and cache management than anyof the Linux books I've seen. And it's the only book I've everseen that so thoroughly explains the hardware involved in cachesand multiprocessors and their effects on the operating system ina way that's easy to understand.
UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers The Symmetric Group: Representations, Combinatorial Algorithms, and Symmetric Functions (Graduate Texts in Mathematics, Vol. 203) Mastering Unix Shell Scripting: Bash, Bourne, and Korn Shell Scripting for Programmers, System Administrators, and UNIX Gurus uC/OS-III, The Real-Time Kernel, or a High Performance, Scalable, ROMable, Preemptive, Multitasking Kernel for Microprocessors, Microcontrollers & DSPs (Board NOT Included) Kernel of the Kernel (Suny Series in Islam) Scalable Shared-Memory Multiprocessing Web Caching and Its Applications (The Springer International Series in Engineering and Computer Science) Web Caching UNIX for Programmers and Users (3rd Edition) UNIX for Programmers and Users Tcl/Tk for Programmers: With Solved Exercises that Work with Unix and Windows VLSI Test Principles and Architectures: Design for Testability (The Morgan Kaufmann Series in Systems on Silicon) Optimizing Compilers for Modern Architectures: A Dependence-based Approach Shell Programming in Unix, Linux and OS X: The Fourth Edition of Unix Shell Programming (4th Edition) (Developer's Library) UNIX Shell Scripting Interview Questions, Answers, and Explanations: UNIX Shell Certification Review First Unix: A freshman's guide to Unix/Linux system administration Differential Geometry, Lie Groups, and Symmetric Spaces, Volume 80 (Pure and Applied Mathematics) Harmonic Analysis on Symmetric Spaces_Higher Rank Spaces, Positive Definite Matrix Space and Generalizations Introduction to the Theory of (Non-Symmetric) Dirichlet Forms (Universitext) Smooth Compactifications of Locally Symmetric Varieties (Cambridge Mathematical Library)