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.
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- J. L. Henning. SPEC CPU2000: Measuring CPU performance in the new millennium. IEEE Computer, 33(7):28--35, July 2000. Google ScholarDigital Library
- Imagemagick. http://www.imagemagick.org.Google Scholar
- 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 ScholarDigital Library
- G. Kane and J. Heinrich. MIPS RISC Architecture. Prentice-Hall, Upper Saddle River, NJ, 1992. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- J. C. Mogul. Big memories on the desktop. In Proceedings of the Fourth IEEE Workshop on Workstation Operating Systems, Napa, CA, Oct. 1993.Google ScholarCross Ref
- J. L. Peterson and T. A. Norman. Buddy systems. Communications of the ACM, 20(6):421--431, June 1977. Google ScholarDigital Library
- J. Poskanzer. thttpd -- tiny/turbo/throttling HTTP server, http://www.acme.com/software/thttpd/.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- R. L. Sites and R. T. Witek. Alpha Architecture Reference Manual. Digital Press, Boston, MA, 1998. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Practical, transparent operating system support for superpages
Recommendations
Practical, transparent operating system support for superpages
OSDI '02: Proceedings of the 5th symposium on Operating systems design and implementation (Copyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading)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 ...
Surpassing the TLB performance of superpages with less operating system support
Many commercial microprocessor architectures have added translation lookaside buffer (TLB) support for superpages. Superpages differ from segments because their size must be a power of two multiple of the base page size and they must be aligned in both ...
Comments