Check out the new USENIX Web site. next up previous
Next: Address Mapping Up: Granularity Choices for Persistence Previous: Granularity Choices for Persistence

Address Translation

The granularity of address translation is the smallest unit of storage within which all pointers are translated from persistent (long) format to virtual memory (short) format. In general, the spectrum of possible values can range from a single pointer to an entire page or more.

The granularity of address translation in Texas is typically a virtual memory page, for coarse-grained translation implemented via pointer swizzling at page fault time. The use of virtual memory pages has several advantages in terms of overall efficiency because we use virtual memory hardware to check residency of the referents. In addition, we also rely on the application's spatial locality of reference to amortize the costs of protection faults and swizzling entire pages.

As described in Section 5, it is possible to implement a fine-grained address translation mechanism for special situations where the coarse-grained approaches are unsuitable, because of poor locality of reference in the application. Since Texas allows fine-grained translation on individual pointers, the granularity of address translation in those cases would be a single pointer.


next up previous
Next: Address Mapping Up: Granularity Choices for Persistence Previous: Granularity Choices for Persistence

Sheetal V. Kakkad