Design tradeoffs for software-managed TLBs

An increasing number of architectures provide virtual memory support through software-managed TLBs. However, software management can impose considerable penalties that are highly dependent on the operating system's structure and its use of virtual memory. This work explores software-managed TLB design tradeoffs and their interaction with a range of monolithic and microkernel operating systems. Through hardware monitoring and simulation, we explore TLB performance for benchmarks running on a MIPS R2000-based workstation running Ultrix, OSF/1, and three versions of Mach 3.0.

[1]  John Wilkes,et al.  A comparison of Protection Lookaside Buffers and the PA-RISC protection architecture , 1992 .

[2]  Robert S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.

[3]  Douglas W. Clark,et al.  Performance of the VAX-11/780 translation buffer: simulation and measurement , 1985, TOCS.

[4]  William J. Bolosky,et al.  Mach: A New Kernel Foundation for UNIX Development , 1986, USENIX Summer.

[5]  Mahadev Satyanarayanan,et al.  Scalable, secure, and highly available distributed file access , 1990, Computer.

[6]  David L. Black,et al.  Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures , 1987, ASPLOS 1987.

[7]  Richard A. Volz,et al.  Toward real-time performance benchmarks for Ada , 1986, CACM.

[8]  Fred Douglis,et al.  Beating the I/O bottleneck: a case for log-structured file systems , 1989, OPSR.

[9]  David R. Cheriton The V Kernel: A Software Base for Distributed Systems , 1984, IEEE Software.

[10]  Michael J. Flynn,et al.  An area model for on-chip memories and its application , 1991 .

[11]  Michael D. Smith,et al.  Tracing with Pixie , 1991 .

[12]  John K. Ousterhout,et al.  Why Aren't Operating Systems Getting Faster As Fast as Hardware? , 1990, USENIX Summer.

[13]  James R. Larus,et al.  Abstract execution: A technique for efficiently tracing programs , 1990, Softw. Pract. Exp..

[14]  Faye Briggs,et al.  Translation buffer performance in a UNIX enviroment , 1985, CARN.

[15]  Samuel J. Leffler,et al.  A Fast File System for UNIX (Revised July 27, 1983) , 1983 .

[16]  Mark Horowitz,et al.  Cache performance of operating system and multiprogramming workloads , 1988, TOCS.

[17]  Brent B. Welch,et al.  The File System Belongs in the Kernel , 1991, USENIX MACH Symposium.

[18]  J. Bradley Chen,et al.  Software methods for system address tracing , 1993, Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III.

[19]  François Armand,et al.  Data Movement in Kernelized Systems , 1992, USENIX Workshop on Microkernels and Other Kernel Architectures.

[20]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[21]  Ketan Mayer-Patel,et al.  Performance of a software MPEG video decoder , 1993, MULTIMEDIA '93.

[22]  Milan Milenkovic Microprocessor memory management units , 1990, IEEE Micro.

[23]  Jerry Huck,et al.  Architectural support for translation table management in large address space machines , 1993, ISCA '93.

[24]  Brian N. Bershad,et al.  The interaction of architecture and operating system design , 1991, ASPLOS IV.

[25]  Mark D. Hill,et al.  Tradeoffs in supporting two page sizes , 1992, ISCA '92.

[26]  Trevor Mudge,et al.  Monster : a tool for analyzing the interaction between operating systems and computer architectures , 1992 .

[27]  Norman P. Jouppi,et al.  A simulation based study of TLB performance , 1992, ISCA '92.