Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1268256.1268264guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

General purpose operating system support for multiple page sizes

Published: 15 June 1998 Publication History

Abstract

Many commercial microprocessor architectures support translation lookaside buffer (TLB) entries with multiple page sizes. This support can be used to substantially reduce the overhead introduced by TLB misses incurred when the processor runs an application with a large working set. Applications are currently not able to take advantage of this hardware feature because most commercial operating systems support only one page size. In this paper we present a design that provides general purpose operating system support that allows applications to use multiple page sizes. The paper describes why providing this support is not as simple as it first seems. If not designed carefully, adding this support will require significant modifications and add a lot of overhead to the operating system. The paper shows how our approach simplifies the design without sacrificing functionality and performance. In addition, applications need not be modified to make use of this feature. The design has been implemented on IRIX 6.4 operating system running on the SGI Origin platform. We include some performance results at the end to show how our design allows applications to take advantage of large pages to gain performance improvements.

References

[1]
{BSD89} Samuel Leffler, Kirk McKusick, Michael Karels, John Quarterman, The Design and Implementation of the 4.3BSD Unix Operating System, Addison-Wesley, ISBN 0-201-06196-1, 1989.
[2]
{Cox94} Berny Goodheart, James Cox. The Magic Garden Explained: The Internals of Unix System V Release 4, Prentice Hall, ISBN: 0132075563, 1994.
[3]
{Denn70} Peter J. Denning. Virtual Memory, Computing Surveys, 2(3):153-189, September 1970.
[4]
{IRIX96} IRIX 6.4 man pages for dplace(1), dprof(1), pm(3), madvise(2), Silicon Graphics, 1996.
[5]
{Khal93} Yousef Khalidi, Madhusudhan Talluri, Michael N. Nelson, Dock Williams. Virtual memory support for multiple page sizes. In Proc. of the Fourth Workshop on Workstation Operating Systems, pages 104-109, October 1993.
[6]
{Marco96} Marco Zagha, Brond Larson, Steve Turner and Marty Itzkowitz. Performance Analysis Using the MIPS R10000 Performance Counters. In Proc. of Supercomputing '96, Nov '96.
[7]
{Mips94} Joe Heinrich. MIPS R10000 Microprocessor User's Manual, MIPS Technologies, Inc., 1994.
[8]
{PA-RISC} Ruby Lee and Jerry Huck, 64-bit and Multimedia Extensions in the PA-RISC 2.0 Architecture. On-line documentation. http://www.hp.com/wsg/strategies/pa2go3/ pa2go3.html.
[9]
{Romer95} Theodore H. Romer, Wayne H. Ohlrich, Anna R. Karlin and Brian N. Bershad. Reducing TLB and Memory overhead Using On-line Superpage Promotion. In Proc. of the 22nd Annual International Symposium on Computer Architecture, 1995.
[10]
{Schim94} Curt Schimmel, UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers, Addison-Wesley, ISBN 0-201-63338-8, 1994.
[11]
{Spec95} SPEC news letter. On-line documentation at http://www.spec.org/osg/news/articles/ news9509/cpu95descr.html, September, 1995.
[12]
{Sparc97} Ultrasparc II data sheet. On-line documentation at http://www.sun.com/microelectronics/datasheets/stp1031/.
[13]
{Tall94} Madhusudhan Talluri and Mark D. Hill. Surpassing the TLB Performance of Superpages with Less Operating System Support. In Proc. of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 171-182, October, 1994.
[14]
{Tall95} Madhusudhan Talluri, Mark D. Hill and Yousef A. Khalidi. A new page table for 64-bit address spaces. In Proc. of Symposium of Operating System Principles (SOSP), Dec 1995.

Cited By

View all
  • (2023)HugeGPT: Storing Guest Page Tables on Host Huge Pages to Accelerate Address TranslationProceedings of the 32nd International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT58117.2023.00014(62-73)Online publication date: 21-Oct-2023
  • (2021)CoPlace: Effectively Mitigating Cache Conflicts in Modern CloudsProceedings of the 30th International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT52795.2021.00027(274-288)Online publication date: 26-Sep-2021
  • (2021)Exploiting page table locality for agile TLB prefetchingProceedings of the 48th Annual International Symposium on Computer Architecture10.1109/ISCA52012.2021.00016(85-98)Online publication date: 14-Jun-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
ATEC '98: Proceedings of the annual conference on USENIX Annual Technical Conference
June 1998
476 pages

Publisher

USENIX Association

United States

Publication History

Published: 15 June 1998

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)HugeGPT: Storing Guest Page Tables on Host Huge Pages to Accelerate Address TranslationProceedings of the 32nd International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT58117.2023.00014(62-73)Online publication date: 21-Oct-2023
  • (2021)CoPlace: Effectively Mitigating Cache Conflicts in Modern CloudsProceedings of the 30th International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT52795.2021.00027(274-288)Online publication date: 26-Sep-2021
  • (2021)Exploiting page table locality for agile TLB prefetchingProceedings of the 48th Annual International Symposium on Computer Architecture10.1109/ISCA52012.2021.00016(85-98)Online publication date: 14-Jun-2021
  • (2020)Mitosis: Transparently Self-Replicating Page-Tables for Large-Memory MachinesProceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3373376.3378468(283-300)Online publication date: 9-Mar-2020
  • (2018)HUBProceedings of the International Symposium on Memory Systems10.1145/3240302.3240420(31-37)Online publication date: 1-Oct-2018
  • (2017)Do-It-Yourself Virtual Memory TranslationACM SIGARCH Computer Architecture News10.1145/3140659.308020945:2(457-468)Online publication date: 24-Jun-2017
  • (2017)CSALTProceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3123939.3124549(449-462)Online publication date: 14-Oct-2017
  • (2017)Do-It-Yourself Virtual Memory TranslationProceedings of the 44th Annual International Symposium on Computer Architecture10.1145/3079856.3080209(457-468)Online publication date: 24-Jun-2017
  • (2016)Agile pagingACM SIGARCH Computer Architecture News10.1145/3007787.300121244:3(707-718)Online publication date: 18-Jun-2016
  • (2016)Agile pagingProceedings of the 43rd International Symposium on Computer Architecture10.1109/ISCA.2016.67(707-718)Online publication date: 18-Jun-2016
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media