What features should I look for in a laptop for virtualization-heavy workloads?

19

3

I do most of my development in VMware Workstation (version 7 at the moment). Unfortunately, on my laptop with 4 GB of RAM, an OCZ Vertex 2 240 GB, and a Core 2 Duo T9550 (2.66 GHz) does things criminally slowly when there's more than one VM running at a time (which given that I've been doing multi-server development lately is most of the time).

I know that there are some processors which (for example) have specific features to make virtualization fast, and I think there are some chipset features which make memory access faster specifically for virtualization workloads, but I'm not positive on either of these, and even if they do exist, I'm not sure they're available on laptops.

Billy ONeal

Posted 2011-05-22T05:01:05.923

Reputation: 7 021

1Seems like a shopping recommendation to me. – Wuffers – 2011-05-22T05:05:32.803

4

@Mark: No, shopping recommendations are asking for a specific product. For an example, see http://superuser.com/questions/254068/what-properties-features-should-i-look-for-in-a-good-ssd-drive -- asking about what to look for is not a shopping recommendation, but asking for a specific product is.

– Billy ONeal – 2011-05-22T05:08:53.353

Useful and interesting question with something to learn about processors and configuring for virtualization, applicable to a range of products and manufacturers. Worth keeping. +1 – JRobert – 2011-05-22T15:02:47.310

Answers

9

Most chips now have virtualization extensions (Intel-VT or AMD-V). From personal experience (VirtualBox), I can tell that some of the features -- especially nested paging -- are very helpful; nested paging, for example, lowers my Ubuntu boot time quite noticeably (from 45 seconds to 15 seconds).
(Edit: Seems like "nested paging" is also called "second-level address translation" or "extended page tables" [EPT].)

It also depends on what your development is. I tried compiling the Chromium source code on a Core i5 (no virtual machines at all, on an actual computer), and 4 GiB of RAM was not enough -- 6 GiB was almost enough, but I still needed ~1 GiB of pagefile to prevent running out of memory. (I normally turn off the page file.) Doing this on a VM was clearly out of the question on my system, mainly because of RAM (but also the CPU). So RAM is very important too, especially with 2 VM's, although it depends on what you're doing.

Another feature that might help is having a true dual-core (or more) laptop, having one VM run on one core and another on another core. I haven't tested the impact of this personally, though, since I usually only run one VM at any time.

user541686

Posted 2011-05-22T05:01:05.923

Reputation: 21 330

Is there anything I can do to test whether or not the CPU supports nested paging? – Billy ONeal – 2011-05-22T05:10:18.250

@Billy: Off the top of my head, I'd say download VirtualBox and see if the checkbox is enabled there. :-) I'll try to come up with a better solution though, since you can probably test it with the cpuid instruction. – user541686 – 2011-05-22T05:13:07.390

@Billy: Unfortunately seems like it's a tad harder to detect EPT for Intel processors than AMD processors; you need to read a model-specific register. Seems like making a VM in VirtualBox and then trying to check the Nested Paging box is probably easiest. (A quick glance at Wikipedia says that Nehalem-based CPUs and later should support it, though.) – user541686 – 2011-05-22T05:23:25.583

Do you know of anyone with an EPT enabled chip that can check with something like CPU-Z? (Not sure if CPU-Z shows it -- no EPT is listed for this chip, though it does show VT-x) – Billy ONeal – 2011-05-22T05:26:27.407

@Billy: Nope, CPU-Z doesn't show it on my laptop. :\ Even Intel's page doesn't show it. Weird...

– user541686 – 2011-05-22T05:32:57.267

12

I think your problem has more to do with RAM than with CPU. If you can stuff more RAM in your laptop, it will go a long way. A good hypervisor can divide cpu time pretty well, but RAM has to be committed to specific VMs. After you max out RAM, look for more cores (ie: a slower-clocked quad core as opposed to a faster clocked dual core), so that each logical machine (including the host) can have at least one dedicated core. You also asked about a specific technology for better VM support. With the exception of certain netbook-class processors, any processor/motherboard on the market today will support these technologies, so odds are you're already doing everything you can there. However, these options sometimes are disabled by default in the BIOS/UEFI settings, to look there to make sure your virtualization features are actually enabled. Finally, running multiple VMs can sometimes create a lot of IO pressure, so a good SSD or RAID setup can often help considerably.

Joel Coehoorn

Posted 2011-05-22T05:01:05.923

Reputation: 26 787

Core 2 Duo is 2 generations ago... perhaps things have been added since then. I'm sure at least that it doesn't support the "nested page tables" feature. – Billy ONeal – 2011-05-22T05:50:05.607

@Billy - Core 2 already included instructions sets for the biggest and easiest VM optimizations (the low-hanging-fruit, if you will), and they are still quite capable processors. RAM and more cores is really the better place to spend your time and money now. – Joel Coehoorn – 2011-05-22T17:54:36.303

Nested page tables did lower my boot by a factor of 3... RAM doesn't quite do that. :\ – user541686 – 2011-05-22T18:51:14.487

5

Intel does have a virtualization technology called VT that provides an instruction set tailored specifically towards virtual machines. The Intel ARK has a list of VT capable processors. You'll find quite a few mobile processors there as well as desktop.

jcrawfordor

Posted 2011-05-22T05:01:05.923

Reputation: 15 203

My current chip has VT and it's still really really slow though. :( – Billy ONeal – 2011-05-24T02:47:26.903

2

My current rig: 2nd Generation Core i7 Quad Core, 8GiB of RAM. Mine happens to be MacBook Pro but I'm pretty sure you'd get speedy results regardless of specific make and model. The other day I was successfully running a Debian and Window7 guest simultaneously, and then running XP mode within the Win7 VM.

Core i7 is hyperthreaded, so you wind up with 8 execution units, and 8GiB of RAM seems to be a decent amount of elbow room. However, as others have mentioned, a lot depends on what you're DOING in those VMs. If it's memory intensive, the number-of-cores is not going to be anywhere as important as how much RAM you can cram in and then allocate to the VMs. Swapping is never good; swapping within a VM is absolute death to performance.

So my advice first is to analyze what your real constraing resource is (RAM or CPU); then find a platform that will support that.

Michael Scott Shappe

Posted 2011-05-22T05:01:05.923

Reputation: 121

0

A powerful Intel Core i5 processor with 8 GB of RAM is recommended if you looking for best laptops for virtualization. Some of these are listed here:- 7 Best Laptops for Virtualization It should support Intel Virtualization Technology also called Intel VT-x

MJ Haider

Posted 2011-05-22T05:01:05.923

Reputation: 1

0

First of all, consider your budget! The last 10% improvements will be very expensive.

You need literally tons of memory and a fast disk. Go for a 7200 RPM or even 10000 RPM if traditional harddisk, or a SSD (but these are small). The RAM you do not need, will cache the disk so the more the better.

4 Gb is in my experience only enough for a single VM running if it does anything interesting.

Thorbjørn Ravn Andersen

Posted 2011-05-22T05:01:05.923

Reputation: 291

-1

I'm very happy with the performance of VMWare Workstation on my new laptop: a Thinkpad T520 with 8 gigs of RAM and the i7-2720QM, which is a 2.2 GHz hyperthreading quad core.

I was concerned about disk speed. I have an SSD boot drive, but even at 240G, a few VMs would fill it up quickly. So I got a big 7200 RPM drive that I put in the Ultrabay, and I run VMs from there. I'm sure performance would be better if they were on an SSD, but given all the compromises, I'm happy with this setup.

Ian Olsen

Posted 2011-05-22T05:01:05.923

Reputation: 9

please reword the answer so as to not reference any particuar products - product reference causes your answer to be dated fast. Suggest what technologies would you prefer to have ans why – Sathyajith Bhat – 2011-05-22T16:35:58.787