• DocumentCode
    2579135
  • Title

    A small cache of large ranges: Hardware methods for efficiently searching, storing, and updating big dataflow tags

  • Author

    Tiwari, Mohit ; Agrawal, Banit ; Mysore, Shashidhar ; Valamehr, Jonathan ; Sherwood, Timothy

  • Author_Institution
    Dept. of Comput. Sci., Univ. of California, Santa Barbara, CA
  • fYear
    2008
  • fDate
    8-12 Nov. 2008
  • Firstpage
    94
  • Lastpage
    105
  • Abstract
    Dynamically tracking the flow of data within a microprocessor creates many new opportunities to detect and track malicious or erroneous behavior, but these schemes all rely on the ability to associate tags with all of virtual or physical memory. If one wishes to store large 32-bit tags, multiple tags per data element, or tags at the granularity of bytes rather than words, then directly storing one tag on chip to cover one byte or word (in a cache or otherwise) can be an expensive proposition. We show that dataflow tags in fact naturally exhibit a very high degree of spatial-value locality, an observation we can exploit by storing metadata on ranges of addresses (which cover a non-aligned contiguous span of memory) rather than on individual elements. In fact, a small 128 entry on-chip range cache (with area equivalent to 4 KB of SRAM) hits more than 98% of the time on average. The key to this approach is our proposed method by which ranges of tags are kept in cache in an optimally RLE-compressed form, queried at high speed, swapped in and out with secondary memory storage, and (most important for dataflow tracking) rapidly stitched together into the largest possible ranges as new tags are written on every store, all the while correctly handling the cases of unaligned and overlapping ranges. We examine the effectiveness of this approach by simulating its use in definedness tracking (covering both the stack and the heap), in tracking network-derived dataflow through a multi-language web application, and through a synthesizable prototype implementation.
  • Keywords
    data flow analysis; data handling; meta data; dataflow tags searching; dataflow tags storing; dataflow tags updating; multilanguage Web application; secondary memory storage; spatial-value locality; Cache storage; Computer science; Hardware; Microprocessors; Network synthesis; Pipelines; Random access memory; Security; System-on-a-chip; Virtual prototyping;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 2008. MICRO-41. 2008 41st IEEE/ACM International Symposium on
  • Conference_Location
    Lake Como
  • ISSN
    1072-4451
  • Print_ISBN
    978-1-4244-2836-6
  • Electronic_ISBN
    1072-4451
  • Type

    conf

  • DOI
    10.1109/MICRO.2008.4771782
  • Filename
    4771782