Sie befinden Sich nicht im Netzwerk der Universität Paderborn. Der Zugriff auf elektronische Ressourcen ist gegebenenfalls nur via VPN oder Shibboleth (DFN-AAI) möglich. mehr Informationen...
ACM transactions on architecture and code optimization, 2023-09, Vol.20 (3), p.1-25
2023
Volltextzugriff (PDF)

Details

Autor(en) / Beteiligte
Titel
The Impact of Page Size and Microarchitecture on Instruction Address Translation Overhead
Ist Teil von
  • ACM transactions on architecture and code optimization, 2023-09, Vol.20 (3), p.1-25
Ort / Verlag
New York, NY: ACM
Erscheinungsjahr
2023
Quelle
ACM Digital Library
Beschreibungen/Notizen
  • As the volume of data processed by applications has increased, considerable attention has been paid to data address translation overheads, leading to the widespread use of larger page sizes (“superpages”) and multi-level translation lookaside buffers (TLBs). However, far less attention has been paid to instruction address translation and its relation to TLB and pipeline structure. In prior work, we quantified the impact of using code superpages on a variety of widely used applications, ranging from compilers to web user-interface frameworks, and the impact of sharing page table pages for executables and shared libraries. Within this paper, we augment those results by first uncovering the effects that microarchitectural differences between Intel Skylake and AMD Zen+, particularly, their different TLB organizations, have on instruction address translation overhead. This analysis provides some key insights into the microarchitectural design decisions that impact the cost of instruction address translation. First, a lower-level (L2) TLB that has both instruction and data mappings competing for space within the same structure allows better overall performance and utilization when using code superpages. Code superpages not only reduce instruction address translation overhead, but also indirectly reduce data address translation overhead. In fact, for a few applications, the use of just a few code superpages has a larger impact on overall performance than the use of a much larger number of data superpages. Second, a level 1 (L1) TLB with separate structures for different page sizes may require careful tuning of the superpage promotion policy for code, and a correspondingly suboptimal utilization of the L2 TLB. In particular, increasing the number of superpages when the size of the L1 superpage structure is small, may result in more L1 TLB misses for some applications. Moreover, on some microarchitectures, the cost of these misses can be highly variable, because replacement is delayed until all of the in-flight instructions mapped by the victim entry are retired. Hence, more superpage promotions can result in a performance regression. Finally, our findings also make a case for first-class OS support for superpages on ordinary files containing executables and shared libraries, as well as a more aggressive superpage policy for code.

Weiterführende Literatur

Empfehlungen zum selben Thema automatisch vorgeschlagen von bX