Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Aquarium / Aquarium in a virtual machine
- - By pawnslinger (****) [us] Date 2018-11-03 07:35
I am thinking of upgrading my system (again) and going with Linux for my main OS.  And I would like to run Aquarium in a virtual machine (using Windows) in the Linux environment.  Has anyone tried this?  If so, I would appreciate hearing of your experience.

The reason that I am considering this is that Windows apparently runs poorly on higher core count AMD processors, whereas Linux appears to run very well.  By higher core count, I mean the new 24 and 32 core threadripper SKUs.
Parent - - By Felix Kling (Gold) [de] Date 2018-11-04 11:07
You will try to connect (via inbetween?) to the engine running on Linux then, right? This should work, but I didn't test it yet. I use virtualbox as VM, but only to run some chessbase stuff.
Parent - - By pawnslinger (****) [us] Date 2018-11-05 06:22
I had not thought of using "inbetween".  My thinking was to run all in a virtualbox,  Maybe "inbetween" would be better, I will check it out.
Parent - - By Ghengis-Kann (***) [us] Date 2018-11-05 22:46
Hi Pawnslinger.

Do you have links to reference why you believe that Windows runs poorly with higher core counts?
I am planning a 2990WX build some time in the Spring.

My understanding is that the problem is limited to Windows 10 because of the way it schedules threads, but AMD released Windows 7 drivers for those chips and that is what I am planning to use.

Also, running Windows in a virtual machine is still running Windows, so I can't understand how you could possibly gain anything by adding an interpretive layer to Linux on top of that.
Parent - - By pawnslinger (****) [us] Date 2018-11-06 00:03
Just some benchmark videos on YouTube showing results from synthetic runs on 2950x vs 2970wx or 2990wx.  Using Windows 10, the benchmarks show the 2950x nearly as good as the higher core count chips.  I don't know about Windows 7.  I did see one benchmark that showed SF running on a 2990wx under Windows 10 and it performed very well, in my opinion.

And of course, I have been looking to ditch Windows anyway.  Aquarium is the only program that I use that keeps me running Windows.  I have used Linux and Unix in my professional career (now retired) and I prefer it.  So perhaps the benchmarks are just an excuse.  The channels on Youtube that had the benchmarks were "Hardware Unboxed" and "Level1Techs".  There are probably others, but those are 2 of my favorites.
Parent - - By Ghengis-Kann (***) [us] Date 2018-11-06 00:48
I poked around a little and found this on Reddit:

The default Balanced power profile (as the tests were done on out-of-the-box Windows) is horrible for all AMD CPUs I've had over the past decade, whether on Windows 7 or 10. The numbers in the test are similar to what I'm used to see, and I'm pretty confident they would be on par with Linux if run on High Performance power profile. For some reason it takes Windows' Balanced profile super long (100's of ms) to detect high CPU usage and to raise the frequency and unpark cores. It's not that bad on 1800X, as on older CPUs (have tested 5350, FX-8150, dual 6282SE

I turn off CPU parking with registry edits, but it's not something your average Joe is going to get into.

I'm totally in agreement about not liking where Windows is going, which is why I have retro'd back to Win7.
I would switch to Linux if the (non-chess) games were available there and if Aquarium would run.

Please keep us posted about how this goes.
I'm saving up every penny I have to build one of those monsters in April for the primary purpose of chess analysis, and am open minded about the possibility of using Linux.

P.S. my go to guys for hardware reviews are over at [H]ardocp: [url=]https://www.hardocp.com/article/2018/08/13/amd_ryzen_threadripper_2990wx_2950x_cpu_review
[/url]
Parent - - By pawnslinger (****) [us] Date 2018-11-06 02:20
Yes, I had heard about the Balanced profile issue... I don't think that is the issue with the 24 and 32 core AMD cpu's.  Since the 2950x (16 cores) runs very well under Windows.  I think it is a problem with the memory controllers.  The new threadrippers have 4 Zeppelin dies, only 2 of which have direct memory access.  This causes a problem, when Windows assigns workload to those dies, when a die with direct memory access is available.  Needlessly slowing things down.  The 2950x uses only 2 Zepplin dies, and both have direct memory access, so no scheduling problems.
Parent - - By Ghengis-Kann (***) [us] Date 2018-11-06 19:12
That theory should be easily testable by looking at the specific benchmarks, since some are more dependent on memory access speed than others.

Unfortunately I am at work right now and actually have to work instead of investigating that.
Parent - - By pawnslinger (****) [us] Date 2018-11-06 21:32
I guess retirement has some benefits:cool:
Parent - - By Ghengis-Kann (***) [us] Date 2018-11-07 01:20
This is kind of out there, but might be worth a try...

Steam now contains a Wine variant called Proton that has successfully enabled over 2,700 Windows games to be played on Linux computers, with that number continuing to grow.
It is possible to add non-Steam games to a Steam account, so it may be possible to run Aquarium in this way.

Of course there is a performance hit from the emulation layer, but if the Threadripper chips truly do run better on Linux then maybe it would cancel out some or all of that.
You could do the same with Wine outside Steam, but Valve is a huge company that will be working to keep Proton up to date and improving over time.
Parent - - By pawnslinger (****) [us] Date 2018-11-07 07:28
I am not familiar with Proton, I will have to look into it.

I did try Wine though... without much luck.  Aquarium requires some libraries that are not easy to obtain... I was not able to solve the problems.  I think that earlier versions of Aquarium DID run under Wine without too much difficulty, but then a major change was made in the development tools used by the Aquarium developers... which left Wine and Linux in a tough spot.

Some folks say that they have got it working, but honestly I did not understand what they did to make it work.  I was unable to follow the instructions they gave, so I was unable to duplicate their success.  But I was trying running Linux on a virtual machine under a Windows host.  Kind of weird, I know, but it is a simple way to run Linux without throwing out Windows.  But if Windows no longer is a good host???  Then perhaps it is better to do the reverse, run Linux as the host and Windows in a virtual machine.  That should solve the Wine compatibility issue, since Aquarium will think it is running on native Windows.  Yes, there will be an emulation hit to performance, but that should only affect OS interfaces, since the code will still be running on a native x86 processor... so the hardware won't need emulation, as I used to do when I had a Mac running the old IBM processor.  My mom used to own an old Mac and wanted to play card games only available for Windows, so I loaded a virtual machine on the Mac to run Windows.... that was super slow, because the whole x86 system had to be emulated, not just the OS.
Parent - - By Ghengis-Kann (***) [us] Date 2018-11-07 18:44
Maybe I'm a little confused here because I have never actually used Linux, but I don't think you need to run Windows in a virtual machine with Wine or Proton.

They are interpreters that convert Application Program Interface calls so that the operating system and program each understand what the other one is "saying".
This should work in a pure Linux environment.

If you want to set up both without obliterating Windows then a dual boot configuration makes sense, where you pick one or the other when the computer starts up.
Parent - By pawnslinger (****) [us] Date 2018-11-07 22:11
Dual boot is really complex... i.e. you need to reboot to switch between.  With virtual machines, you can use pretty much whatever client OS you wish and switching between is seamless.  If you haven't tried it, you might want to give it a go.  It is really neat, lots of people do it just to get some security... i.e. they run Windows virtual machines within a Windows host environment, just so that the Trojans and viruses, worms, etc cannot destroy you host computer.

Wine has a problem with libraries.  Runtime libraries, like the one that Microsoft redistributes for C/C++... I don't pretend to understand what the problem is, there are threads here that talk about Wine and this problem in much greater depth than I can understand... we are not the first to discuss this here.  When run in an x86 environment, Wine is not an interpreter.  It traps the OS interface calls and redirects, reformats, reprocesses them, whatever necessary, to Linux counterparts.  But the program is able to execute otherwise right on the metal of the x86... assuming it is compiled x86 code and not some sort of p-code.

With Windows running in a virtual machine, the client program is actually running in a Windows pure environment, as far as it can tell, so all the normal libraries come installed properly.  The only reason that I can see to try and use Wine instead of a virtual machine, is that old cpu's didn't have enough resources to share, but with the dawn of 16-64 core cpu's... there is plenty to share.

By the way, the new AMD Epyc processor, with 64 cores looks like a real beast.  I wonder what the price tag will be.

You are correct, you do not need a virtual machine to run Wine (why would you think that?).  I was running a virtual machine to run Linux.  Running Linux in a virtual machine is a super easy way to run     Linux on a Windows based system.  I was doing it that way for testing purposes.  I would never advocate that as a production setup.
Parent - - By Felix Kling (Gold) [de] Date 2018-11-07 21:52
Aquarium will install on Wine (maybe you need to try the 32 bit version), the "only" problem is that writing trees doesn't work since Aquarium 2016.
Parent - - By pawnslinger (****) [us] Date 2018-11-07 22:12
Writing trees seems an important thing... yes it installs under Wine, but is not usable by me.
Parent - - By Ghengis-Kann (***) [us] Date 2018-11-08 19:14
I don't think you will get any improvement by moving away from Windows.

This describes how I turn off core parking in Windows 7: http://forum.cakewalk.com/Windows-7-amp-Core-Parking-a-better-way-to-Turn-It-OFF-m1861804.aspx
It will almost certainly work in Windows 10 as well.

Go to advanced power settings and turn everything to max.
Go into your motherboard's bios and turn off thermal throttling.
While you are there try increasing the memory speed to see if you can get stability at a higher clock.

The newest AMD chips come with a pretty good self-overclocking functionality called Precision Boost 2 that clocks the chip up to whatever it will do without going over 68 degrees C.
This enables you to increase performance with superior cooling solutions without having to take the full plunge into manual overclocking.
If you want to go there it is controlled by Precision Boost Overdrive, but enabling that will void your warranty.
Parent - By pawnslinger (****) [us] Date 2018-11-08 19:52
I don't think we are talking about the same thing.

Cores never get parked on any of my machines.  I am almost always running them 90% or more utilization.

Perhaps it is all moot, as I don't think I will be able to afford a new system next year... too many unexpected family expenses have cropped up recently.
Up Topic Rybka Support & Discussion / Aquarium / Aquarium in a virtual machine

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill