TY - GEN
T1 - Prospects for functional address translation
AU - Hetland, Conor
AU - Tziantzioulis, Georgios
AU - Suchy, Brian
AU - Hale, Kyle
AU - Hardavellas, Nikos
AU - Dinda, Peter
N1 - Funding Information:
This project is made possible by support from the United States National Science Foundation through grants CCF-1533560, CNS-1763743, CNS-1763612, and by equipment support from Intel Corporation.
Publisher Copyright:
© 2019 IEEE.
PY - 2019/10
Y1 - 2019/10
N2 - Address translation fundamentally embodies a translation function that maps from virtual to physical addresses. In current systems, the translation function is encoded by the kernel in an in-memory radix tree structure (the page table hierarchy) which is then interpreted by the hardware (the pagewalker, pagewalk-caches, and TLBs). We consider implementing the translation function itself as reconfigurable hardware-does this make any sense? To study this question, we collected numerous in-situ Linux page tables for a wide range of workloads, including those from HPC, to serve as example translation functions. We then prototyped several potential mechanisms to implement the translation function, including inverted page tables with function-specific perfect hashing, translation functions directly implemented using Espresso-minimized PLAs, translation functions genetically-evolved in a language suitable for FPGA-like synthesis, and translation functions based on recovered/manufactured region (segment/mmap) lookup using multiplexor trees. Each mechanism was then evaluated using the Linux page tables, primarily for space and lookup speed. We report our findings and try to address the question.
AB - Address translation fundamentally embodies a translation function that maps from virtual to physical addresses. In current systems, the translation function is encoded by the kernel in an in-memory radix tree structure (the page table hierarchy) which is then interpreted by the hardware (the pagewalker, pagewalk-caches, and TLBs). We consider implementing the translation function itself as reconfigurable hardware-does this make any sense? To study this question, we collected numerous in-situ Linux page tables for a wide range of workloads, including those from HPC, to serve as example translation functions. We then prototyped several potential mechanisms to implement the translation function, including inverted page tables with function-specific perfect hashing, translation functions directly implemented using Espresso-minimized PLAs, translation functions genetically-evolved in a language suitable for FPGA-like synthesis, and translation functions based on recovered/manufactured region (segment/mmap) lookup using multiplexor trees. Each mechanism was then evaluated using the Linux page tables, primarily for space and lookup speed. We report our findings and try to address the question.
KW - Address translation
KW - High performance computing
KW - Operating systems
KW - Paging
KW - Segmentation
UR - http://www.scopus.com/inward/record.url?scp=85077794378&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85077794378&partnerID=8YFLogxK
U2 - 10.1109/MASCOTS.2019.00047
DO - 10.1109/MASCOTS.2019.00047
M3 - Conference contribution
AN - SCOPUS:85077794378
T3 - Proceedings - IEEE Computer Society's Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, MASCOTS
SP - 370
EP - 383
BT - Proceedings - 2019 IEEE 27th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, MASCOTS 2019
PB - IEEE Computer Society
T2 - 27th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, MASCOTS 2019
Y2 - 22 October 2019 through 25 October 2019
ER -