Affiliation:
1. Chinese Academy of Sciences, Beijing, China
Abstract
Memory trace analysis is an important technology for architecture research, system software (i.e., OS, compiler) optimization, and application performance improvements. Many approaches have been used to track memory trace, such as simulation, binary instrumentation and hardware snooping. However, they usually have limitations of time, accuracy and capacity.
In this paper we propose a platform independent memory trace monitoring system, which is able to track virtual memory reference trace of full systems (including OS, VMMs, libraries, and applications). The system adopts a DIMM-snooping mechanism that uses hardware boards plugged in DIMM slots to snoop. There are several advantages in this approach, such as fast, complete, undistorted, and portable. Three key techniques are proposed to address the system design challenges with this mechanism: (1) To keep up with memory speeds, the DDR protocol state machine is simplified, and large FIFOs are added between the state machine and the trace transmitting logic to handle burst memory accesses; (2) To reconstruct physical-tovirtual mapping and distinguish one process' address space from others, an OS kernel module, which collects page table information, and a synchronization mechanism, which synchronizes the page table information with the memory race, are developed; (3) To dump massive trace data, we employ a straightforward method to compress the trace and use Gigabit Ethernet and RAID to send and receive the compressed trace.
We present our implementation of an initial monitoring system, named HMTT (Hyper Memory Trace Tracker). Using HMTT, we have observed that burst bandwidth utilization is much larger than average bandwidth utilization, by up to 5X in desktop applications. We have also confirmed that the stream memory accesses of many applications contribute even more than 40% of L2 Cache misses and OS virtual memory management may decrease stream accesses in view of memory controller (or L2 Cache), by up to 30.2%. Moreover, we have evaluated OS impact on memory performance in real systems. The evaluations and case studies show the feasibility and effectiveness of our proposed monitoring mechanism and techniques.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Networks and Communications,Hardware and Architecture,Software
Reference52 articles.
1. DyninstAPI. http://www.dyninst.org/. DyninstAPI. http://www.dyninst.org/.
2. Linux Trace Toolkit Next Generation. http://ltt.polymtl.ca/. Linux Trace Toolkit Next Generation. http://ltt.polymtl.ca/.
3. M5. http://m5.eecs.umich.edu/. M5. http://m5.eecs.umich.edu/.
Cited by
13 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A shared libraries aware and bank partitioning-based mechanism for multicore architecture;Soft Computing;2023-04-24
2. Split'n Trace NVM: Leveraging Library OSes for Semantic Memory Tracing;2020 9th Non-Volatile Memory Systems and Applications Symposium (NVMSA);2020-08
3. HMFS: A hybrid in-memory file system with version consistency;Journal of Parallel and Distributed Computing;2018-07
4. PTAT;ACM Transactions on Embedded Computing Systems;2018-05-31
5. A New Method of Live Tracking of Process Memory;Proceedings of the 2nd International Conference on Cryptography, Security and Privacy;2018-03-16