35
SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER EclipseCon 2012 William R. Swanson Marc Khouzam

SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 48 pt

Slide subtitle

minimum 30 pt

SEEING IS UNDERSTANDING:

DEBUGGING WITH THE

MULTICORE VISUALIZER EclipseCon 2012

William R. Swanson

Marc Khouzam

Page 2: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area EclipseCon 2012

ABOUT US

› William R. Swanson

– Lead IDE Developer, Tilera Corporation

– CDT Committer, developed Visualizer framework and UI

– 22 years in parallel hardware, software & developer UI tools

› Marc Khouzam (@marckhouzam)

– Lead CDT developer, Ericsson

– CDT Committer, lead of Debug component (DSF-GDB)

– 15 years in Telecom:

› Multicore chips

› Multi CPU boards

› Multi board nodes

› Need better tools!

Page 3: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

AGENDA

› The Challenge of Multicore

› An Answer: Visualization

› The Multicore Visualizer & Framework (demo)

› Extending the Visualizer (demo)

› The CDT Multicore Debug Workgroup

› Current Projects, Future Plans

› After the talk: demo on 24-core machine.

EclipseCon 2012

Page 4: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area EclipseCon 2012 4

MULTICORE SYSTEMS

Intel’s 80-core Teraflop

Adapteva 64-core Epiphany

Tilera 100-core Tile-GX

Coherent Logix’

100-core HyperX

Plurality’s 256-core Hypercore

ClearSpeed 192-core CSX700

AOCS 128-core ModemX

Ambric’s 336-core Am2045

Page 5: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area EclipseCon 2012

MULTICORE SCALABILITY

Debug elements exploding - 100s of cores

- 100s of processes

- 1000s of threads

How to view and control on

that scale?

Can be a literal

embarrassment of riches...

Page 6: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

THE MULTICORE CHALLENGE

› We’re in “big data” era, moving to “big algorithm” era

– lots of processes/threads, complex interactions

– ever-increasing need for a “big picture” overview

EclipseCon 2012

IN OUT CPU

IN

OUT

CPU

CPU

...

Page 7: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

EXAMPLE: TILERA PROCESSOR

Distinct pipeline stages or modes can run on different tiles,

can also re-affinitize dynamically to help load-balancing.

Data In

Data Out Data In

Data

Out

Page 8: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

EXAMPLE: TILERA PROCESSOR

› And this is ~100 cores!

› Imagine debugging CPUs / GPUs with

100’s or 1000’s of cores...

› where the app is NOT data-parallel or lock-step SIMD!

› We’re going to need better tools to handle this!

Page 9: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

CURRENT TOOLS DON’T SCALE

› Command-line GDB

– multiple shells, even for only a few processes, or

– for multithreaded GDB, having to remember which thread you’re on

EclipseCon 2012

Page 10: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

CURRENT TOOLS DON’T SCALE

› Eclipse’s Debug View

– way better for managing

large numbers of processes/threads

– but...

– for big apps, essentially a flat list

– too much repetitive detail

– can’t easily see overall layout/behavior

– difficult to find and interact with “important”

processes/threads...

– (like this one) ------------------------------------->

EclipseCon 2012

Page 11: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

THE BIG PICTURE: VISUALIZATION

› Need for new ways of looking at applications...

› One answer: visualization tools

› Visualization is the “big picture”: the important stuff made

easily visible.

› What this means is that we shouldn't abbreviate the truth

but rather get a new method of presentation.

Edward Tufte

EclipseCon 2012

Page 12: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

A VISUALIZATION FRAMEWORK

› There’s also a need for a framework

› Rather than having everyone recreate the wheel,

we need a platform to support visualization

› In the Eclipse spirit it should be flexible and extensible

› Should handle boilerplate code:

- view/workbench interaction

- selection

- toolbars and context menus

› Visualizations should be able to focus on presentation.

EclipseCon 2012

Page 13: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

THE MULTICORE VISUALIZER

› New feature, currently optional

› Being added to CDT in Juno.

EclipseCon 2012

Page 14: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

THE MULTICORE VISUALIZER

› Visualizer presents an overview of application debug state

› Doesn’t replace the Debug View, it augments it

› Analogy: adding pictures to a journal article.

– Pictures don’t replace the text, instead they provide

high-level context that makes it easier to parse the details.

EclipseCon 2012

When in the Course of

human events it becomes

necessary for one people to

dissolve the political bands

which have connected them

with another and to assume

among the powers of the

earth, the separate and

equal station to which the

Laws of Nature and of

Nature's God entitle them, a

decent respect to the

opinions of mankind

requires that they should

declare the causes which

impel them to the

separation.

We hold these truths to be

self-evident, that all men

are created equal, that they

are endowed by their

Creator with certain

unalienable Rights, that

among these are Life,

Liberty and the pursuit of

Happiness. — That to

secure these rights,

Governments are instituted

among Men, deriving their

just powers from the

consent of the governed, —

That whenever any Form of

Government becomes

destructive of these ends, it

is the Right of the People to

alter or to abolish it, and to

institute new Government,

laying its foundation on

such principles and

organizing its powers in

such form, as to them shall

seem most likely to effect

their Safety and Happiness.

Prudence, indeed, will

dictate that Governments

long established should not

be changed for light and

transient causes; and

accordingly all experience

hath shewn that mankind

are more disposed to

suffer, while evils are

sufferable than to right

themselves by abolishing

the forms to which they are

accustomed. But when a

long train of abuses and

usurpations, pursuing

invariably the same Object

When in the Course of

human events it becomes

necessary for one people to

dissolve the political bands

which have connected them

with another and to assume

among the powers of the

earth, the separate and

equal station to which the

Laws of Nature and of

Nature's God entitle them, a

decent respect to the

opinions of mankind

requires that they should

declare the causes which

impel them to the

separation.

We hold these truths to be

self-evident, that all men

are created equal, that they

are endowed by their

Creator with certain

unalienable Rights, that

among these are Life,

Liberty and the pursuit of

Happiness. — That to

secure these rights,

Governments are instituted

among Men, deriving their

just powers from the

consent of the governed, —

That whenever any Form of

Government becomes

destructive of these ends, it

is the Right of the People to

alter or to abolish it, and to

institute new Government,

laying its foundation on

such principles and

organizing its powers in

such form, as to them shall

Page 15: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

THE MULTICORE VISUALIZER

› Visualizer is interactive – can select & interact with program

elements (cores, processes, threads)

› Can still use Debug View to get more detail

EclipseCon 2012

Page 16: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

THE MULTICORE VISUALIZER

› Visualizer display scales to different cpu/core layouts:

EclipseCon 2012

Page 17: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

THE MULTICORE VISUALIZER

› Based on “Grid View” visualization in the Tilera IDE:

EclipseCon 2012

Page 18: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

MULTICORE VISUALIZER

EclipseCon 2012

› Demo

Page 19: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

MULTICORE VISUALIZER

› Demo:

– New Visualizer view in workbench

– Displays cpus, cores, processes & threads

– Sample program to debug: multi-process, multi-threaded

– View updates automatically as program layout changes

– Shows execution state of cpus, cores, processes, threads

– Click/drag selection, updating of Debug View

– Debug View state reflected in Visualizer

– Breakpoint handling (resume, step, etc.)

– Commands accessible from toolbars, context menu, and shortcuts

– Variables view (as usual) reflects current selection

– Displays crashed processes/threads in red

– Can click on problem thread(s) to select and view source

– Especially handy where there are multiple failures! EclipseCon 2012

Page 20: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

VISUALIZER FRAMEWORK

EclipseCon 2012

MulticoreVisualizer

VisualizerView

GraphicCanvas

IVisualizer (Selection handling, Menus, etc.)

Model Object (DSF state data,

provided by GDB)

Page 21: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

ON BEYOND DEBUGGING

› There’s a framework because one view isn’t sufficient

› Multicore Visualizer is currently aimed at debugging on

homogenous multicore platforms; there are others

› Can extend multicore visualizer to suit your platform

› Also potential visualization uses beyond debugging

– Visualizations of selected data

– Use of “overlays” to select different kinds/views of data

– Static code analysis displays, etc.

› Framework includes examples you can build upon

EclipseCon 2012

Page 22: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

MULTIPLE VISUALIZERS

› Displayed visualizer is based on current selection.

› For multicore visualizer, the selection is DSF-GDB data

› Can also base visualizer on other information:

– Selected projects (example: display of warnings/errors)

– Selected text (program text, etc.)

› Anything that’s selectable can potentially have a

visualization associated with it.

› Visualizers report a weight indicating what they can handle

› The visualizer view selects the right visualizer for the

current selection, based on visualizers’ reported weights

EclipseCon 2012

Page 23: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

MULTIPLE VISUALIZERS

› Demo:

– problem count visualizer

– source text analysis graph

EclipseCon 2012

Page 24: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

SEEING IS UNDERSTANDING

› Visualization is necessary as a “big picture” approach

to large applications on multicore hardware

› You can’t debug what you can’t see

› What you can see, you can understand.

› What you understand, you can reason and feel sure about

EclipseCon 2012

Page 25: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

WE NEED NEW TOOLS

› The Multicore Visualizer is not an end, but a beginning.

› Visualizer exemplifies new kinds of tools and approaches

needed for multicore and the “big application” era.

› These new tools are going to come from YOU

the Eclipse developer community.

› The Visualizer framework provides a platform for

development of more (and better!) visualizations.

› Let’s make sure our favorite platform, Eclipse,

is ready for the tasks ahead!

EclipseCon 2012

Page 26: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

IT TAKES MORE THAN ONE TOOL

› Visualizer is just one of the projects currently being worked

on by the CDT Multicore Debug Workgroup

EclipseCon 2012

Page 27: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area EclipseCon 2012

MULTICORE DEBUG WORKGROUP

› Joint effort to bring multicore debugging to the CDT

– Visualizer, Pin&Clone, Multiprocess debug, etc

› Support for those that want to add new features

› Monthly conference calls (open to all interested and free )

– http://wiki.eclipse.org/CDT/MultiCoreDebugWorkingGroup

Page 28: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area EclipseCon 2012

WORKGROUP PLANS

› Process/Thread/Core sets, as supported by GDB

› Global breakpoints

› OS Awareness

› Dynamic Printf

› Fully-integrated GDB console

› complete GDB console that can be used jointly with Eclipse

› Scalability and performance

› Ability for GDB to handle 100s or 1000s of threads/processes

› and more…

Page 29: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area EclipseCon 2012

PTC SETS

Process Thread Core (PTC) sets

control groups of debug elements:

– Step threads numbered between 34 and 59

– Step all threads running on core 2

– Stop everything running on cores 5 to 7,

preventing new threads from being started

Page 30: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area EclipseCon 2012

GLOBAL BREAKPOINTS

Applies to every process

Auto attach when hit

Un-started or short lived process

Kernel module required

Page 31: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area EclipseCon 2012

OS AWARENESS

Sockets

Shared Memory

Segments

Process Groups

All Processes

All Threads

File Descriptors

Loaded Kernel

Modules Semaphores

Message

Queues

Sometimes examining OS Resources can help find bug

Page 32: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

DYNAMIC PRINTF

INSERTED AT RUNTIME

WITH GDB

EclipseCon 2012

DYNAMIC-PRINTF

COMPILED

PRINTF DEBUGGER

Sometimes tracing is necessary

Page 33: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area EclipseCon 2012

SOME REFERENCES

› Multicore Debug workgroup,

http://wiki.eclipse.org/CDT/MultiCoreDebugWorkingGroup

› CDT project, http://www.eclipse.org/cdt

› CDT Wiki, http://wiki.eclipse.org/CDT

› GDB, http://sourceware.org/gdb/

› Multicore Visualizer, http://bugs.eclipse.org/335027

Contact:

[email protected]

Page 34: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

Q&A

› Thanks for your time.

› Reminder: you can provide feedback:

› 1) go to www.eclipsecon.org

› 2) on Visualizer session, click “EVALUATE”

› 3) Vote ( ) and add comments!

› Enjoy the rest of EclipseCon!

EclipseCon 2012

Page 35: SEEING IS UNDERSTANDING: DEBUGGING WITH THE MULTICORE VISUALIZER€¦ · –Lead IDE Developer, Tilera Corporation –CDT Committer, developed Visualizer framework and UI –22 years

Slide title

minimum 32 pt

(32 pt makes 2 rows)

Text and bullet level 1

minimum 24 pt

Bullets level 2-5

minimum 20 pt

›!"# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´¶·¸¹º»¼½ÀÁÂÃÄÅÆÇÈËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăąĆćĊċČĎďĐđĒĖėĘęĚěĞğĠġĢģĪīĮįİıĶķĹĺĻļĽľŁłŃńŅņŇňŌŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƒȘșˆˇ˘˙˚˛˜˝ẀẁẃẄẅỲỳ–—‘’‚“”„†‡•…‰‹›⁄€™−≤≥fifl

Do not add objects or text

in the footer area

Multicore Visualizer Demo Slides, Version 1.0, 3/22/2012

EclipseCon 2012