Skip to main navigation Skip to search Skip to main content

CoPTA: Contiguous Pattern Speculating TLB Architecture

  • Yichen Yang
  • , Haojie Ye
  • , Yuhan Chen
  • , Xueyang Liu
  • , Nishil Talati
  • , Xin He
  • , Trevor Mudge
  • , Ronald Dreslinski

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

With the growing size of real-world datasets running on CPUs, address translation has become a significant performance bottleneck. To translate virtual addresses into physical addresses, modern operating systems perform several levels of page table walks (PTWs) in memory. Translation look-aside buffers (TLBs) are used as caches to keep recently used translation information. However, as datasets increase in size, both the TLB miss rate and the overhead of PTWs worsen, causing severe performance bottlenecks. Using a diverse set of workloads, we show the PTW overhead consumes an average of 20% application execution time. In this paper, we propose CoPTA, a technique to speculate the memory address translation upon a TLB miss to hide the PTW latency. Specifically, we show that the operating system has a tendency to map contiguous virtual memory pages to contiguous physical pages. Using a real machine, we show that the Linux kernel can automatically defragment physical memory and create larger chunks for contiguous mapping, particularly when transparent huge page support is enabled. Based on this observation, we devise a speculation mechanism that finds nearby entries present in the TLB upon a miss and predicts the address translation of the missed address assuming contiguous address allocation. This allows CoPTAto speculatively execute instructions without waiting for the PTW to complete. We run the PTW in parallel, compare the speculated and the translated physical addresses, and flush the pipeline upon a wrong speculation with similar techniques used for handling branch mispredictions. We comprehensively evaluate our proposal using benchmarks from three suites: SPEC CPU 2006 for server-grade applications, GraphBIG for graph applications, and the NAS benchmark suite for scientific applications. Using a trace-based simulation, we show an average address prediction accuracy of 82% across these workloads resulting in a 16% performance improvement.

Original languageEnglish (US)
Title of host publicationEmbedded Computer Systems
Subtitle of host publicationArchitectures, Modeling, and Simulation - 20th International Conference, SAMOS 2020, Proceedings
EditorsAlex Orailoglu, Matthias Jung, Marc Reichenbach
PublisherSpringer
Pages67-83
Number of pages17
ISBN (Print)9783030609382
DOIs
StatePublished - 2020
Externally publishedYes
Event20th International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation, SAMOS 2020 - Samos, Greece
Duration: Jul 5 2020Jul 9 2020

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume12471 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference20th International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation, SAMOS 2020
Country/TerritoryGreece
CitySamos
Period7/5/207/9/20

Keywords

  • Page table walk
  • Speculative execution
  • TLB
  • Virtual memory

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'CoPTA: Contiguous Pattern Speculating TLB Architecture'. Together they form a unique fingerprint.

Cite this