Memory system graphic

University of Maryland
Memory-Systems Research: Computational Artifacts

Bruce Jacob - email address -

Site Index

Brought to you by The Memory-Systems Research Consortium

Computational Artifacts

Our research group has developed and released two simulation frameworks, one of which has become very widely used (see for our public-domain DRAM-system simulator, now used within Intel, IBM, Cray, and numerous academic research groups; our SimBed embedded-system simulator is used by other groups within Maryland). Several other tools are in development and will be made publicly available soon; for example we re-built CACTI (see our 2006 ISLPED paper for details), the most widely used SRAM-design tool in the field but in dire need of update. In addition, we developed a full-system simulator that boots Linux and performs a full performance and power characterization of the entire memory system from cache to DRAM to disk, capturing all application and operating system activity. We have built one of the fastest cache-simulation tools in the world, which measures cache activity out into the tens of billions of instructions. And we have built a simulation framework for modeling power and heat in highly integrated systems on chip.

The following artifacts are described herein:

DRAMsim: A memory-system simulator

As memory accesses become slower with respect to the processor and consume more power with increasing memory size, the focus of memory performance and power consumption has become increasingly important. With the trend to develop multi-threaded, multi-core processors, the demands on the memory system will continue to scale. However, determining the optimal memory system configuration is non-trivial. The memory system performance is sensitive to a large number of parameters. Each of these parameters take on a number of values and interact in fashions that make overall trends difficult to discern. A comparison of the memory system architectures becomes even harder when we add the dimensions of power consumption and manufacturing cost. Unfortunately, there is a lack of tools in the public-domain that support such studies. Therefore, we have built and made publicly available DRAMsim, a detailed and highly configurable C-based memory system simulator to fill this gap. DRAMsim implements detailed timing models for a variety of existing memories, including SDRAM, DDR, DDR2, DRDRAM and FB-DIMM,with the capability to vary their parameters easily. It also models the power consumption of SDRAM and its derivatives. It can be used as a stand-alone simulator or as part of a more comprehensive system-level model. We have successfully integrated DRAMsim into a variety of simulators including MASE, Sim-alpha, BOCHS, and GEMS. The simulator can be downloaded from, and it is described in the following article:

SimBed: A test-bed for embedded systems

SimBed is an execution-driven simulation testbed that measures the execution behavior and power dissipation of embedded applications and RTOSs by executing them on an accurate architectural model of a microcontroller with simulated real-time stimuli. It is presented here:
In these articles, we describe the simulation environment and present a study that compares three RTOSs: uC/OS-II, a popular public-domain embedded real-time operating system; Echidna, a sophisticated, industrial-strength (commercial) RTOS; and NOS, a bare-bones multi-rate task scheduler reminiscent of typical "roll-your-own" RTOSs found in many commercial embedded systems. The microcontroller simulated in this study is the Motorola M-CORE processor: a low-power, 32-bit CPU core with 16-bit instructions, running at 20MHz.

Artifacts developed and planned for public release

Several tools have been developed as part of student theses, and we are in the process of releasing them to the public.

vCACTI (pronounced "nu-CACTI") is an update to CACTI that provides a significant increase in accuracy in terms of power dissipation and circuit delay. The tool is described in Sam Rodriguez's Ph.D. thesis:

SYSim is a full-system execution-based simulator that combines Bochs, Wattch, CACTI, DRAMsim, and DiskSim. It boots the RedHat Linux 6.0 kernel, which enables us to capture all application behavior and all operating-system behavior including I/O activity, disk-block buffering, system-call overhead, and virtual memory overhead such as translation, table walking, and page swapping. The tool is described in Nuengwong Tuaycharoen's Ph.D. thesis:

EmPower emulates the performance, power dissipation, and thermal behavior of full SoCs, including heterogenerous technologies such as analog and/or MEMS components. The accuracy is high, and the imulation peed is in the range of MIPS, which enables early characterization of a full system. The tool is described in Ankush Varma's papers and Ph.D. thesis:

These tools have not been released into the public domain yet, but we intend to do just that. We expect that, in general, our computational artifacts will have more impact on the community than the rest of our work---such tends to be the nature of simulators and the like.

Interested? Talk to us.

Contact Information

Prof. Bruce Jacob - email address -

Traditional correspondence can be sent to

Prof. Bruce Jacob
Dept. of Electrical & Computer Engineering
University of Maryland
College Park, MD 20742

Last updated: recently by Bruce Jacob (email address) using the vi text editor ... best viewed in Safari