multi-/many-core modeling at freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... ·...

14
TM Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011. Multi-/Many-core Modeling at Freescale David Murrell, Jim Holt, Michele Reese

Upload: others

Post on 21-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TM

Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Multi-/Many-core Modeling at FreescaleDavid Murrell, Jim Holt, Michele Reese

Page 2: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Perspective: Virtual Platform ROI

Schedules: SW and HW available on “day 1” becoming an industry expectation• FSL P4080 – Linux kernel boots on 1st silicon, within 2 days of receiving DS

boards• MOT P4080 – Software development enabled 1 year before silicon• XBOX360 and PS3 – OS kernels boot on 1st silicon within 2 weeks of

receiving first eval boards (IBM’s Mambo software VP)• Growing demand from customers• Evidenced by recent trends in industry strategic acquisitions

Quality: VP is the proving ground for complex HW/SW interactions• Both HW and SW are improved while still in formative stages (it’s not just

that SW has a running start) – functionality, usability and performance• Gain insight into pathological effects, and intercept them before solutions

become costly Typically 20-30 studies conducted per critical path IP block Verified bit and cycle-level accuracy is essential

2

Page 3: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Virtual Platform Consumers

3

Virtual Platforms

Verification &Validation

Debuggers, Tools/Partners

ArchitecturalDesign/

Exploration

Marketing/FAEs

Performance Analysis

Software Enablement

NPI Next GenerationDefinition

• Ecosystem development

• Pre-Si test bringup

• Reference • μ-arch analysis

• Tradeoff analysis

• Pre-Si BSP/SDK bringup

• μCode development

• Virtual DS• PRL

assessment• Proof/bench

development

• Customer SW bringup

• Demos

Primary Use Case

Functional

Performance

Hybrid

• Performance assurance

• Bake-offs

Page 4: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Plat

4

Concept thruPlanning Execution ProductionNPI ALE ALF TO

Trace

CornerstonePlatform

uBoot

Bare MetalPlatform

Linux

Linux SystemPlatform

Cycle

Func

CornerStone Exploration αPerformance

βPerformance

αFunctional

βFunctional

Page 5: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Technology Improvement Strategy

Scale UP Continue to optimize single-thread performance• Continue to leverage “JIT” (DBT) Technologies• OK for partial core cluster configurations

Scale OUT Migrate to distributed simulation platforms: multi-cores and multi-machine clusters• Explore transition to “COREMU” (or similar)• Assess the potential of the MIT Graphite platform

Possibilities to facilitate native execution for dedicated “sim farms”• FSL’s VortiQa UTM

Inexpensive (low $100’s per compute node) 32-bit e500v2 (with SPE) configuration (P2020UTM) 64-bit e5500 configuration (P5020UTM)

• Combine with Graphite for multi-UTM simulation cluster Port PIN or DynamoRIO to support Power ISA

Page 6: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

What we’ve done with graphite so far

We’ve been using it in the context of the Angstrom project• Ported graphite to Redhat Linux• Learned overall system architecture & how to add syscalls• Lesson learned:

• Syscalls - when you bring new application code into graphite it will sometimes include unsupported syscalls

• If you see runtime message from graphite: “Unhandled syscall number ### …” then you can typically identify the offending syscall by going here and looking up the reported number: http://asm.sourceforge.net/syscall.html

Currently working on a cycle & power accurate Angstrom tile model using Freescale e200 cores

• goal is to integrate with graphite for Angstrom –related research

Page 7: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Porting to Redhat Linux

In common/Makefile.common change KERNEL to ETCH

Remove -Werror flag from all Makefiles (there are several warnings about classes with virtual functions that do not have virtual destructors)

There are a couple of instance of "invalid use of sizeof operator" in pin/handle_syscalls.cc, these are easy to fix

In common/misc/moving_average.h call of overloaded 'pow' is ambiguous.* line 120 changed UInt32 curr_window_size to Int curr_window_sizexxx

Page 8: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TM

Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

BACKUP

Page 9: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Customer Expectations: Functional Virtual Platform

9

High speed functional execution (programmer’s view of the system): • Model the behavior to arrive at the

correct result• 10’s of MIPS per core at a minimum

Evaluation board replacement:• Functional fidelity: firmware, OS,

drivers, and applications run without modification

• Linux console

Enhanced debug environment:• Source-level: CodeWarrior, GDB, etc.• Low-level: core/device registers, TLB’s,

disassembly, memory• Rich breakpoint/watchpoint support• Event callbacks (triggers)• Full system checkpoint/restore• Python command shell• Linux/Windows-32/64 hosts

Page 10: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Customer Expectations: Performance Virtual Platform

10

System-level cycle accurate models• Model the behavior and the number of cycles

consumed by the operation• Cores, caches, memory controllers,

interconnects, accelerators, data path, devices

Executes un-modified binaries and traces• Fast-forward to points of interest via checkpoints

and/or “gear-shifting”

Verified cycle-timing fidelity• Accurate to within 10% of hardware logic• Models micro-architectural structures and policies• Comprehensive set of system performance

metric data

Rich data visualization• Source-code traceability (multicore and

hypervisor aware)• Custom plots• System activity heat maps• Live display and data replay

Flexible instrumentation and control points• Event breakpoints• Event callbacks (triggers)• Application control of the simulator via specially-

encoded instructions

Page 11: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Performance Analysis and Design Exploration Flow

11

S&A

S&A: SoC Systems, S&A + PcP: Core+MSS

Select Workloads

Func Model

Port, Test, and Debug

Perf Model

Pre-ALF Measurements

Emulator

Post-ALF Measurements

Eval Boards

Post-Si Measurements

Analyze Data

Perf Model

Investigate Anomalies

Summary Analysis Report

Perf ModelExperimental

Design Alternatives

Design Improvements

EGFEPRL uBoot Linux

Bare Metal andLinux Platforms

Analysis Plan

Cornerstone, Bare Metal and

Linux PlatformsuBoot Linux

Traces

Page 12: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Verification Flow

12

HW Verification Flow Model Verification Addendum

Verification Plan

Specs

Develop Test

Cases

Func Model

Debug Test Cases

uBoot

Bare Metal Platform

Emulator

Execute Test Cases

Eval Boards

Execute Test Cases

RTL Simulator

Execute Test Cases

Function

Verify Bit Accuracy

Timing

Calibration

uBoot

Compare

Bare Metal Platform

Test Suites

Model Fixes

Verif TMT IPS&A

Page 13: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Software Development Flow

13

SWPRL

DevelopuBoot Func Model

Debug and Test

Function

Debug and Test

uBoot

Hypervisor

FM Microcode

Drivers USDPAA Linux VortiQa

TimingRace

Conditions & Optimize

Function

Debug and Test

uBoot

TimingRace

Conditions & Optimize

Linux

Bare Metal Platform Linux Platform

IP SW

IP: Drivers & Microcode

Page 14: Multi-/Many-core Modeling at Freescalegroups.csail.mit.edu/carbon/wordpress/wp-content/... · Perspective: Virtual Platform ROI Schedules: SW and HW available on “day 1” becoming

TMFreescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2011.

Embedded Reference Flow

14

PetraStampede

Func Model

Test and Debug

uBoot

Bare Metal Platform

Petra Platform

Func Model

Reference

Petra

Eval Board

a11

a223

a34

a4

b1b2b3b4

5678

Vcc10

GND0

Si

TMT