Virtual Machine performance

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0
Topic 193388

I have successfully attached my guest OS Virtual Machine (Ubuntu 7.10) to this project. First commentary is that my host OS (Windows XP Pro SP2) is now VERY sluggish with BOINC running inside the VM. This is to be expected though, as BOINC wouldn't be getting the message about not being idle. I have started running a result already, and in fact I am posting this from the VM. I do need to adjust my preferences to match my Windows preferences. I did put an EAH_NO_GRAPHICS out there as well. I am running the stock 4.20 application, not the power users application. Stock vs. Stock comparison needed to be done first. The results that I got were of a different frequency range, so not sure how I am going to be able to extrapolate whether or not performance is better or worse. I'll work on that when I get to it I suppose...

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0

Virtual Machine performance

Very early extrapolation:

Initial estimated time based on benchmark: 27 hours, 24 minutes, 2 seconds.
2% completion @ 19.1 minutes
19.1 x 50 = 955 minutes, or 15 hours, 55 minutes.

Prior results on my XP system were running around 13 hours. Have no idea what the credit is for this frequency range, so I don't know yet if the result should run longer or not.

2.75% completion @ 25.67 minutes
New estimation = 25.67 x 36.364 =~ 933.5 minutes

Seems estimation is coming down quickly.

3.166% @ 29.383 minutes = 29.383 x 31.586 = 928.1 minutes

4.000% @ 36.783 minutes = 36.783 x 25 = 919.6

5.249% @ 47.900 minutes = 47.900 x 19.051 = 912.4

Looks like a little slowdown in the decrease. I just had an issue where I forgot to turn off the XP BOINC screensaver and so I had to muck with it for a minute, so dunno what effect that had... In theory, none, as it should be counting cpu-time, not wall-clock.

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0

OK. The rate of decrease has

OK. The rate of decrease has about stopped, so unless things pick up again later on, the final runtime should be somewhere around 880-900 minutes.

So, what does that mean?

I don't know yet.

There are several issues that I can see with this VM. First, the devices listed are not the devices that I really have. For example, the chipset lists itself as an old Intel 440BX chipset, which was old Pentium II era stuff... Is that a problem? I dunno. I don't know enough about VMware to say that this is peachy-keen or not. However what I do know is that if my hardware isn't being run at full speed by the VM, then I cannot make this comparison.

Beyond that, I don't know if this frequency should be running longer or shorter, nor where I'm at in the runtime variation.

Current progress:
10.416% @ 94.283 =~ 905.2 minutes

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0

Well, browsing through the

Well, browsing through the VMware Workstation 6.0 manual, the 440BX chipset is what you get and all that you get. However, there are all kinds of tweaks, including a paravirtualized kernel and vmtools that I don't think the illustrious instructor did. I cannot find vmtools on this VM, so I don't think it is here. There is also mention of debugging / logging levels, snapshots, and other tweaks when setting up the VM. The way he should've done it when setting up a generic VM for a class is to have a fair amount of debugging, which is likely slowing me down. In fact, I had wondered why the VM was a lot more sluggish than I thought it should be. It is definitely slower than Windows.

Looks like if I want to be serious about this, I'm going to have to buy Workstation 6 and create my own VM.

Blah...

Current estimate = 896.4

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0

OK. Downloaded 30-day eval

OK. Downloaded 30-day eval copy of Workstation 6.0.2. Learned a few things:

  • * Simply checking the check mark for paravirtualization support is NOT a good idea. When I did that, the VM took literally 30 minutes to load, and probably a good 5 minutes to shut down. I unchecked it and it is working much better. Apparently something else is needed. I'm reading where this can cause significant gains in performance. Bear in mind that this is not the WindowsLinux overhead that I'm trying to reduce, but more of getting Linux virtualization performance boosted up closer to running like it was on non-virtualized hardware. Look up paravirtualization through Google if you want to know more. I'm learning as I go here... :-)

* The vmtools were indeed not installed. Workstation figured this out when it looked at the VM. I haven't installed them yet either. They may or may not help.

* The way the disk was set up, it is set to expand as needed instead of the space all at once. This causes slower I/O performance, but allows you to have a smaller virtual disk footprint on the host AND allows the use of the Shrink command to get the virtual disk smaller on the host.

* I'm tinkering with memory allocation. Currently reduced to 648MB (638.3 after the VM overhead). Seems a tiny bit faster. There is also a setting that controls how much memory the host can grab for VM support and if you want all of the guest's memory to be allocated or if you want it to be swapped. The instructor apparently set it all to be allocated, which is better for performance.

I have to go take care of some things in about 2 hours. I may tinker with this a little more later today, but dunno...

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0

Status update: VMTools now

Status update:

VMTools now installed (YAY!). It hosed my wheel on my Logitech MX Revolution, but that was easy enough to get back by editing x11.conf...

I do not know for certain whether the performance increase being seen right now is because of that or not, but current estimated runtime is 830.5 minutes, or 13.842 hours, or 49830 seconds. Credit is slightly lower, so runtimes should also be lower than for the results still sitting over on the host OS. That said, I know that the host's results are at the upper end of the runtime variation based on looking at the other hosts that have been working on the same result dataset. I still need to know where these results are sitting in the variation cycle to see what can be guestimated as a fair measure of what would be "equal" performance between the two.

THAT said, I think I still have two issues slowing down the VM:

1) The disk was set up to grow as needed, thus there is some overhead there at checkpoints and is probably greatly influenced by the web browsing to the forum here and my looking for help on getting things set up for the VM by using Firefox inside the VM instead of going back over to the host OS.

2) Paravirtualization is off. That said, I don't know if paravirtualization will help, hurt, or have no net effect on this workload. I just don't know enough about the technology. I have been able to determine that I'd need to reinstall the guest OS (Ubuntu) to pick up the support. I'll look around just a tiny bit more to see if I can find anything that disputes that.

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0

Well, it ended up being

Well, it ended up being 49860.12 seconds, and it has validated.

Moving on to the next task. Won't be doing as many posts on that. Only if something is substantially different this time around due to getting a "head start" with vmtools being there...

Edit:

Well, something substantial already found. The 2% completion point came at 17 minutes and 2 seconds, or 17.03 minutes, which is approaching an 11% improvement. Extrapolating out an 11% improvement across the entire previous workunit would save 5484 seconds, which is definitely not a runtime variation effect as I haven't seen sequential results of a series differ by that much...

So, hmmmm... What would paravirtualization do for me?

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0

Okie dokie. New substantial

Okie dokie. New substantial report:

Progression is definitely not linear. If it were linear, since it took 17.03 minutes to get to 2%, then it should at least take 51 minutes to get to 6%. Well, I just hit 5.999% at 43m, 43s.

Extrapolating that out, runtime for this result is already estimated down to 43724 seconds, which is a MASSIVE improvement over the prior result.

Edit: 13.750% @ 1:37:24 = estimated 42502
Based on the way the previous result performed, I should see a plateau for a while, then another performance increase later. This result could come in under 40000 seconds...

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0

Hit a slowdown. Dunno why.

Hit a slowdown. Dunno why. Memory usage by the VMware-vmx process in Windows had gotten up 706,000K+. I reduced memory to the VM again, down to the recommended 512MB (reports lower than that inside the VM itself). The same vmx process is now showing only 570,040K in Task Manager, so I have about 136,000K (approx) less utilization in Windows, which should make my true OS and VMware Workstation play a little better.

Lesson to be learned: Virtualization like this is not going to be indicative of native performance and seems to require a good "balancing act" to figure out where the best performance point is for memory allocation.

Current progress = 20.749% @ 2:38:47 = extrapolated runtime of 45915 seconds

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0

OK, so here's the deal on

OK, so here's the deal on paravirtualization:

It don't work.

The VMware Workstation OS Installation guide states the following
[pre]
Ubuntu Linux 7.04
This section contains product support, installation instructions, and known issues for the Ubuntu Linux 7.04 operating system.
Support
32-Bit Version
This guest operating system is supported on the following VMware products:
• VMware Workstation 6.0.1, 6.0.2
Experimental support for 2-way Virtual SMP on Workstation 6.0.1, 6.0.2
Experimental support for paravirtualization on Workstation 6.0.1, 6.0.2
[/pre]
Based on my struggles with it, "experimental" is a very accurate statement. In my case, the experiment fails. I tried creating a new VM with the support enabled, and I got a hardware failure on something during setup, after it was being super slow anyway...

So, what I've done is I've created a new VM that I'll eventually bring online. This VM was built by me, on my machine, instead of by my afore-mentioned (in other threads) illustrious Linux Uber-geek instructor. It has the disk allocated fully and has no chance of being an SMP-capable machine. The install is still underway and will have me at 7.04. I'm going to then update to 7.10 and then get GCC and some other things installed that are required to compile VMtools (oh, yeah, forgot to mention that you have to compile the stuff, and even still, the shared folders support module fails to compile, but that's not really needed by me)...

From there, I'll attach that NEW host to here and see what happens...

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282,700
RAC: 0

Blah. Yes, BLAH! I have a

Blah. Yes, BLAH!

I have a new VM, but I'm reading that vmtools is not fully supported for Gutsy Gibbon (Ubuntu 7.10). Looks (to me) like the faster network driver isn't loaded and possibly the faster memory driver. Not sure yet about that though. I'm going to peruse the vmware forums and see what I see...

Due to deadlines of the 30th on my XP side (the real host), I'm finishing up at least 1 more result there today...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.