1. Elastic Cuckoo Page Tables
- Author
-
Josep Torrellas, Dimitrios Skarlatos, Apostolos Kokolis, and Tianyin Xu
- Subjects
010302 applied physics ,Hardware_MEMORYSTRUCTURES ,biology ,Computer science ,02 engineering and technology ,Parallel computing ,biology.organism_classification ,01 natural sciences ,Bottleneck ,020202 computer hardware & architecture ,Set (abstract data type) ,Cuckoo hashing ,0103 physical sciences ,Virtual memory ,Memory-level parallelism ,0202 electrical engineering, electronic engineering, information engineering ,Overhead (computing) ,Page table ,Cuckoo - Abstract
The unprecedented growth in the memory needs of emerging memory-intensive workloads has made virtual memory translation a major performance bottleneck. To address this problem, this paper introduces Elastic Cuckoo Page Tables, a novel page table design that transforms the sequential pointer-chasing operation used by conventional multi-level radix page tables into fully-parallel look-ups. The resulting design harvests, for the first time, the benefits of memory level parallelism for address translation. Elastic cuckoo page tables use Elastic Cuckoo Hashing, a novel extension of cuckoo hashing that supports efficient page table resizing. Elastic cuckoo page tables efficiently resolve hash collisions, provide process-private page tables, support multiple page sizes and page sharing among processes, and dynamically adapt page table sizes to meet application requirements. We evaluate elastic cuckoo page tables with full-system simulations of an 8-core processor using a set of graph analytics, bioinformatics, HPC, and system workloads. Elastic cuckoo page tables reduce the address translation overhead by an average of 41% over conventional radix page tables. The result is a 3-18% speed-up in application execution.
- Published
- 2020
- Full Text
- View/download PDF