Richelle Mead - Academia Vampirilor - 1 - Academia Vampirilor
The Best of Both Worlds: Collaborating between Industry and Academia
-
Upload
alice-rivas -
Category
Documents
-
view
36 -
download
1
description
Transcript of The Best of Both Worlds: Collaborating between Industry and Academia
The Best of Both Worlds: Collaborating between Industry and Academia
Kim HazelwoodMay 10, 2007
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
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)
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
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
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
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”
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
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/
10 Kim Hazelwood, PL-SS 2007
The Reality
A long and winding quest for the “perfect” thesis infrastructure
My Story …
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
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
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
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
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!
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
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
18 Kim Hazelwood, PL-SS 2007
Our Solution?
Kim becomes a “visiting scholar” at MIT
Port
er
Harv
ard
Cen
tral
Ken
dall/
MIT
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
?
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
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
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
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
The Best of Both Worlds: Collaborating between Industry and Academia
Kim HazelwoodMay 10, 2007