Files in this item



application/pdfUFO A General-P ... ue for Application Use.pdf (318kB)
(no description provided)PDF


Title:UFO: A General-Purpose User-Mode Memory Protection Technique for Application Use
Author(s):Neelakantam, Naveen; Zilles, Craig
Subject(s):computer science
Abstract:In this paper, we advocate for a general-purpose, fine-grain memory protection mechanism for use by applications and software development tools. The hardware component of this mechanism consists of two bits (fault-on-read and fault-on-write) that are associated with each cache block and transferred with the block by the cache coherence system. When an access is performed that violates the protection on the block, a user handler is called, which can perform an arbitrary software-defined action. We describe a complete implementation that handles real world issues like protecting arbitrarily large regions, context switches, swapping, and multiprocessing. We demonstrate three examples of this mechanism in applications: 1) to detect self-modifying code (SMC) in a dynamic translator, 2) to detect common memory-related software bugs, and 3) to guard mostly-invariant heap variables in order to enable speculative optimizations. Because checking for conflicts does not directly impact performance, we find our mechanism has run-time overhead that is either negligible or at least comparable to special-purpose hardware for the same application. Furthermore, by virtue of providing a software interface to use the fine-grain protection mechanism, we can support multiple uses of the protection mechanism within the same application, enabling arbitrary composition of tools and libraries which use it.
Issue Date:2007-01
Genre:Technical Report
Other Identifier(s):UIUCDCS-R-2007-2808
Rights Information:You are granted permission for the non-commercial reproduction, distribution, display, and performance of this technical report in any format, BUT this permission is only for a period of 45 (forty-five) days from the most recent time that you verified that this technical report is still available from the University of Illinois at Urbana-Champaign Computer Science Department under terms that include this permission. All other rights are reserved by the author(s).
Date Available in IDEALS:2009-04-21

This item appears in the following Collection(s)

Item Statistics