Channel 9 Jim Hogg: Phoenix Framework Interview Writeup

Summary:
Great conversation. A nice “going deep” series on a topic I am barely familiar with. I liked the white boarding exercise as it clearly explained the concepts. Charles asked great questions and engaged in a interesting way on a whole range of topics. Good steady video, great sound quality. On a scale of 1-5 niners I’ll give this one a 5. Good job Channel 9.

List of Questions
Question1) What is the phoenix framework? 1:15
Question 2) What does the front end do to hand off to the back end? 2:37
Question 3) Is phoenix readily available today? 6:53
Question 4) Can we dig in to the modularized backend structure, how is it architected? 8:08
Question 5) Could you put a static analysis tool on this? 12:40
Question 6) Is there an API on this, what is that all about? 14:15
Question 7) Where do you think phoenix will be when you ship? 23:34
Question 8 ) You can’t optimize the JIT today, can you? 23:52
Question 9) what’s the response and feedback been? 31:17
Question 10) Are they’re any challenges with multicores? 35:00
Question 11) Question about how long he’s been at Microsoft. 41:21

Detailed write up:
Charles does another stellar going deep video.
The video begins with a discussion about the phoenix framework.
Question1) What is the phoenix framework? 1:15
Jim Hogg mentions that the phoenix framework has been in development for 4 years. That’s a long time for a product that so far has zero ROI.
The phoenix framework is used for building compilers.
The phoenix framework is analogous to the .net framework in that many developers view .net as the framework they use to write applications, only difference is the phoenix framework is what developers would use to write compilers. Upon just hearing that I’m getting excited to learn more.
Charles makes a great point about the situation where potentially you’d want to create your own language and in that case you’d need to create your very own compiler. On a side note, who actually wants to create their own languages, I know these people are out there, but I just want to know why they like doing it, isn’t C# enough for you?
Hogg goes on to explain that compilers have a front end and back end. I learning more about compiler architecture and I haven’t even made it through the first 5 minutes.
The front end takes the front end language like C++ and turns it into an intermediate language.
The backend takes the intermediate language does a bunch of analysis in light of what platform its targeting….X86, Itainium, 64bit chips and it performs optimizations. Cool cool stuff.
Question 2) What does the front end do to hand off to the back end? 2:37
Managed languages produce assemblies which contain MSIL and data structures called metadata.
Native C++ produces an intermediate form that is handed off to the backend.
The phoenix platform primarily is focused on the back end. It focuses on optimizations and analysis.
Apparently the front end compiler is known as C1 or C1xx which is the C++ compiler. I know very little about C++. And even less about C so this is all Greek to me.
The backend is called C2 and today’s technology is based on 10 year old technology. The phoenix technology replaces C2.
The phoenix technology allows for more granular analysis and optimizations.
The phoenix technology allows for extensible plug in optimizations.
Question 3) Is phoenix readily available today? 6:53
There is a version called the RDK or Research Development Kit that is being shipped every 6 months. It’s available for academics. It’s a free download – very cool.
Question 4) Can we dig in to the modularized backend structure, how is it architected? 8:08
Whiteboarding 8:37 you have to watch this part. Hogg give’s great explanation and his drawing on the whiteboard is amazing.
Question 5) Could you put a static analysis tool on this? 12:40
Yes. And this works with enterprise framework and the /analyze switch and prefast.
Question 6) Is there an API on this, what is that all about? 14:15
Everything that sits inside of phoenix has API which allows programmers to alter any part of it. An example of this are the plugins.
The plugins are managed. Well in fact phoenix is built in C++, but it can compile both managed and unmanaged.
Plugins can be as simple as 15 lines of code.
Charles makes the joke that the team has been working on the framework for 12 years.
It was originally dreamt out of MSR.
Many of the tools are coming out of research.
Bit field instructions.
Post JIT morph and modified IL and metadata with the Microsoft .net Framework.
Discussion about what an intern did with aspect orientated programming 22.45
Question 7) Where do you think phoenix will be when you ship? 23:34
Discussion of the SCRUM and AGILE process there using: 23:36.
Apparently there are 30 developers.
They have ambition plans to build the entire windows OS using phoenix. Wow! Wow! Wow! They can already do that today, but they want to do that and turn on more and more optimizations and do it with 64bit architectures.
Discussion about code security.
Question 8 ) You can’t optimize the JIT today, can you? 23:52
Answer no. You wouldn’t want too.
If you want to build a plug in for an optimization you need to be a really skilled engineer.
Phoenix opens up the previously closed black box compilers.
Question 9) what’s the response and feedback been? 31:17
About 200 downloads and there in the second year of the RFP process. They’re actively giving out grants for research based on phoenix.
The cooler part about the front end optimizations are that they are basically platform independent. It only takes 3 months to build the framework for a new chip architecture. Without phoenix it took a massive investment to move to new compilers for itainium.
Question 10) Are they’re any challenges with multicores? 35:00
Yes they are building optimizations and building frameworks. They want to make it automatic. They’ve had limited success.
Discussion around locks and concurrency.
Question 11) Question about how long he’s been at Microsoft. 41:21
He’s been at phoenix for 2 years, before that he was with the CLR team. Why Microsoft- answer because you get to work with really awesome and talented developers.
Last 4 minutes are basically a waste of time.
 

About these ads
Explore posts in the same categories: Channel9 Interview Writeup

5 Comments on “Channel 9 Jim Hogg: Phoenix Framework Interview Writeup”

  1. enrique Says:

    Please include links in the questions that lead to where the question is answered.

    Also, why is everything a separate sentence in your post?

    Finally, why don’t you provide a one paragraph “executive summary” of the interview. This would be really helpful for those of us that don’t have the time to view the whole interview or even read your whole post.

    Please go back to the earlier Ch9 videos and write them all up. THANKS!


  2. [...] Another excellent video from the Going Deep Channel9 shows. Channel9 Hawk has a good writeup of the interview. Does this mean we’ll see improvements in Visual C++ in the near future? [...]


  3. deposit free bonus casino
    see to signature…


  4. popular free ringtones

    http://www.thehotstop.info

    signature…


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: