Page 1 of 2

Optimizing cloud client settings

Posted: Tue Jan 08, 2019 2:20 pm
by zakman14
I just recently started folding, and in addition to running the client on my home computer, I'm also playing around with a client on a cloud-based server in order to get a few extra points. I've managed to get it up and running, but want to make sure I have it configured correctly. Server is a DigitalOcean "CPU-Optimized" droplet (server), Ubuntu 18.04, with two dedicated vCPUs (both Xeons). htop shows both CPUs running at full tilt, 100%.

Here's my config.xml (with identifiable data X'd out):

Code: Select all

<config>
  <!-- Client Control -->
  <fold-anon v='true'/>

  <!-- Folding Core -->
  <checkpoint v='10'/>

  <!-- Folding Slot Configuration -->
  <gpu v='false'/>

  <!-- HTTP Server -->
  <allow v='XXX.XXX.XXX.XXX'/>

  <!-- Slot Control -->
  <power v='FULL'/>

  <!-- User Information -->
  <passkey v='xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'/>
  <team v='xxxxxx'/>
  <user v='xxxxxx'/>

  <!-- Web Server -->
  <web-allow v='XXX.XXX.XXX.XXX'/>

  <!-- Folding Slots -->
  <slot id='0' type='CPU'/>
  <slot id='1' type='CPU'/>
Are there any changes I should make to have the client run a bit more efficiently?

Re: Optimizing cloud client settings

Posted: Wed Jan 09, 2019 7:22 am
by rwh202
I'd have thought a single CPU slot, running 2 threads would be better:

Code: Select all

<slot id='0' type='CPU'>
<cpus v='2'/>
</slot>

Re: Optimizing cloud client settings

Posted: Thu Jan 10, 2019 7:14 pm
by bruce
The most important sources of inefficiencies are things that are out of your control. You have no idea how much CPU time will be allocated to your vCPUs or how their priority fits it with other customers of that service.

When you set a slot for cpus=2 the FAHCore will create two tasks BUT on a real CPU, you can assume both of them will run at approximately the same speed. That might be true on a pair of vCPUs or it might not. the overall speed of a single slot will roughly correspond to half the speed of the SLOWEST of the two. Thus the cpus=2 setting might hav undesirable effects

Please post the **** System **** segment at the top of FAH's log.

Re: Optimizing cloud client settings

Posted: Fri Jan 11, 2019 6:15 pm
by foldy
He said "two dedicated vCPUs" where dedicated means the cores are not shared with other users, so you can run them at 100%. (The whole CPU with xx cores is shared by users but every user gets its dedicated cores.)

Re: Optimizing cloud client settings

Posted: Sun Jan 13, 2019 9:38 pm
by bruce
OK, so what's the difference between a dedicated vCPU and a dedicated CPU?

Certainly one vCPU < one CPU.

Re: Optimizing cloud client settings

Posted: Mon Jan 14, 2019 4:27 am
by ProDigit
The more cores, the better.
Though one Xeon CPU runs roughly as efficient as a GT 1030 graphics card.
These cards can be gotten really cheap nowadays, and surely save you money in the long run on your electric bill alone.
Each card uses 1 CPU thread, so your remaining CPU threads will be still available for other projects (shared).

Your server probably doesn't really need the graphics card for most of the time, so if you could install one, and just run folding from the GPU, you'd get a lot more work done on a lower cost,while still keeping about 90-95% of performance on your server.
If you really want to get work done, an RTX card will do that, provided you have a 550+W power supply in it.
But I myself have my Xeon server running a 500W power supply, with soon only 1 true graphics card (RTX 2070), currently running a 1060+1050+1030; while total power consumption remains under 300W.

So my solution would be to install a second hand GT 1030 (goes for as low as $40), adds about 30W to your system, or a used 1050 ($70, ~70W)

Re: Optimizing cloud client settings

Posted: Mon Jan 14, 2019 7:56 pm
by foldy
@bruce: On cloud servers 1 dedicated vCPU means one CPU core of a multi core CPU. The other cores are used by other users. The operating system locks all your processes to e.g CPU core #5 of a 32-core CPU while other users' processes are locked to other cores. This garantees that only you can run processes on core #5. It is the same with a part of system RAM.

A dedicated CPU without (v) means it is not virtual which means it is not part of the cloud. You get a complete PC hosted with full CPU, RAM, disk whatever is in this PC.

A dedicated vCPU should be almost equal fast than dedicated CPU.

A non-dedicated vCPU is a shared vCPU core which means you and other users have processes running on 1 vCPU core concurrently. So these processes can disturb each other and the more users are on that shared vCPU core the worse the performance gets. But these shared vCPUs are cheap mostly used by users which do not need 100% CPU core but only spikes like 100% for 1 sec and then 10% for 10 sec and so on. So 10 users can share the non-dedicated vCPU core without much performance loss.

Re: Optimizing cloud client settings

Posted: Mon Jan 14, 2019 8:42 pm
by Joe_H
@foldy - If you pay for 2 or more dedicated vCPU's is there any guarantee that they will be on the same physical CPU? I can see there being NUMA issues if they are not, and that would slow down folding using multiple cores.

Re: Optimizing cloud client settings

Posted: Mon Jan 21, 2019 6:32 pm
by zakman14
Thanks all for the information. I hunted around a bit more and eventually signed up with vast.ai, a GPU-based cloud service. Much better results with those GPUs than I ever would have seen with a couple of CPUs.

Re: Optimizing cloud client settings

Posted: Mon Jan 21, 2019 10:38 pm
by toTOW
I think I will never understand how people could like cloud services more than dedicated machines ... :?

Re: Optimizing cloud client settings

Posted: Tue Jan 22, 2019 11:55 am
by foldy

Re: Optimizing cloud client settings

Posted: Tue Jan 22, 2019 12:36 pm
by foldy
Joe_H wrote:@foldy - If you pay for 2 or more dedicated vCPU's is there any guarantee that they will be on the same physical CPU? I can see there being NUMA issues if they are not, and that would slow down folding using multiple cores.
I don't know guess it depends on the provider but it would make sense if you order 2 dedicated vCPUs that they provide you cores of the same physical CPU. It is more a question if you order 100 dedicated vCPUs then they must provide it using several physical CPUs.

Re: Optimizing cloud client settings

Posted: Wed Jan 23, 2019 1:43 am
by bruce
I would assume the same thing; Getting 2 vCPUs is most like getting a pair of hyperthreaded CPUs on the same physical CPU.

Re: Optimizing cloud client settings

Posted: Thu Jan 24, 2019 1:24 pm
by ChristianVirtual
Suggest also to read the TOS ... often the forbid to use mining and other long-running processes on shared servers ...

Re: Optimizing cloud client settings

Posted: Thu Jan 24, 2019 7:29 pm
by zakman14
toTOW wrote:I think I will never understand how people could like cloud services more than dedicated machines ... :?
I hear you, and I agree...not ready to make the jump to a dedicated server just yet, but wanted to get some WU's done and some points on the board.

Hopefully will have a system of my own soon :)