← Latest papers
💻 computer science

Cache Lines, Not Probes: The Memory-Access Cost of Open Addressing Without Reordering

This paper introduces a cache-line cost model for open addressing without reordering, demonstrating that while asymmetric bucketing achieves optimal memory access bounds of Θ(1+log⁡log⁡n/δB)\Theta(1+\log\log n/\delta B), symmetric approaches are significantly worse and probe-optimal hierarchical schemes remain cache-suboptimal due to unavoidable memory-access costs dictated by the parameter δB\delta B.

Original authors: Mauricio Herrera

Published 2026-09-22
📖 7 min read🧠 Deep dive

Original authors: Mauricio Herrera

Original paper licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

In the vast, silent architecture of modern computing, data does not live in a single, continuous stream. Instead, it is stored in vast arrays of slots, organized into groups that travel together between the slow, deep storage of a hard drive and the lightning-fast memory of a processor. These groups, known as cache lines, are the fundamental units of data transfer. When a computer needs to find a specific piece of information, it does not check one slot at a time in isolation; it pulls an entire group of slots into its working memory. If the data is not in the first slot of that group, the computer checks the next one, and the next, until it finds what it needs. The efficiency of this search depends heavily on how many of these groups the computer must pull in. For decades, computer scientists have focused on counting the number of individual slots checked, assuming that fewer checks meant a faster search. However, this view overlooks the physical reality of the machine: touching a single slot in a group forces the computer to load the entire group, making the number of groups touched the true measure of speed.

A recent study by Mauricio Herrera Marín shifts the focus from the count of individual checks to the count of these data groups. The research investigates a specific method of storing data called open addressing, where items are placed directly into an array and, once placed, are never moved. The central question is how to arrange these items so that finding or adding a new one requires touching the fewest possible groups of data. The study reveals that the old methods, which were designed to minimize the number of individual checks, are actually inefficient when measured by the number of data groups they force the computer to load. The researchers found that the key to efficiency lies in a simple relationship between how full the storage is and the size of the data groups. They discovered that if there is at least one empty space within every group of data, the computer can find or add items with a constant, minimal number of group transfers, regardless of how large the storage becomes.

The paper challenges a prevailing belief in the field that the most efficient search strategies are those that scatter their checks across the storage array to avoid clumping. Previous designs, such as elastic hashing and funnel hashing, were celebrated for minimizing the number of individual slots a computer had to inspect. These methods work by sending the search far down a list of possibilities, scattering the checks across many different parts of the array. While this reduces the number of individual checks, it forces the computer to load many different groups of data, one for each scattered check. The study demonstrates that this approach is a mistake when the goal is to minimize the actual work the machine does. By contrast, a method that keeps checks clustered together within a few groups allows the computer to load a single group and inspect many slots at once, drastically reducing the total number of transfers required.

The researchers proved that the optimal strategy depends on a specific balance: the number of empty slots available per group. If the storage is so full that there are fewer empty slots than the size of the group, the computer is forced to load more and more groups as it searches, and the cost rises sharply. However, if the system is designed to ensure there is at least one empty slot in every group, the cost of finding or adding an item drops to a constant, minimal level. This finding holds true even as the storage grows to massive sizes. The study also explored the worst-case scenario, where the computer must guarantee that no search ever takes too long. Here, the researchers found that the arrangement of choices matters deeply. A method that treats all groups equally performs significantly worse than one that uses an asymmetric strategy, where the computer favors certain groups over others to prevent any single group from becoming a bottleneck. This asymmetry allows the system to maintain its efficiency even under the most demanding conditions.

One of the most significant conclusions of the work is that the previously celebrated "funnel" and "elastic" hashing methods, which were considered the gold standard for speed, are actually suboptimal when measured by the number of data groups loaded. These methods, which rely on scattering checks across the array, incur a hidden cost that grows with the size of the storage. The study shows that no amount of clever rearranging of the data can fix this flaw if the data is organized in a way that ignores the group structure. The only way to achieve the best possible speed is to use a method that respects the boundaries of the data groups, keeping the search localized. This insight redefines what it means to build a fast storage system: it is not about checking fewer slots, but about loading fewer groups.

The research also clarifies the limits of what is possible. It proves that if the storage is filled to a point where there are fewer empty slots than the size of the group, the computer cannot guarantee a fast search in the worst case. The system will inevitably have to load a number of groups that grows with the size of the storage. This threshold is not a matter of engineering skill or better hardware; it is a fundamental limit of the mathematics governing how data can be distributed. The study confirms that the only way to avoid this growth is to maintain a specific amount of empty space relative to the size of the data groups. This finding provides a clear rule for engineers: to keep systems fast, they must ensure that every group of data has room to breathe.

Through extensive simulations, the researchers validated these theoretical limits. They tested various methods of organizing data, measuring exactly how many groups were loaded during a search. The results matched the predictions perfectly. When the system was designed to keep at least one empty slot per group, the number of groups loaded remained constant, regardless of how many items were stored. When the system was pushed beyond this limit, the number of groups loaded increased rapidly. The simulations also confirmed that the asymmetric strategy, which favors certain groups, consistently outperformed the symmetric approach, which treats all groups equally. This difference was not a matter of a few percent; in the worst cases, the symmetric approach required significantly more group transfers, slowing down the system.

The study concludes by offering a new perspective on the design of computer memory. It suggests that the focus should shift from counting individual checks to counting the groups of data that must be loaded. This shift in perspective reveals that the most efficient systems are those that keep their searches local, avoiding the temptation to scatter checks across the array. The researchers provide a clear path forward for building faster, more efficient storage systems, grounded in a simple but powerful principle: the cost of a search is determined not by how many slots are checked, but by how many groups of data are loaded. This understanding allows for the design of systems that are not just theoretically sound, but practically optimal for the machines that run them.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →