Tutorial Goals

The full day tutorial held on December 7th at MICRO 2013 will cover an introduction of the main ESESC components. It is designed for PhD students and industry researchers to get a fast introduction to ESESC and show some sample projects and advanced features.

What is ESESC?

ESESC is a fast multiprocessor simulator with detailed power, thermal, and performance models for modern out-of-order multicores. ESESC is an evolution of the popular SESC simulator (Enhanced SESC) that provides many new features.

The main ESESC characteristics are the following:

  • It is very fast (over 20MIPS with sampling)

  • Uses QEMU and supports user mode ARM ISA

  • Models OoO and InOrder cores in detail (ROB, Instruction Window, etc)

  • Supports configurable memory hierarchy, and on-chip memory controller

  • Supports multicore, homogeneous and heterogeneous configurations

  • Simulates multithreaded and multiprogram applications

  • Models power and temperature in addition to performance, and their interactions

ESESC is a significant evolution/improvement over SESC:

  • ESESC has ARM ISA, sesc had MIPS ISA.

  • ESESC can run unmodified Linux ARM binaries, MIPS required a custom toolchain.

  • ESESC uses QEMU for emulation, sesc had a custom emulator.

  • ESESC is integrated with McPat, sesc had an older Wattch model.

  • ESESC has a brand new memory hierarchy, sesc had a more complex coherence.

  • ESESC has improved thermal modeling, sesc had HotSpot

  • ESESC has many types of sampling (statistical, smarts, simpoint), sesc had none.

  • ESESC is actively maintained, sesc is no longer mantained.

  • ESESC has many bugs solved.

Tutorial Program (slides and demo instructions)

The schedule for the tutorial is listed below:

  • 08:00 - 09:00: Breakfast

  • 09:00 - 09:30: Overview

  • 09:30 - 10:30: Code Structure and Tools

  • 10:30 - 11:00: Morning Break

  • 11:00 - 12:00: Timing Model

  • 12:00 - 12:30: Sampling Methods Part 1

  • 12:30 - 13:30: Lunch

  • 13:30 - 14:15: Sampling Methods Part 2

  • 14:15 - 15:00: Power Model

  • 15:00 - 15:30: Afternoon Break

  • 15:30 - 16:30: Thermal Model

  • 16:30 - 17:00: Wrap-up