Bitcoin Forum

Bitcoin => Mining => Topic started by: darbsllim on May 26, 2011, 08:25:40 PM



Title: Pool Rotator
Post by: darbsllim on May 26, 2011, 08:25:40 PM
Anyone working on a pool rotator which would even out the load more among all the pools to help spread the ghash around?


Title: Re: Pool Rotator
Post by: w128 on May 26, 2011, 08:30:04 PM
Anyone working on a pool rotator which would even out the load more among all the pools to help spread the ghash around?

Are you thinking this would be a client utility? If so, it would be pretty trivial to create for Linux miners as a crontab could be generated that would start/kill mining processes on a schedule.

The one thing I'd be concerned about is a loss of hashing time due to stopping the processes outright. If you address to hashing processes to the same device will they timeshare? If so, the kill could come after the start in order to maximize efficiency.

I intend to create something like this if/when I transfer my cards into one of my servers from my desktop. My intent was split time between pool and solo hashing as a kind of lottery play.


Title: Re: Pool Rotator
Post by: redhatzero on May 26, 2011, 09:20:50 PM
I've built something like a loadbalancer, you have a list of Pools with Adresses, Ports, Usernames & Passwords, and every X Minutes the next one on that list is picked.
The Miners are pointed to the loadbalancer, the loadbalancer then connects to the pools. It's a little bit based on the "bitcoin-mining-proxy" I found on github. (Since it's a PHP script, you need a webserver for that...)

It's far from beeing perfect though... It supports longpolling, but it can't track to what server a response should be send... So if you got a working unit from server A it might happen that in the meantime the loadbalancer switched to server B... so the result is sent to B, and B discards it as invalid...

Nevertheless I'm quite happy with it ;) running 6 miners on 5 different pools =)


Title: Re: Pool Rotator
Post by: grue on May 26, 2011, 09:38:23 PM
this is a terrible idea on pools that use a score based system.


Title: Re: Pool Rotator
Post by: w128 on May 26, 2011, 09:50:07 PM
I've built something like a loadbalancer, you have a list of Pools with Adresses, Ports, Usernames & Passwords, and every X Minutes the next one on that list is picked.
The Miners are pointed to the loadbalancer, the loadbalancer then connects to the pools. It's a little bit based on the "bitcoin-mining-proxy" I found on github. (Since it's a PHP script, you need a webserver for that...)

It's far from beeing perfect though... It supports longpolling, but it can't track to what server a response should be send... So if you got a working unit from server A it might happen that in the meantime the loadbalancer switched to server B... so the result is sent to B, and B discards it as invalid...

Nevertheless I'm quite happy with it ;) running 6 miners on 5 different pools =)

Very cool. A proxy solution is a great idea. Now it just needs to maintain state. I wonder how much extra performance you could eek out by prefetching work in order to feed your nodes a steady, low-latency stream?


Title: Re: Pool Rotator
Post by: redhatzero on May 26, 2011, 10:08:32 PM
this is a terrible idea on pools that use a score based system.

More or less (for score based: sure.. for the others... maybe, maybe not ;) )... I'm still in the testing phase, having a look at this pool and that pool... plus I'm testing out a own pushpoold
I'll agree that it probably isn't the best way earning wise. But I'm happy to have a central place where i can steer the miners to a specific pool and not having to log in to every miner and kill/restart them (most of the miners are cpu workers anyway...)


Very cool. A proxy solution is a great idea. Now it just needs to maintain state. I wonder how much extra performance you could eek out by prefetching work in order to feed your nodes a steady, low-latency stream?
Maintaining state with a stateless protocol is somehow... urgs ;) Still not sure how that can be solved (without restrictions like 'every miner has to have a unique username')
Prefetching sound's like an interesting idea, not sure if (or how much) it makes much sense with the more or less short living data packets? (But since I was thinking about playing around with a queuing backend like it's (probably) used for bitp.it I'll definatly have a look in it)


Title: Re: Pool Rotator
Post by: Iceredwing on May 26, 2011, 10:12:02 PM
well I guess if everyone is doing it and there is no harm? I'm sure someone who's not doing this is gettin the short end. Personally I'm glad I'm still able to solo and get away with it still avoiding issues like these.


Title: Re: Pool Rotator
Post by: swerving on May 26, 2011, 11:25:19 PM
I'd like to see a client that allows you to specify "backup" pools in case the one you are mining from goes down or runs out of work.


Title: Re: Pool Rotator
Post by: w128 on May 26, 2011, 11:36:47 PM
well I guess if everyone is doing it and there is no harm? I'm sure someone who's not doing this is gettin the short end. Personally I'm glad I'm still able to solo and get away with it still avoiding issues like these.

Doing what? Pool hopping to gain some kind of advantage?

Hardly.

As I understand it, a rotator would have to be a lot more intelligent than a simple load balancer to be used for that purpose.


Title: Re: Pool Rotator
Post by: redhatzero on May 26, 2011, 11:56:13 PM
I'd like to see a client that allows you to specify "backup" pools in case the one you are mining from goes down or runs out of work.

The bitcoin Mining Proxy (and More or less my loadbalancer) can handle that. Still, if a Client would support that, it would be even better...