The Best of Both Worlds: Collaborating between Industry and Academia

24
The Best of Both Worlds: Collaborating between Industry and Academia Kim Hazelwood May 10, 2007

description

The Best of Both Worlds: Collaborating between Industry and Academia. Kim Hazelwood May 10, 2007. About Me. “Seven of Nine” Virginia, Florida , South Carolina, North Carolina, California, Massachusetts, New York Met Matt Cettei in 1998, married in 2001 - PowerPoint PPT Presentation

Transcript of The Best of Both Worlds: Collaborating between Industry and Academia

Page 1: The Best of Both Worlds: Collaborating between Industry and Academia

The Best of Both Worlds: Collaborating between Industry and Academia

Kim HazelwoodMay 10, 2007

Page 2: The Best of Both Worlds: Collaborating between Industry and Academia

2 Kim Hazelwood, PL-SS 2007

About Me

“Seven of Nine”

Virginia, Florida, South Carolina, North Carolina, California, Massachusetts, New York

Met Matt Cettei in 1998, married in 2001

Ph.D. from Harvard in 2004 (under Mike Smith)

Started at UVa in 2005 (after Intel post-doc)

Other interests

• Marathons (and other extreme sports)

• Reality television

• Travel

Page 3: The Best of Both Worlds: Collaborating between Industry and Academia

3 Kim Hazelwood, PL-SS 2007

Why Build New Infrastructure?

You almost never have the infrastructure you need to do your research

– Not enough detail or wrong abstraction level– Wrong platform (ISA, OS)– Robustness issues (“We do not include eon

because our infrastructure couldn’t execute it”)– Proprietary

Your options– Build your own– Extend an existing system– Spend a summer in industry and use their

proprietary system (pray for a SC agreement)

Page 4: The Best of Both Worlds: Collaborating between Industry and Academia

4 Kim Hazelwood, PL-SS 2007

1) Building Your Own Infrastructure

Benefits: • Huge potential payoff if your infrastructure fills a much-

needed void (e.g., David Brooks--Wattch)

• You’re in control

Drawbacks:• Could be 2-4 year investment

– A lot of time handling uninteresting corner cases– 2-4 year delay in investigating your real ideas– Often tempts us to hoard our infrastructure (Resist!)

• Supporting users– Most are lazy, cryptic, and just plain mean• “Can you tell me how to use your system?”• “When do you plan to fix the eon bug?” • “When will you port this to PowerPC?”

– Unwilling to help you extend/modernize your system (even if open source) Example: Wattch

Page 5: The Best of Both Worlds: Collaborating between Industry and Academia

5 Kim Hazelwood, PL-SS 2007

2) Extending Existing Infrastructure

Level of pain depends on the base infrastructure

Possible outcomes:– Quick way to explore your real ideas– Infrastructure could have very steep learning curve– Could get bogged down fixing bugs

Notes:• Won’t make you (as) famous• Don’t expect it to be bug free• Don’t expect it to be well documented• Don’t expect much help from the original author (see previous slide)• Reputation will also be tied to the base system

Page 6: The Best of Both Worlds: Collaborating between Industry and Academia

6 Kim Hazelwood, PL-SS 2007

3) Use Proprietary Infrastructure

Spend a summer/semester/year in industry

Benefits

Tools are already robust, validated

Drawbacks

Often have steep learning curve

Others have to “trust” your results

Tools could disappear at any time

Hope for a source agreement, but have a solid Plan B

Page 7: The Best of Both Worlds: Collaborating between Industry and Academia

7 Kim Hazelwood, PL-SS 2007

What’s In This For Industry?

A long-term investment (in you)

• You will be up to speed on their tools

• You will be pre-screened

• You will remember that company when you (or your students) graduate

Some short-term benefits

• Free promotion of their tools/products/company

• Publications

Note: Research groups are more likely to “invest”

Page 8: The Best of Both Worlds: Collaborating between Industry and Academia

8 Kim Hazelwood, PL-SS 2007

A Great Example: Intel and {UVa, …}

Pin Dynamic Instrumentation System

• Allows user-defined code to be injected into a running program

• Why? You name it! Profiling, bug detection, security, reliability, optimization, translation, …

Application

Transform

CodeCache

Execute

Profile

Plug-In

Page 9: The Best of Both Worlds: Collaborating between Industry and Academia

9 Kim Hazelwood, PL-SS 2007

Dynamic Instrumentation Demo

Pin

• Four architectures – IA-32, Intel64, IA-64, XScale

• Four OSes – Linux, FreeBSD, MacOS, Windows

• http://rogue.colorado.edu/pin/

Page 10: The Best of Both Worlds: Collaborating between Industry and Academia

10 Kim Hazelwood, PL-SS 2007

The Reality

A long and winding quest for the “perfect” thesis infrastructure

My Story …

Page 11: The Best of Both Worlds: Collaborating between Industry and Academia

11 Kim Hazelwood, PL-SS 2007

My Experience

1999 – CarbonFIRE – Dynamic optimization for IA-64

This is cool! I want to do research on

dynamic optimizations

CarbonFIRE is proprietary

We don’t have IA-64

machines

HP

Advisor

Me

Page 12: The Best of Both Worlds: Collaborating between Industry and Academia

12 Kim Hazelwood, PL-SS 2007

To Build or Not to Build?

I should chat with the Dynamo team

Building a dynamic optimizer will take

too long

Page 13: The Best of Both Worlds: Collaborating between Industry and Academia

13 Kim Hazelwood, PL-SS 2007

Take Two: Dynamo

2000 – HP Labs Porting Dynamo to IA32

You can’t publish with Hello World

We’re initiating the process of university

licensing

HP Labs

Dynamo-x86 runs Hello

World!

Advisor

Page 14: The Best of Both Worlds: Collaborating between Industry and Academia

14 Kim Hazelwood, PL-SS 2007

Take Three: DELI

2001 – HP Labs - Implementing Dynamic Optimizations in DELI

We don’t have any LX

hardware

Still working on that university license

HP Labs

Advisor

Things get interesting for

embedded systems

Page 15: The Best of Both Worlds: Collaborating between Industry and Academia

15 Kim Hazelwood, PL-SS 2007

2001 – An Interesting Year

And then…

• HP Labs Cambridge – Closes

• Dynamo and DELI projects – Cancelled

• Vas and Evelyn – Moved to IBM

Please sign this source code agreement

HP Legal MIT Legal

Harvard Legal

SURE!

NEVAH!

Page 16: The Best of Both Worlds: Collaborating between Industry and Academia

16 Kim Hazelwood, PL-SS 2007

Take Four: Jikes RVM

2002 – IBM Research and Jikes RVM – Online Inlining

Online inlining is great! But I have more ideas for

traces and efficient code caches

What infrastructure

do you want to use?

Jikes RVM is open source!

IBM

Page 17: The Best of Both Worlds: Collaborating between Industry and Academia

17 Kim Hazelwood, PL-SS 2007

Take Five: DynamoRIO

2003 – The DynamoRIO collaboration (between HP Labs and MIT)

Please sign this source code agreement

HP Legal

Harvard Legal

NEVAH!

MIT Legal

SURE!

Me

Page 18: The Best of Both Worlds: Collaborating between Industry and Academia

18 Kim Hazelwood, PL-SS 2007

Our Solution?

Kim becomes a “visiting scholar” at MIT

Port

er

Harv

ard

Cen

tral

Ken

dall/

MIT

Page 19: The Best of Both Worlds: Collaborating between Industry and Academia

19 Kim Hazelwood, PL-SS 2007

2003 – More Interesting Events

Saman and Derek form Determina

Determina buys DynamoRIO source

This (and next year’s 10-year HS reunion) prompts my mad rush to finish my dissertation

?

Page 20: The Best of Both Worlds: Collaborating between Industry and Academia

20 Kim Hazelwood, PL-SS 2007

Finished!

May 2004

Code Cache Management in Dynamic Optimization Systems

Oops … Matt still has a year in his MBA program

Page 21: The Best of Both Worlds: Collaborating between Industry and Academia

21 Kim Hazelwood, PL-SS 2007

And Then Finally: Pin is Created!

2004 – Post-Doc with Intel Pin team

My assignment – Pin (anything)

My selections

• Design the code cache algorithms

• Add a code cache API

• Explore embedded implementation (XScale)

• Work on multithreading issues

• Help develop SuperPin

• Public relations – tutorials, talks, promotional tour

Page 22: The Best of Both Worlds: Collaborating between Industry and Academia

22 Kim Hazelwood, PL-SS 2007

Academic Research

2005 – Joined UVa – Pin source code agreement

Started exploring applications of Pin• Collaborative HW/SW designs

– Tortola project: ISA virtualization– Hardware and OS support for Pin et al.– Multicore scheduling

• Power optimizations – di/dt• VEEs for embedded systems

Continued researching internal design decisions• Code caches• Self-modifying code• Indirect branches

Page 23: The Best of Both Worlds: Collaborating between Industry and Academia

23 Kim Hazelwood, PL-SS 2007

Advice

Be sure to balance development with research– Publish along the way

Don’t reinvent the wheel– If what you need already exists, use it! If not…

Share your infrastructure– No need to be competitive or territorial– BUT … your own research should take precedent over tech

support

Set up a mailing list so that your users can help each other

– The Jikes RVM 48-hour rule

Page 24: The Best of Both Worlds: Collaborating between Industry and Academia

The Best of Both Worlds: Collaborating between Industry and Academia

Kim HazelwoodMay 10, 2007