HMTT: Hybrid Memory Trace Toolkit

Latest News

  • 2018-6-20: HMTT v4 is now stable. Spec CPU2017 SPECrate benchmarks are collected for future use.
  • 2018-2-12: HMTT v4 is out!
  • 2017-11-16: HMTT web site is rehosted and under reconstruction. See old
  • 2017-06-26: HMTT v4 is coming soon.
  • 2017-06-26: Website is under construction.
  • 2016-04-17: Updated to HMTT v3_4, now support DDR3 1333.

Introduction

HMTT (Hybrid Memory Trace Tool) adopts a DIMM-snooping mechanism to snoop on memory bus and a software-controlled tracing mechanism to inject semantic information into normal memory trace. To the best of our knowledge, the HMTT system is the first hardware tracing system capable of correlating memory trace with high-level events. Comprehensive validations and evaluations show that the HMTT system has both hardware’s (e.g., no distortion or pollution) and software’s advantages (e.g., flexibility and more information).

Since 2006, HMTT has envolved from DDR1 to DDR4 in more than 10 years. Current DDR4 version is in use.

HMTT is now maintained by system architecture Lab of ACS,ICT, which is led by professor Mingyu Chen. We are open for both industry and acdamic collaboration. In fact, many research groups had used the trace collected by HMTT.

Features

  • Supports DDR4 UDIMM/RDIMM memory on multiple platforms, e.g., Intel, AMD.
  • Be able to collecct full system off-chip memory traces with semantic information, including commercial applications
  • Better signal integrity to support higher memory frequency signal acquisition
  • Works at DDR4-1600 properly, partly supports  DDR4-1866
  • Supported memory size can be up to 1TB
  • Uses PCI-Express cable to transport trace data, the peak bandwidth can achieve 8Gbps
  • Uses 4-disk (up to 12-disk) hardware SSD RAID, providing at about 2000MB/s (up to 6000MB/s) IO write bandwidth and 4TB (up to 12TB) storage space for offline memory trace
  • Cooperating with binary instrument software toolkit, we can further track memory traces with high level events, such as buffer, object, function, lock.
  • Supports linux 3.10.93