skip to main content
article

Practical, transparent operating system support for superpages

Published:31 December 2002Publication History
Skip Abstract Section

Abstract

Most general-purpose processors provide support for memory pages of large sizes, called superpages. Superpages enable each entry in the translation lookaside buffer (TLB) to map a large physical memory region into a virtual address space. This dramatically increases TLB coverage, reduces TLB misses, and promises performance improvements for many applications. However, supporting superpages poses several challenges to the operating system, in terms of superpage allocation and promotion tradeoffs, fragmentation control, etc. We analyze these issues, and propose the design of an effective superpage management system. We implement it in FreeBSD on the Alpha CPU, and evaluate it on real workloads and benchmarks. We obtain substantial performance benefits, often exceeding 30%; these benefits are sustained even under stressful workload scenarios.

References

  1. D. Bailey, T. Harris, W. Saphir, R. van der Wijngaart, A. Woo, and M. Yarrow. The NAS Parallel Benchmarks 2.0. Report NAS-95-020, NASA Ames Research Center, Moffett Field, CA, 1995.Google ScholarGoogle Scholar
  2. D. W. Clark and J. S. Emer. Performance of the VAX-11/780 translation buffer: Simulation and measurement. ACM Transactions Computer Systems, 3(1):31--62, Feb. 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Z. Fang, L. Zhang, J. Carter, S. McKee, and W. Hsieh. Reevaluating online superpage promotion with hardware support. In Proceedings of the 7th International IEEE Symposium on High Performance Computer Architecture, Monterrey, Mexico, Jan. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. FIPS 180-1. Secure Hash Standard. Technical Report Publication 180-1, Federal Information Processing Standard (FIPS), National Institute of Standards and Technology, US Department of Commerce, Washington D.C., Apr. 1995.Google ScholarGoogle Scholar
  5. M. Frigo and S. G. Johnson. FFTW: An adaptive software architecture for the FFT. In Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, volume 3, Seattle, WA, May 1998.Google ScholarGoogle ScholarCross RefCross Ref
  6. N. Ganapathy and C. Schimmel. General purpose operating system support for multiple page sizes. In Proceedings of the USENIX 1998 Annual Technical Conference, Berkeley, CA, June 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. L. Henning. SPEC CPU2000: Measuring CPU performance in the new millennium. IEEE Computer, 33(7):28--35, July 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Imagemagick. http://www.imagemagick.org.Google ScholarGoogle Scholar
  9. G. B. Kandiraju and A. Sivasubramaniam. Characterizing the d-TLB behavior of SPEC CPU2000 benchmarks. In Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, Marina del Rey, CA, June 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. G. Kane and J. Heinrich. MIPS RISC Architecture. Prentice-Hall, Upper Saddle River, NJ, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. E. Kessler and M. D. Hill. Page placement algorithms for large real-indexed caches. ACM Transactions on Computer Systems, 10(4):338--359, Apr. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Y. A. Khalidi, M. Talluri, M. N. Nelson, and D. Williams. Virtual memory support for multiple page sizes. In Proceedings of the Fourth IEEE Workshop on Workstation Operating Systems, Napa, CA, Oct. 1993.Google ScholarGoogle ScholarCross RefCross Ref
  13. J. C. Mogul. Big memories on the desktop. In Proceedings of the Fourth IEEE Workshop on Workstation Operating Systems, Napa, CA, Oct. 1993.Google ScholarGoogle ScholarCross RefCross Ref
  14. J. L. Peterson and T. A. Norman. Buddy systems. Communications of the ACM, 20(6):421--431, June 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Poskanzer. thttpd -- tiny/turbo/throttling HTTP server, http://www.acme.com/software/thttpd/.Google ScholarGoogle Scholar
  16. T. H. Romer, W. H. Ohlrich, A. R. Karlin, and B. Bershad. Reducing TLB and memory overhead using online superpage promotion. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, Santa Margherita, Italy, June 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Rosenblum, E. Bugnion, S. A. Herrod, E. Witchel, and A. Gupta. The impact of architectural trends on operating system performance. In Proceedings of the 15th Symposium on Operating Systems Principles, Copper Mountain, CO, Dec. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. L. Sites and R. T. Witek. Alpha Architecture Reference Manual. Digital Press, Boston, MA, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. I. Subramanian, C. Mather, K. Peterson, and B. Raghunath. Implementation of multiple pagesize support in HP-UX. In Proceedings of the USENIX 1998 Annual Technical Conference, Berkeley, CA, June 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Talluri and M. D. Hill. Surpassing the TLB performance of superpages with less operating system support. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, San Jose, CA, Oct. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Talluri, M. D. Hill, and Y. A. Khalidi. A new page table for 64-bit address spaces. In Proceedings of the 15th Symposium on Operating Systems Principles, Copper Mountain, CO, Dec. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. Talluri, S. Kong, M. D. Hill, and D. A. Patterson. Tradeoffs in supporting two page sizes. In Proceedings the 19th Annual International Symposium on Computer Architecture, Gold Coast, Australia, May 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. R. Uhlig, D. Nagle, T. Stanley, T. Mudge, S. Sechrest, and R. Brown. Design tradeoffs for software-managed TLBs. ACM Transactions on Computer Systems, 12(3): 175--205, Aug. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. A. Wood, S. J. Eggers, G. Gibson, M. D. Hill, J. M. Pendleton, S. A. Ritchie, G. Taylor, R. H. Katz, and D. A. Patterson. An in-cache address translation mechanism. In Proceedings of the 13th Annual International Symposium on Computer Architecture, Tokyo, Japan, 1986. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Practical, transparent operating system support for superpages

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGOPS Operating Systems Review
      ACM SIGOPS Operating Systems Review  Volume 36, Issue SI
      OSDI '02: Proceedings of the 5th Symposium on Operating Systems Design and Implementation
      Winter 2002
      398 pages
      ISSN:0163-5980
      DOI:10.1145/844128
      Issue’s Table of Contents

      Copyright © 2002 Copyright is held by the owner/author(s)

      Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 31 December 2002

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader