The Locality Principle. - Denning, Peter J. (Communications of the ACM, 2005)
This article reports that locality of reference is one of the cornerstones of computer science. It was born from efforts to make virtual memory systems work well. Virtual memory was first developed in 1959 on the Atlas System at the University of Manchester. Its superior programming environment doubled or tripled programmer productivity. But it was difficult to use, its performance sensitive to the choice of replacement algorithm and to the ways compilers grouped code onto pages. The locality principle was adopted as an idea almost immediately by operating systems, database, and hardware architects. It was applied in ever-widening circles: in virtual memory to organize caches for address translation and to design the replacement algorithms, in data caches for CPUs, originally as mainframes and now as microchips, in buffers between main memory and secondary memory devices, in buffers between computers and networks, in video boards to accelerate graphics displays, in modules that implement the information-hiding principle, in accounting and event logs that monitor activities within a system and others.