Flexible Page-level Memory Access Monitoring Based on Virtualization Hardware

Research output: Chapter in Book/Report/Conference proceedingConference contribution

  • Authors:
  • Kai Lu
  • Wenzhe Zhang
  • Xiaoping Wang
  • Mikel Luján
  • Andy Nisbet

Abstract

Page protection is often used to achieve memory access monitoring in many applications, dealing with program-analysis, checkpoint-based failure recovery, and garbage collection in managed runtime systems. Typically, low overhead access monitoring is limited by the relatively large page-level granularity of memory management unit hardware support for virtual memory protection. In this paper, we improve upon traditional page-level mechanisms by additionally using hardware support for virtualization in order to achieve fine and flexible granularities that can be smaller than a page. We first introduce a memory allocator based on page protection that can achieve fine-grained monitoring. Second, we explain how virtualization hardware support can be used to achieve dynamic adjustment of the monitoring granularity. In all, we propose a process-level virtual machine to achieve dynamic and fine-grained monitoring. Any application can run on our process-level virtual machine without modification. Experimental results for an incremental checkpoint tool provide a use-case to demonstrate our work. Comparing with traditional page-based checkpoint, our work can effectively reduce the amount of checkpoint data and improve performance.

Bibliographical metadata

Original languageEnglish
Title of host publicationProceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
Place of PublicationNew York, NY, USA
PublisherAssociation for Computing Machinery
Pages201-213
Number of pages13
ISBN (Print)978-1-4503-4948-2
DOIs
StatePublished - 9 Apr 2017

Publication series

NameVEE '17
PublisherACM