Page 1 of 2

Problems with VirtualBox installed?

Posted: Thu May 05, 2016 11:51 am
by erich56
I am very interested in in FH, so this morning I installed it on a PC with an older CPU (Intel Core2 Duo @3,74GHz) and a GTX970. Runs fine; except that the GPU of course, is a lot faster than the CPU.
I have another PC with an Intel i7-4930K, 6-core/HT, and two GTX980ti. On this PC, BOINC is running, among others with the ATLAS@home project which works under a VirtualBox. I could easily dedicate some of my total 12 CPU cores plus the 2 GPUs to Folding; however, somewhere in the BOINC forum I was told that Folding has a problem on a PC on which a VirtualBox installed.
Hence, I don't just want to do it by "Trial and error", and install Folding, risking that my current BOINC and/or VirtualBox get disrupted somehow.
Could anyone let me know whether the problem concerning VirtualBox is true fact, and if yes, whether there would be any way to circument the Problem.

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 2:43 pm
by bruce
Why are you proposing to run virtual box? Both BOINC and FAH are designed to run in the native OS and to use computer resources fully. Enabling virtual resources doesn't add any resources to what you already have. What's wrong with installing both BOINC and FAH without virtual box?

Your primary problem is how to get both FAH and BOINC to share resources in reasonable proportions and VB will consume some that currently aren't being used. Installing both BOINC and FAH on the same system leaves you in control of managing that balance.

For CPU resources, your 6 core/HT machine will be almost fully loaded with a total of 6 CPUs allocated to BOINC and FAH combined. Threads 7 through 12 add a little provided you don't need floating point, but in this case, not much. There are only 6 floating point units to be shared.

If you run FAH on your two GTX980ti's, they will provide a lot of floating point resources provided you leave a free virtual thread to drive each one.

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 2:47 pm
by 7im
Hello erich56, welcome to the folding support forum.

If Virtualbox setups were a problem, I think you could easily search this forum and find a few topics about that, if it was a problem. One caveat to all virtual guest software is how it supports GPU drivers, and passes that device through from the host to the guest. But the CPU passthrough is very mature, and easy to setup.

No offense to other forums, but you've come to the right place to get answers to questions about folding@home. Installing folding does not impact any other software.

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 3:05 pm
by erich56
Bruce, you may have misunderstood my post. As I said, the ATLAS@Home project uses VirtualBox. It cannot be run without the VB. So, when installing BOINC, I had to install the VB additionally.
Hence, not BOINC runs in a VB, but the Atlas project does.

And you are addressing an important point: sharing the CPU when running BOINC and FAH concurrently.
Right now, I am using 10 threads out of the 12 available: 2 are used for the 2 SETI@home tasks that are running on my 2 GPUs. 4 threads are used for ATLAS, and 4 for World Community Grid.

My vague intention, after installing FAH, would be to share the 12 threads between FAH and BOINC roughly half/half. I.e. 6 for FAH (plus the two GPUs), 4 for ATLAS, 2 for WCG.
Would this work? Would this make sense?
I am grateful for any comments.

However, as said initially: first I need to get clarified whether or not FAH would have Problems with the VirtualBox installed on the system for running ATLAS.

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 4:48 pm
by bollix47
Welcome to the folding@home support forum erich56.

The only problem with virtualbox and other similar types of software that I've seen is that they use their own GPU driver which means you can't GPU fold from within VB.

You can GPU fold on the host with the correct drivers from NVIDIA and still have VB installed for other purposes including CPU folding.

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 4:54 pm
by erich56
okay, this does not sound too bad.
Because I am using the VB only for ATLAS crunching (which, BTW, is done by the CPU only). Folding would NOT take place within the VB, but rather outside the VB.

However, there is still the question of how the sharing of the CPU threads could be accomplished, the way as I described it above. Any suggestions?

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 4:57 pm
by 7im
The fah client can be configured to use X number of CPU cores. Hopefully any other software can be configured to do the same.

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 5:08 pm
by bollix47
I.e. 6 for FAH (plus the two GPUs), .4 for ATLAS, 2 for WCG
As has already been stated you will need one CPU thread for each GPU folding instance in order to feed and unload the GPU, especially ones that will fold as fast as the GTX 980 ti. So the above might look like:

6 for FAH - 4 for CPU leaving 2 available for your GPUs
4 for ATLAS, 2 for WCG

The o/s and folding software do a pretty good job of keeping track of the usage but if you need to assign processes to specific threads, something like Process Lasso does work well.

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 6:03 pm
by erich56
7im wrote:The fah client can be configured to use X number of CPU cores. Hopefully any other software can be configured to do the same.
Yes, this can be done very well in BOINC, too.

I just looked up the "fah client advanced control" on the other PC where I installed fah this afternoon, just to see where/how exactly the number of CPU cores (or rather threads) can be set. I was assuming that this can be done in the "configure" tab; however, I did not find such a field where it says something like "use X CPU cores". In which sub-tab of the configure tab can this be done?

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 6:07 pm
by 7im
Slots tab. Select and Edit the CPU slot. First section on that screen.

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 6:10 pm
by Joe_H
Configure > Slots - then use the Edit function on the CPU slot after selecting it. A value of "-1" selected for the number of threads leaves the number of cores to the client, set by using the slider. An exact number, up to the maximum cores available, sets the client to use that number of cores(threads).

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 6:25 pm
by erich56
ah, okay, that's simple.
So, in order to have this:

6 for FAH - 4 for CPU leaving 2 available for the 2 GPUs
4 for ATLAS, 2 for WCG

I Change from -1 to 6, right?

How would this work for the GPUs: if I leave the value at -1, both GPUs would be used? Or should I set it to value 2 ?

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 6:37 pm
by Joe_H
Not quite right. Change the -1 to 4 for the CPU slot, there is no similar control for a GPU folding slot. The GPU core will use CPU resources as needed, in the case of nVidia GPU's and their drivers that is one core of a CPU in a continuous wait state to process the data being sent to and received back from the GPU.

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 8:06 pm
by bruce
erich56 wrote:Bruce, you may have misunderstood my post. As I said, the ATLAS@Home project uses VirtualBox. It cannot be run without the VB. So, when installing BOINC, I had to install the VB additionally.
Hence, not BOINC runs in a VB, but the Atlas project does.
You're right. I did misunderstand.

You're saying that your OS will be running FAH + BOING + VB and somehow they'll be sharing whatever number of threads you assign. VB cam be configured to use no more than N threads. So can FAH, and according to what has already been said, so can BOINC. An application running inside of VB may allocate the same number of threads, more threads, or less threads than VB is allowed to use. If Atlas requires more than you allocate to VB, then VB will enforce sharing in some way.

Perhaps the information you received about problems running FAH and VB and due to over-allocating the same threads. I'm not aware of any specific conflict unless FAH is unable to access CPU resources because they're busy doing something else. FAH runs most effectively if it has some fixed number of threads which are not interrupted by something else. A small number of DEDICATED CPUs is more productive than a larger number of CPUs which are constantly being interrupted.
7im wrote:The fah client can be configured to use X number of CPU cores. Hopefully any other software can be configured to do the same.
THe distinction I made earlier between "cores" and "threads" tends to become a bit obscure when you also add the term "CPUs". Hyperthreading (and a similar concept from AMD using a different name) creates two threads which SHARE one FP processor. Conceptually, this works well because a large majority of software uses (almost?) no FP resources -- FAH being a notable exception.

In fact, when you assign a number of CPUs, FAH does not distinguish and you're actually assigning that many threads ... plus you'll be leaving 2 free threads to support 2 GPUs. Performance will depend on how which threads share the FP hardware and what is going on on the other "half" of the Core.

FAH's CPU processing uses as much floating point resources as it can get, and there will be a difference depending on whther the other thread on the same core is a heavy or light user of FP. You may be able to manage this with something like Lasso, but most people leave the selection of threads to the semi-random assignment by the operating system. The CPU threads that FAH uses to support GPUs are light users of FP. For precise management, if you choose to go that route, you'll have to obtain information from the other heavy applications you're running.

Re: Problems with VirtualBox installed?

Posted: Thu May 05, 2016 8:48 pm
by bruce
bruce wrote:A small number of DEDICATED CPUs is more productive than a larger number of CPUs which are constantly being interrupted.
Because of this characteristic, perhaps the best FAH configuration would be to co your folding only with the GPUs. This will enforce a reasonable partioning of resources ans long as you leave approximately 2 threads to support the two GPUs. Do NOT use FAH to fold on CPU threads. Allocate whatever threads you need to BOINC and VB. (This would be outstanding if neither Atlas nor BOINC used the GPU resources.)