Abstract
Logic in Memory Emulator (LiME) is a hardware/software tool specially designed for memory system evaluation and experiment. Emerging memories display a wide range of bandwidths, latencies, and capacities, making it challenging for the computer architect to navigate the design space of potential memory configurations, and for the application developer to assess performance implications of using such memories. With the LiME framework, architectural ideas can be prototyped in great detail yet with sufficient performance to support realistic evaluation on long running applications. LiME consists of two fundamental components: 1) the hardware and OS infrastructure for the emulator, and 2) a suite of benchmark applications to assist in characterizing the performance of current and future computer architectures. Some of the applications have been collected from other open source projects.
Uses:
Logging, replay and analysis of an application's memory behavior Evaluate impact of emerging memory technology on application performance. Emulate complex memory interactions in whole applications orders of magnitude faster than software
simulation. Emulate acceleration hardware co-located with the memory subsystem.
Features:
Capture and log external memory accesses to a separate off-chip memory device without affecting application execution.
Memory traces include the address, length, timestamp, and optionally the data for each transaction. Captured trace data can be saved to
More>>
- Developers:
-
Jain, Abhishek [1] ; Macaraeg, Christopher [1] ; Gokhale, Maya [1] ; Lloyd, G. [1] ; Pearce, Roger [1] ; Ho, Nelson [1] ; Landgraf, Joshua [1] ; Green, Eric [1]
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Release Date:
- 2020-04-29
- Project Type:
- Open Source, Publicly Available Repository
- Software Type:
- Scientific
- Version:
- 2.2
- Licenses:
-
BSD 3-clause "New" or "Revised" License
- Sponsoring Org.:
-
USDOE National Nuclear Security Administration (NNSA)Primary Award/Contract Number:AC52-07NA27344
- Code ID:
- 40234
- Site Accession Number:
- LLNL-CODE-811079
- Research Org.:
- Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
- Country of Origin:
- United States
Citation Formats
Jain, Abhishek K., Macaraeg, Christopher C., Gokhale, Maya B., Lloyd, G. S., Pearce, Roger A., Ho, Nelson, Landgraf, Joshua J., and Green, Eric W.
Logic in Memory Emulator.
Computer Software.
https://github.com/LLNL/lime.git.
USDOE National Nuclear Security Administration (NNSA).
29 Apr. 2020.
Web.
doi:10.11578/dc.20200728.1.
Jain, Abhishek K., Macaraeg, Christopher C., Gokhale, Maya B., Lloyd, G. S., Pearce, Roger A., Ho, Nelson, Landgraf, Joshua J., & Green, Eric W.
(2020, April 29).
Logic in Memory Emulator.
[Computer software].
https://github.com/LLNL/lime.git.
https://doi.org/10.11578/dc.20200728.1.
Jain, Abhishek K., Macaraeg, Christopher C., Gokhale, Maya B., Lloyd, G. S., Pearce, Roger A., Ho, Nelson, Landgraf, Joshua J., and Green, Eric W.
"Logic in Memory Emulator." Computer software.
April 29, 2020.
https://github.com/LLNL/lime.git.
https://doi.org/10.11578/dc.20200728.1.
@misc{
doecode_40234,
title = {Logic in Memory Emulator},
author = {Jain, Abhishek K. and Macaraeg, Christopher C. and Gokhale, Maya B. and Lloyd, G. S. and Pearce, Roger A. and Ho, Nelson and Landgraf, Joshua J. and Green, Eric W.},
abstractNote = {Logic in Memory Emulator (LiME) is a hardware/software tool specially designed for memory system evaluation and experiment. Emerging memories display a wide range of bandwidths, latencies, and capacities, making it challenging for the computer architect to navigate the design space of potential memory configurations, and for the application developer to assess performance implications of using such memories. With the LiME framework, architectural ideas can be prototyped in great detail yet with sufficient performance to support realistic evaluation on long running applications. LiME consists of two fundamental components: 1) the hardware and OS infrastructure for the emulator, and 2) a suite of benchmark applications to assist in characterizing the performance of current and future computer architectures. Some of the applications have been collected from other open source projects.
Uses:
Logging, replay and analysis of an application's memory behavior Evaluate impact of emerging memory technology on application performance. Emulate complex memory interactions in whole applications orders of magnitude faster than software
simulation. Emulate acceleration hardware co-located with the memory subsystem.
Features:
Capture and log external memory accesses to a separate off-chip memory device without affecting application execution.
Memory traces include the address, length, timestamp, and optionally the data for each transaction. Captured trace data can be saved to an SD card for off-line analysis.
Configure a wide range of memory latencies in sub-nanosecond increments that encompass highbandwidth and storage class memories.
Specify regions of interest (ROI) in applications to reduce the amount of trace data captured for analysis. Currently supports execution on Xilinx Zynq SoC which integrates an ARM processor with FPGA logic on a single device.
Applications can be run under Linux or in bare metal mode on the ARM cores.},
doi = {10.11578/dc.20200728.1},
url = {https://doi.org/10.11578/dc.20200728.1},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20200728.1}},
year = {2020},
month = {apr}
}