More On Parallels
By nilsn on Apr 19, 2006
Parallels released an updated beta of their virtualization software for MacIntel today. Among the problems they claim to have fixed is the "host machine panics when it sleeps" bug. Since I am now retyping this blog entry after a MacOSX panic, I can testify that this bug in fact has not been fixed - at least not in all cases.
The most annoying bug I found last time (the broken "\\" and "|" keys) is still there. Luckily, somebody posted a workaround in the comments section of my last entry, so this has been downgraded from Showstopper to Annoyance. Also still present is the PCI timeout problem.
The only real improvement that I've found is the addition of full-screen support, which is a big step forward in usability. In full-screen mode, the mouse tracking does get better. I would prefer it if they polled a little more frequently, but I can live with it.
More on networking performance. As a zero-effort bandwidth test, I used ftp between my machine at home and either ftp.gnu.org or my machine at work. I also tried two different technologies to get through Sun's firewall: IPSec on Solaris and a third party VPN solution on Mac OSX.:
|Mac OSX||ftp.gnu.org||None||634 kB/s|
|Parallels/Solaris||Sun Machine||IPSec||161 kB/s|
|Mac OSX||ftp.gnu.org||VPN||240-290 kB/s (bouncing all over the place)|
|Mac OSX||Sun Machine||VPN||240-300 kB/s (bouncing all over the place)|
Obviously IPSec from inside the VM had the worst bandwidth for this test, backing up the qualitative assessment I made in the last entry. It is delivering only about 25% of what I can get with a direct connection to the network. Since the Parallels network interface delivers more than 95% of the raw network bandwidth to the Solaris VM without any tunnelling, this drop in performance is either the fault of the IPSec software, or its interaction with Parallels.
VPN looks better in this simple test, but in practice I often have it hang on me for seconds or minutes at a stretch. The lower, but more reliable, performance of the IPSec solution is much easier to work with interactively.
There are still some tests I need to do to fill out the picture. First, I need to measure the IPSec performance on a non-virtualized Solaris machine. This will tell me how much of the performance loss can be blamed on the interaction between IPSec and the virtualization environemnt. Second, I want to measure the performance of Solaris IPSec when running in a VMware machine. This will help determine whether this performance drop is specific to the Parallels VM or if it is a common virtualization problem.