Skip to main content

Transparent large-page support for Itanium Linux

Authors

Ian Wienand

School of Computer Science and Engineering
UNSW
Sydney
Australia

Abstract

The abstraction provided by virtual memory is central to the operation of modern operating systems. Making the most efficient use of the available translation hardware is critical to achieving high performance. The multiple page-size support provided by almost all architectures promises considerable benefits but poses a number of implementation challenges.

This thesis presents a minimally-invasive approach to transparent multiple page-size support for Itanium Linux. In particular, it examines the interaction between supporting large pages and Itanium's two inbuilt hardware page-table walkers; one being a virtual linear page-table with limited support for storing different page-size translations and the other a more flexible but higher overhead hash table based translation cache.

Compared to a single-page-size kernel, a range of benchmarks show performance improvements when multiple page-sizes are available, generally large working sets that stress the TLB. However, other benchmarks are negatively impacted. Analysis shows that the increased TLB coverage, resulting from the use of large pages, frequently does not reduce TLB miss rates sufficiently to make up for the increased cost of TLB reloads. These results, which are specific to the Itanium architecture, suggest that large-page support for Itanium Linux is best enabled selectively with insight into application behaviour.

BibTeX Entry

  @mastersthesis{Wienand:me,
    author           = {Ian Wienand},
    month            = jul,
    year             = {2008},
    title            = {Transparent Large-Page Support for {Itanium} {Linux}},
    address          = {Sydney, Australia},
    school           = {UNSW}
  }

Download

Served by Apache on Linux on seL4.