Tiled Virtual Memory for UNIX

نویسنده

  • James Franklin
چکیده

M.Ly computer applications require the manipulation of large data arrays. These applÍcations can behave b-adly under a paged virtual memory (vM) system, due to poor memory access _p¿tterns. One solution to this problem is tiling, a technique in which the arays 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 pioviAe 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 kemel software, this tiled VM has proven to be an efficient environment for manipulaiing 2-dimensional arrays of data In this paper we discuss the kemel 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 5Q-fold reduction in working set size for a common class of image processing algorithms.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Shared Page Table : Sharing of Virtual Memory Resources ∗

Traditionally, UNIX has been weak in data sharing. By data sharing, we mean that multiple cooperative processes concurrently access and update the same set of data. As the degree of sharing (the number of cooperative processes) increases, the existing UNIX virtual memory systems run into page table thrashing, which causes a major performance bottleneck. Once page table thrashing occurs, UNIX pe...

متن کامل

Design and Implementation of the Berkeley Virtual Memory Extensions to the UNIX† Operating System‡

This paper describes a modified version of the UNIX operating system that supports virtual memory through demand paging. The particular implementation being described here is specific to the VAX*-11/780 computer system although most of the design decisions have wider applicability. The modified system creates a large virtual address space for user programs while supporting the same user level i...

متن کامل

An implementation of an external pager interface on BSD UNIX

The benefits of virtual memory go without saying: almost every high-performance computer in existence today has one. The UNIX operating system traditionally provides a memory manager embedded within the kernel. This manager is dedicated to solving all virtual memory-related problems, such as page faults, main memory shortage, and so on. Because the clients of the memory manager include other co...

متن کامل

Virtual Hardware for Operating Systems

Developing an operating system on bare hardware is diicult due to an inhospitable development environment, long edit-compile-run-debug times, and the need for extra target hardware. This paper contributes general techniques for creating virtual hardware for operating systems development. The virtual machine is realized on top of UNIX and is a close approximation of real hardware, including inte...

متن کامل

malloc(3) Revisited

malloc (3) is one of the oldest parts of the C language environment and not surprisingly the world has changed a bit since it was first conceived. The fact that most UNIX kernels have changed from swap/segment to virtual memory/page based memory management has not been sufficiently reflected in the implementations of the malloc/free API. Anew implementation was designed, written, tested and ben...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992