31
Smalltalk Debug Lives in the Matrix Loïc Lagadec, Damien Picard [email protected]

Smalltalk Debug Lives in the Matrix

  • Upload
    esug

  • View
    1.149

  • Download
    2

Embed Size (px)

DESCRIPTION

Loïc Lagadec, Damien Picard: Smalltalk Debug Lives in the Matrix. ESUG 2010, Barcelona, Spain

Citation preview

Page 1: Smalltalk Debug Lives in the Matrix

Smalltalk Debug Lives in the Matrix

Loïc Lagadec, Damien Picard

[email protected]

Page 2: Smalltalk Debug Lives in the Matrix

What Matrix?

Compute node

Programmable

interconnection

I1+i2i1

i2

LUT LUT

LUT

LUTLUTLUT

LUT

i1

i2I1-i2

LUT

LUT E/S

µP

“Flexible” hardware

Time to market

Hard to program

Hard to debug

Page 3: Smalltalk Debug Lives in the Matrix

What Matrix?

“Flexible” hardware

Time to market

Hard to program

Hard to debug

Specific languages

Specific tools

Performances still

requires manual

tuning

EE skills required

Page 4: Smalltalk Debug Lives in the Matrix

State of the art debugging

Huge challenge

Page 5: Smalltalk Debug Lives in the Matrix

State of the art debuggingTouching the void

Huge challenge

Meet in the middle

Page 6: Smalltalk Debug Lives in the Matrix

Debug silver bullet

Observability

Controlability

Abstract analysis

Fast changes

Time to market

Multiple runs

Long cycles

Simulation is not

enough

Page 7: Smalltalk Debug Lives in the Matrix

Debug silver bullet

Observability

Controlability

Abstract analysis

Fast changes

Time to market

Multiple runs

Long cycles

Simulation is not

enough

Page 8: Smalltalk Debug Lives in the Matrix

Operate at-speed

Keep your speed-up alive

Multiple runs prohibit any over time penalty

Page 9: Smalltalk Debug Lives in the Matrix

Operate in-situ

Because only HW brings speed-up

Debug requires extra circuitry

Page 10: Smalltalk Debug Lives in the Matrix

Debugging facilities are circuits

Page 11: Smalltalk Debug Lives in the Matrix

Debugging facilities are circuits

Page 12: Smalltalk Debug Lives in the Matrix

Debugging facilities are circuits

Page 13: Smalltalk Debug Lives in the Matrix

Observe and monitor

Take decision

You cannot watch everything

Page 14: Smalltalk Debug Lives in the Matrix

Abstract analysis: semantic needed

From information to knowledge

Signals vs Variables, etc.

Composite pattern, polymorphism, etc.

Page 15: Smalltalk Debug Lives in the Matrix

From a technical point of view

Software abstraction Implementation in hardware

?Synthesis

From D. Picard’s ESUG 2009 talk

Page 16: Smalltalk Debug Lives in the Matrix

Full observabiliy isn’t scalable

Focus on POI

Page 17: Smalltalk Debug Lives in the Matrix

Full observabiliy isn’t scalable

Focus on POI

Page 18: Smalltalk Debug Lives in the Matrix

Take control

Select your

Become a time traveller

Page 19: Smalltalk Debug Lives in the Matrix

Smalltalk debugger

Just fit approach

Run code and catch exception

Code hot replacement, variable update,

etc.

Step on or resume execution

Possible rollback

Multiple runs

Breakpoints update, earlier exception

Same conceptual behavior

Page 20: Smalltalk Debug Lives in the Matrix

Dodge bullets

Once the time has stopped

… just operate !

Page 21: Smalltalk Debug Lives in the Matrix

21

Bullet time explained

Bullet time

Page 22: Smalltalk Debug Lives in the Matrix

Conditional probes

Conditional probes offer the controlabily

that lacks in commercial tools

Observability can be gained at the cost

of adding some variable look-up wires

… But also using vendor’s tool such as

Chipscope

Page 23: Smalltalk Debug Lives in the Matrix

Red Pill

Application

Decomposition

Probes

Application

(Generated)

Control panel

Probes

inspector

Active probes

Inserted probe

Page 24: Smalltalk Debug Lives in the Matrix

RedPill Flow extends Biniou (HLS)

Application

High-level

CDFG

Low-level

CDFG

Multi-Level

SimulatorSynthesis

Tools

Probed Netlist

Probe

Insertion

Reconfigurable

ArchitectureBiniou

Page 25: Smalltalk Debug Lives in the Matrix

Abstract analysis

Encapsulate circuit modules as smalltalk blocks

Enables soft and hard objects to

communicate

Delivers the power of Sunit to hardware

Page 26: Smalltalk Debug Lives in the Matrix

Abstract analysis (example)

Page 27: Smalltalk Debug Lives in the Matrix

Characterization tests & SUnit

Page 28: Smalltalk Debug Lives in the Matrix

How Many matrix?

Page 29: Smalltalk Debug Lives in the Matrix

Reboot the Matrix

Page 30: Smalltalk Debug Lives in the Matrix

Will you take the red pill?

HLS (Biniou) offers a path from HL

languages to circuits

Vendors tools offer observability

Red Pill offers controlability

Object encapsulation offers abstract

analysis and polymorphism.

Smalltalk debug definitively lives in the Matrix

Page 31: Smalltalk Debug Lives in the Matrix

Thank you for your attention

http://stiff.univ-brest.fr/BINIOU