27
Department of Computer Engineering, University of California, Santa Cruz http:// masc.soe.ucsc.edu Speaker: Overview ESESC Tutorial Jose Renau

Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Department of Computer Engineering, University of California, Santa Cruz

http://masc.soe.ucsc.edu

Speaker:

OverviewESESC Tutorial

Jose Renau

Page 2: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Tutorial Logistics

08:00 - 08:30: Breakfast08:30 - 09:00: Overview09:00 - 09:30: Building and Running09:30 - 10:00: Validation10:00 - 10:30: Morning Break10:30 - 11:30: Memory Hierarchy and Cache Coherence11:30 - 12:00: Power12:00 - 13:00: Lunch13:00 - 14:00: GPU14:00 - 15:00: Sampling15:00 - 15:30: Afternoon Break15:30 - 16:00: Thermal Model16:00 - 17:00: Recent Projects and Wrap-up

2

Page 3: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

ESESC Logistics

• ESESC blog has these slideshttp://masc.soe.ucsc.edu/esesc

• ESESC forumhttps://groups.google.com/forum/#!forum/esesc

• ESESC repository at githubhttps://github.com/masc-ucsc/esesc

• To get the codegit clone https://github.com/masc-ucsc/esesc.git

3

Page 4: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

What is ESESC?

•FAST cycle accurate chip multiprocessor

• In-order and out-of-order processors

•GPUs (beta)

•Performance/Power/Thermal models

4

Page 5: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

ESESC = Enhanced SESC

•Same goals as SESC• Fast cycle-accurate simulator• Easy to understand and extend• Multiple configurations available

•Many enhancements…

5

Page 6: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Execution-Driven Simulation

Timing Engine

Emulation Engine

QEMUCycle

AccurateModel

PowerModel

ThermalModel

6

Page 7: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

ESESC Enhancements

•Runs unmodified ARM binaries•Statistical sampling•New memory hierarchy design• Integrated thermal model•McPAT power model•Heterogeneous models

• In-order, Out-of-order, GPU

7

Page 8: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Unmodified ARM binaries

•SESC• Custom MIPS-based compilation flow

•ESESC• Unmodified ARM Linux binaries• Cracks ARM instructions to ESESC uOPs

8

Page 9: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Executable Compilation Platform

9

Page 10: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Fast Simulation

•ESESC achieves over 50 MIPS• Significant effort creating an efficient timing

•Many sampling techniques available

10

Page 11: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Code Structure

•<esesc root>/docs•<esesc root>/conf

• Configuration files•<esesc root>/emul

• Source code and libraries for the emulator•<esesc root>/simu

• Source for timing model•<esesc root>/main

• Top level code directory• …

11

Page 12: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

New Compilation Setup for ESESC

• Runs in Linux x86-64 and ARMv7• Not tested in OS X and Linux x86-32

• Build using CMAKE• Debug build

• Slower• debug information• assertions / warnings

• Release build• ~5 times faster than debug• No assertions

12

Page 13: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Enhanced Out-of-order Core

13

Page 14: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Same Configuration File (esesc.conf)

[tradCORE]# not showing all parametersrobSize = 128cluster[0] = 'Aunit'...cluster[N] = 'Nunit'...

[Aunit]...winSize = 16+4nRegs = 128iAALULat = 1iAALUUnit = 'AUNIT_AALU'

[AUNIT_AALU]Num = 1Occ = 1

14

Page 15: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

ESESC vs other Cycle-Accurate Sims

Simulator Models ISA Full-System Key-Feature Speed

ESESC Perf/Pwr/Temp ARMv7 No (it was) Sampling ~50MIPS

SESC Per/Pwr/Temp MIPS No Fast ~1MIP

gem5 Perf/Pwr X86/ARM Yes

MARSSx86 Perf X86 Yes ~200KIPS

Flexus Perf?/Pwr? SPARC Yes Sampling

Multi2sim Perf X86 No Heterogenous

Sniper Perf/Pwr X86 No (pin) Multithreaded ~10MIPS

15

Page 16: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

SESC was a large project

16

Page 17: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

ESESC has over 800KLoC Changes

17

Page 18: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

ESESC Usage Sample

18

Page 19: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Validation (More Later)

-20

-10

0

10

20

30

40

R10K '06 R4K '06 G5 '08 ARM A15 '12

% error total execution time

None of these class projects required to change a line of code.Just configuration parameters

19

Page 20: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Papers using SESC

0

10

20

30

40

50

60

70

05 06 07 08 09 10 11 12

20

Page 21: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

ESESC Blog

http://masc.soe.ucsc.edu/esesc

21

Page 22: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

ESESC Forum

https://groups.google.com/forum/#!forum/esesc

22

Page 23: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

ESESC Public Repository

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

23

Page 24: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Remember to cite

• If you use ESESC, cite this paper:• ESESC: A Fast Multicore Simulator Using Time-Based Sampling, Ehsan

K.Ardestani, and Jose Renau, International Symposium on High-Performance Computer Architecture (HPCA), February 2013.

24

Page 25: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Outline

08:00 - 08:30: Breakfast08:30 - 09:00: Overview09:00 - 09:30: Building and Running09:30 - 10:00: Validation10:00 - 10:30: Morning Break10:30 - 11:30: Memory Hierarchy and Cache Coherence11:30 - 12:00: Power12:00 - 13:00: Lunch13:00 - 14:00: GPU14:00 - 15:00: Sampling15:00 - 15:30: Afternoon Break15:30 - 16:00: Thermal Model16:00 - 17:00: Recent Projects and Wrap-up

25

Page 26: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Demo Accounts for the Tutorial

•Get a demo/password•Shared server, be nice submitting jobs

ssh [email protected]

26

Page 27: Overview ESESC Tutorial - masc.soe.ucsc.edu · Overview Jose Renau. Tutorial Logistics. 08:00 - 08:30: Breakfast. 08:30 - 09:00: Overview. 09:00 - 09:30: Building and Running. 09:30

Overview Jose Renau

Questions

•Remember to ask questions during talks

27