This is the post for the first ESESC public release. As usual with any academic research project, there are still more pending things to do, but I think that this version is stable and tested enough for being released.

As usual, this is provided with NO GUARANTEE of functionality. The license is BSD for the ESESC files. Where all the files should have a copyright notice like:

The ESESC/BSD License

Copyright (c) 2005-2013, Regents of the University of California and 
the ESESC Project.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

  - Redistributions of source code must retain the above copyright notice,
  this list of conditions and the following disclaimer.

  - Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution.

  - Neither the name of the University of California, Santa Cruz nor the
  names of its contributors may be used to endorse or promote products
  derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

The repository also includes (modified) code from McPat, Orion, CACTI, Wattch, Power Analyzer, QEMU, and some others. We kept all the license files from these codes.

Structure

In total there are over 1.7 Million equivalent lines of code (LoC). The 4 main directories are emul, simu, pwth, misc. The emul has all the emulation infrastructure (646 KLOC) with QEMU using over 506KLOC. The timing models are in simu (25KLOC), the power and thermal models are in pwth (92KLOC) but there are many redundant and not used power models. THe main model used is libpwrmode, libsesesctherm, and libmcpat. The libpeq may substitute libmcpat in the future, but it is still not ready. misc has miscellaneous support libraries needed to compile ESESC without needing complex Linux setup.

Instructions

To download ESESC, just type:

wget http://masc.soe.ucsc.edu/esesc/resources/esesc_v1_00.tar.bz2

A development version is also available on GitHub and can be accessed via

git clone https://github.com/masc-ucsc/esesc.git

Check other blog posts for compile and setup instructions.

In all the cases, remember to use this reference in your paper:

@INPROCEEDINGS{esesc,
author = {K. Ardestani, E. and Renau, J.},
title = { {ESESC: A Fast Multicore Simulator Using Time-Based Sampling} },
booktitle = {International Symposium on High Performance Computer Architecture},
series = {HPCA'19},
year = {2013}
}