Showing posts with label CPUs. Show all posts
Showing posts with label CPUs. Show all posts

Wednesday, 24 October 2012

2012 Hyper-V VM Performance: vCPUs, Threads, and Cores

Now that we have the ability to assign a large number of vCPUs to a VM we need to keep in mind that more vCPUs may not actually mean better performance.

The main thing to keep in mind is that _all_ threads associated with a virtual machine must be processed at the same time. So, 12 vCPUs assigned to that VM? Then 12 threads must run through the pipeline simultaneously to be processed by the CPU or CPUs.

That is why an 8 Core single socket setup will only show a maximum number of 8 vCPUs that can be assigned to one VM (assume Hyper-Threading off).

So, okay, we have a dual socket server with a pair of 8 core CPUs that can process a total of 16 threads simultaneously.

If we go ahead and assign 10 vCPUs to that VM we may assume that we would get more processing out of that database driven application.

The catch is the simultaneous 10 threads now need to be split between CPU 0 and CPU 1 in order to be processed together.

That means that CPU cycles will be lost while the pipeline logic juggles all of the other threads running through the CPU pipeline to get those 10 done. Part of that process will be to toss the extra two threads across the QuickPath Interconnect (Intel diagram) between the CPUs.

Essentially all of this extra juggling costs CPU cycles.

If we take the same high load VM and assign 8 vCPUs, the maximum number of threads that can be processed on one physical CPU, and compare its performance to the VM with 10 vCPUs on the same physical server we can pretty much guarantee that the VM with 8 vCPUs will outperform the one with 10 vCPUs.

In the end we need to have a pretty good idea of just how a virtualization stack will behave on the various platforms we use to deploy Hyper-V standalone, Hyper-V Failover Clusters, or now Hyper-V with Live-Migration enabled.

NOTE: Test in a lab before deploying in production. :)

Philip Elder
MPECS Inc.
Microsoft Small Business Specialists
Co-Author: SBS 2008 Blueprint Book

Windows Live Writer

Thursday, 26 January 2012

And now for something completely different: A Geek CPU moment.

Mmmm … Dual Intel Hex Core Goodness:

image

This is a Dell R510 2U with dual Intel Xeon E5645 hex core CPUs and 96GB of RAM to run a new American client’s virtualized SBS 2011, RDS, SQL, and other server systems.

With this setup we can run a full 4 vCPUs in our VMs with no worries about performance issues. And so far the setup has been humming along.

We had a major choke with the iDRAC 6 Enterprise that locked us out of the IP KVM Console _and_ the local console. We hit the power button and the server eventually gracefully powered down, pulled the plug, and everything came back good. So, we changed the “Don’t show console activity” setting back to BOTH to allow the local console and the iDRAC IP KVM console to show the same thing . . . just in case.

And now, back to your regularly scheduled programming! ;)

Philip Elder
MPECS Inc.
Microsoft Small Business Specialists
Co-Author: SBS 2008 Blueprint Book

*Our original iMac was stolen (previous blog post). We now have a new MacBook Pro courtesy of Vlad Mazek, owner of OWN.

Windows Live Writer

Wednesday, 13 October 2010

Camtasia Video Rendering On Intel Core i7-875K

This is what a one hour video being rendered to Web MP4 video looks like on our new Core i7-875K based system:

image

In the above screenshot the Camtasia process is running at 64% across all cores four cores plus HyperThreading.

image

The above CPU usage shows that Camtasia is quite capable of utilizing all of the cores and threads the Core i7-875K has to offer to run its rendering process.

image

Note that Intel TurboBoost shows that currently the CPU is running at 3.2GHz to try and keep up with everything.

Meanwhile, the system is still quite usable.

Start time for the process was 16:15Hrs (4:15PM) and is about half done. So, it looks as though the entire 1 hour video that was captured at about 1400x900 will take about 30 minutes to render.

image

Here we are a while later with the finished product being rendered at about 16:42Hrs.

image

The original Camtasia capture was just shy of 1 GB in size and resides on our storage server. So, the above rendering was being done by processing the original on the network with the finished product being dropped into a local temp folder on this machine.

If we have time, we may run the render again with the project source files on the local machine to see how much of a difference there is. The storage subsystem is using the on board Intel software RAID controller to run a RAID 0 stripe across to 80 GB X25-M Intel SSDs.

For folks that make a living where CPU intensive tasks are part of the process, the Core i7-875K may make a great compromise instead of an Intel Core i7 Extreme series CPU setup especially for those just starting out.

Philip Elder
MPECS Inc.
Microsoft Small Business Specialists
Co-Author: SBS 2008 Blueprint Book

*Our original iMac was stolen (previous blog post). We now have a new MacBook Pro courtesy of Vlad Mazek, owner of OWN.

Windows Live Writer

Saturday, 26 September 2009

SBS 2008 and 16 Cores?!?

Well, maybe not:

image

The above screenshot is from a new HP ML350 G6 with a pair of Xeon E5520 2.26GHz CPUs installed. The new Xeon 5500 series CPUs support HyperThreading (HT).

The server configuration is rounded out with 8GB of ECC RAM and a 292GB RAID 10 array (4x 146GB 15K SAS2 6Gps drives) plus a hot spare.

While the new box is pretty snappy in its all-round performance though it still takes a while for the shutdown sequence to process.

At some point we hope to figure out if we can script a service shutdown sequence to speed things up.

But, for now, this particular box will do quite well for SBS 2008 and a client of this size running Web facing Line of Business applications on the Premium based second server.

Philip Elder
MPECS Inc.
Microsoft Small Business Specialists
Co-Author: SBS 2008 Blueprint Book

*All Mac on SBS posts will not be written on a Mac until we replace our now missing iMac! (previous blog post)

Windows Live Writer

Saturday, 9 June 2007

System Builder Tip: Server processor/CPU caveats when Intel server system building.

Yesterday, I mentioned that we had a bit of a struggle getting some Xeon 5130s working on what turned out to be a pre-production S5000PSL server board back when the Xeon 5130s were newly released. Blog post here: System Builder Tip: Intel S3000AH Server Board Series BIOS Updates Available.

When we sell server product, one of the selling "features" should be future upgrades to the server to meet further growth of the company. Yet, in today's server world, this is not the case.

How is that?

Let's say that in the case of the above S5000PSL we only installed a single Xeon processor. Say, the Intel Xeon 5130 SL9RX. We note that the Core Stepping is B2.

So, a year and a half down the road we need to add a second processor. The Xeon 5130 processor may still be in production, but we can only install a CPU with the same stepping code as the existing one, that is B2. More than likely, the stepping code on the then in production Xeon 5130 would be B3 or B4 or even higher! So, we would need to comb the Internet looking for the right one. Or, we would have to buy two (2) processors from our supplier anyway.

And therein lies a very serious caveat: The earlier revision of the server board may not support the newer stepping code CPUs or more Cores even with a BIOS update!

Here is a practical example based on an experience we just had with a server upgrade:

Here is a picture of the PBA code on the existing S3000AH that we attempted to upgrade yesterday to a Xeon X3210 Quad Core processor:


Note that the last three digits in the PBA number are -204. This is the board's revision level.

Now, here is what Intel's Web site states for X3210 compatibility:


In the last column we have some Notes numbers.

Here they are:

Our Intel Xeon X3210 CPU in note 7 requires a server board revision of -206 or above.

Thus, our installed S3000AH board at revision -204 does not qualify. Even with a BIOS update, the -204 board will not support the X3210 or X3220 Xeon Quad Core processors as indicated in the above Notes. In every other way, they are essentially identical!

We were fortunate that we had an S3000AH with a newer revision level here in the shop:


Our in-shop server board was revision -207.

When doing a straight across upgrade like this, that is, one S3000AH -204 for one S3000AH -207 one must make sure to flash the -204 to the newest BIOS version FIRST. Then boot the system up into the BIOS to verify the settings, then boot into the OS, with the -204 board still in the system, to make sure the OS doesn't take a fit over the BIOS update. Everything should work out okay up to this point.

To rephrase: Before making any physical changes to the server:
  1. Update the BIOS.
  2. Boot into the BIOS and verify settings especially the RAID controller LSI vs. Intel Matrix, save, and reboot if any changes were made by the BIOS update.
  3. Boot into the OS to verify its acceptance of the new BIOS.
  4. Shutdown the system.
Begin the hardware swap after that.

As soon as the server board swap is complete, boot directly to your BIOS update thumb drive and update the -207 to the S3000AH BIOS version as above (revision 42 as of this post).

Once the BIOS update is complete verify your BIOS settings as above!

There are two (2) RAID controllers built into this server board: The LSI based one and the Intel Matrix Technology one. Your OS may choke and not boot if the wrong one is configured.

If you had RAID array(s) configured on the previous server board, they will be picked up by the newer server board RAID controller with no issues. At least, that is what happened here with us as we verified the RAID controller type beforehand. Take note, both RAID controller versions picked up the RAID arrays, but the OS may still choke on the wrong controller!

When explaining to the client what may happen, we qualify our quote with options as far as what may happen if we run into this situation. Best case scenario and worst case scenario. We get approval for both as we provide costs for both.

Due to the complexity of inter-CPU stepping compatibility along with CPU type to server board revision level compatibility we always build our dual processor servers with two processors installed.

If our client is planning on having a large influx of employees over the life of the server, then we will install faster CPUs and more RAM too. We will build a server that will meet our client's needs for a minimum of two years as best as we can based on their budget.

If we are dealing with a smaller client with a rather static employee pool that only needs a one processor based server, we will sell a uniprocessor server system.

Given the above S3000AH server board revision compatibility situation, as well as the S5000PSL revision compatibility situation we were in before, we are careful about adopting new server technology.

In the case of early adopting, there are no guarantees that the server board revision purchased will be compatible with future CPUs. Thus, virtually no future upgrade scenarios will exist.

Some S3000AH specific Intel links:

Philip Elder
MPECS Inc.
Microsoft Small Business Specialists