My Incredible Week at TechEd 2010

I attended TechEd 2010 this week and it was great! I met a lot of great people and had a great time. TechEd was *huge* this year. They originally expected about 6,000 attendees, but about 8,000 actually attended. To say the least it was very crowded and the sessions were over flowing with people. If you didn’t get to the session early enough, then you would likely be denied. Believe me I missed a few sessions to due this. Overflow rooms were provided, so attendees could watch some of the sessions remotely. I’m actually impressed with the TechEd team in how they handled the overflow.

Met the Hyper-V Product Team

At TechEd, I met Vijay Tewari who owns Hyper-V. He and I worked the booth a lot and I learned quite a bit about the new features in Hyper-V R2 SP1 (currently in beta). I was also honored to meet Taylor Brown (Hyper-V Tester). He and I “geeked” out on many of the Hyper-V features such as Virtual Memory Queues (VMQ) networking.

Hyper-V RemoteFX

Windows Server 2008 R2 SP1 Hyper-V (aka Hyper-V R2) has two significant features that I am aware of. First, it has the RemoteFX feature which allows 3D graphics to work inside of virtual guests. Normally, any game or application that requires 3D video hardware acceleration would not work inside of a virtual guest, but RemoteFX with a special video card that can support remote video acceleration can run 3D graphics now. We had a simple example of a 3D chess game in our demo, but I’m curious to see how other graphics intensive games will do. If this works well, then I might have to consider running Hyper-V R2 SP1 on my laptop – I have to have my games after all.

Hyper-V Dynamic Memory

Dynamic Memory is another feature of Hyper-V R2 that will make a *huge* impact on the industry. It allows virtual guests to expand and contract the amount of RAM that is allocated to them. This allows the root partition (host computer) to use it’s RAM much more effectively and allows it to run far more virtual guests. It is implemented by setting a minimum and a maximum RAM size. Once the virtual guest is rebooted, it starts off at it’s minimum RAM size, then the root partition will increase the virtual guest’s RAM size as memory demands increase. Once the memory demands have decreased, then the RAM size is reduced allowing the root partition to give the RAM to other needy virtual guests.

If the root partition is completely out of RAM, then it will take away RAM from other VMs. As an administrator, you can prioritize your VM’s so that higher priority VMs get first dibs on the RAM.

In Ben Armstrong’s (a member of the Hyper-V product team) presentation on Hyper-V R2 SP1 Dynamic Memory presentation, he had 12 virtual guests (VMs) all with 1GB of RAM allocated. The host partition only has 8GBs of RAM, so he can only run 7 of the VM’s – the 8th VM refuses to run due to a lack of RAM on the host. He enabled Dynamic Memory setting each VM to a minimum of 512MBs and a maximum of 2GBs. All of the VMs are restarted (this is required) and they start off at 512MBs of RAM. Since the VMs are all using about half the RAM they originally had, he can now run all 12VMs at the same time. This gives Hyper-V R2 SP1 far more VM density. He also showed how the VM priority takes effect when the root partition is out of memory. Great stuff!

VM’s can be set to a percentage of available RAM which the root partition will try to maintain. If the available RAM of the VM is lower than the setting, then RAM is added – if there is too much available RAM, then it gives RAM back to the host.

It is important to allow Windows to have available RAM. Available RAM is the sum of zeroized memory (memory that has all zeroes written to it, free memory (memory that was used by a process and hasn’t been zeroized yet) and standby memory. Standby memory is memory that was in use by a process at one point, but contains data that is already on the disk – meaning Standby memory is disk cache. This cache can prevent disk reads and time by having in RAM still. This is why it is always good to give a system lots of RAM. By giving the system about 10% RAM, you are allowing the system to maintain a health disk cache.

With Dynamic Memory comes more performance counters, so I plan in adding these counters and threshold to my Performance Analysis of Logs (PAL) tool within the next few weeks. As a matter of fact, I will be meeting with the Hyper-V team next week to start on this. I am very excited.

I ran into Richard Campbell who is the host of the RunAs Radio podcast and known for web performance analysis. I introduced him to Vijay Tewari (owner of Hyper-V) and it is likely that Vijay will be a guest on the show soon. Watch for it at

Performance Counter Book Idea

Richard mentioned that he is interested in writing a book on performance counters. I’ve been itching to do one as well, so we are thinking about writing the book together. Book writing is extremely time consuming, so its just and idea right now.

.NET MultiThreaded By Default

Richard and I also talked about the need for .NET objects to be natively multi-threaded to take advantage of more than one processor. My idea was that the .NET functions should spawn off multiple threads by default if/when resource locking it not an issue.

Meeting Jeffery Snover (PowerShell Architect)

Another highlight for me was meeting Jeffrey Snover face to face. He is the original architect of PowerShell. Him and I talked quite a bit about my PAL v2.0 tool which is a 5,000 line PowerShell script. The PAL tool analyzes performance counter logs and PowerShell makes it easy to implement. Jeffrey contributed to the tool back in January 2010 by providing a few functions to force PowerShell v2.0. He is very approachable and even remembered my name. :-) His most notable feature was his “minimum” shoes (shoes that cover the feet, but have minimum protection – better for your feet in the long run) while dressed in business casual clothes. It was truly an honor to meet the guy who started it all.


Here is a picture of Jeffrey Snover (left) and I (right).


One of the vendors at the show that impressed me was PowerWF. Their PowerWF tool converts Work Flow (WF) diagrams to PowerShell code and converts code to WF. This is really handy for documenting your PowerShell code to non-developers and it allows non-developers the power to create PowerShell scripts without knowing code. Jeffrey Snover stopped by PowerWF booth several times and the “geeked” out a lot.

21 Tips to a Better Performing Hyper-V Solution

Kenon Owens (a member of the Hyper-V product team) and I presented a breakout session on Hyper-V performance analysis and the performance differences between Hyper-V R1 and Hyper-V R2. We had a great turnout for it being an 8am session and we received some great evaluations. I have to credit Tony Voellm as the source for most of my content. I will write my own blog entry soon on the same subject to get the content out to everyone.


The BizTalk Booth

When I attended TechEd 2008, I helped with the BizTalk booth. I inevitably stopped by the booth and caught up with my friends there. They showed me a new feature called the Financial Message Services Bus (FMSB). This is an add-on to the Enterprise Services Bus (ESB) toolkit and Business Activity Monitor (BAM). It uses Silverlight to make BAM look good… I mean *really* good. It allows tracking information to be presented in high quality charts and graphs that can be manipulated. I was very impressed. Better yet, it is not directly tied to Financial data, meaning - it can work with any BAM data and it will even configure BAM for you which is a *huge* hurdle for those who have tried it.

Windows Phone 7

I love my Zune and I love my Windows Mobile Phone. Put them together and what to do you got… Windows Phone 7! While we were not permitted to “touch” the prototypes, we got to see the phone close up and see for ourselves how responsive it is and how pretty it is. This thing is a powerful business machine with a slick consumer friendly interface. There was quite a few booths dedicated to business app development for it. It has great Microsoft Office integration allowing what it seems to be full editing features and powerful zooming capabilities for most of the Office suite. I asked about InfoPath support, but it doesn’t look like it is in there. My team Microsoft Premier Field Engineering (PFE) uses InfoPath forms to create our daily status reports when onsite with customers, so having the ability to send updates from my Windows Phone 7 would be very helpful. I am also hoping it will have VPN and Direct Access support. Now that would rock!

Windows Server R2 Kernel Changes

Mark Russinovich did a session on the Windows Server R2 kernel changes. The new kernel has a lot of great features such as interrupt consolidation, much higher scalable resource locking, and my favorite is the core parking feature. Core parking allows some of the processor cores to go into a very low power state saving energy. There are new performance counters that indicate this, so I can’t wait to add those counter to PAL.

Met the Server Ninja, Jacob Beneke

Jacob and I finally met at the TechEd Keynote. It was great to put a name to a face. He created and maintains the web site which talks about tips and tricks for IT Professionals.

PowerShell Advanced Functions and Forms

I attended a great session on PowerShell Advanced functions in PowerShell v2.0 which allows criteria and default values to be added to parameters passed into fuctions. The PowerShell product team showed us how to create Windows forms easily in native PowerShell using Sapien Technologies PrimalForms tool. I might just have to use this to rewrite the PAL tools interface.

Well, I’m sure I am forgetting something, but these are the highlights of what I thought was cool at TechEd 2010.