Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

Tiled Virtual Memory for UNIX

James Franklin, Kodak Electronic Printing Systems

Many computer applications require the manipulation of large data arrays. These applications can behave badly under a paged virtual memory (vM) system, due to poor memory access patterns. One solution to this problem is tiling, a technique in which the arrays are partitioned into sub-arrays that map one-to-one with VM pages. Software implementations of tiling have been described in the literature, but none provide the speed and application transparency of a hardware solution.

We have implemented a hardware based, tiled VM within a version of the UNIX operating system. Based on a novel memory management unit and supporting kernel software, this tiled VM has proven to be an efficient environment for manipulating 2-dimensional arrays of data.

In this paper we discuss the kernel changes required to implement our tiled VM. We then compare tiled and paged versions of our VM system, and show that tiling results in a 50-fold reduction in working set size for a common class of image processing algorithms.

James Franklin, Kodak Electronic Printing Systems

BibTeX
@inproceedings {252416,
author = {James Franklin},
title = {Tiled Virtual Memory for {UNIX}},
booktitle = {USENIX Summer 1992 Technical Conference (USENIX Summer 1992 Technical Conference)},
year = {1992},
address = {San Antonio, TX},
url = {https://www.usenix.org/conference/usenix-summer-1992-technical-conference/tiled-virtual-memory-unix},
publisher = {USENIX Association},
month = jun
}
Download

Links

Paper: 
http://usenix.org/publications/library/proceedings/sa92/franklin.pdf
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us