#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

# Ether mining "rig" discussion for dagger algorithm

Member Posts: 14
edited March 2014 in Mining
I don't mine anything now and I'm no expert, but I've been thinking about optimal setups for dagger mining and so I thought I'd start a discussion about hardware. My conclusions are that one would want the highest speeds per core possible, and the most amount of these cores per motherboard because memory at current prices and motherboard ram limits are the biggest bottleneck when considering anything GPU-like.

An overview of the algorithm: https://github.com/ethereum/wiki/wiki/[English]-Dagger

First I'll discuss what I don't understand. I don't know much about multi-core systems, whether they will actually scale well for dagger mining, as in, does an 8 core CPU really perform around twice as well as a 4-core with the same speeds. Is it possible for any part of the algorithm to be computed in parallel? There seem to be different "levels" to the algorithm which must be done in order. However, could each of these "levels" be done in parallel? I assume no because that is the point, but I don't completely understand the algorithm in the first place.

Also, there is randomness in the algorithm, forcing many computations to be done but only using a subset of the results of each level. Is this subset deterministic? If not, how can the result be verified unless one must actually calculate the entire algorithm again?

So, assuming none of it can be done in parallel, it seems that ideally the total clock speed, without going over memory, is roughly proportional to ether mined. This is ignoring memory speeds which I may be wrongly assuming is negligible. Assuming ideal conditions and that each mining thread needs at least around 512Mb (from the spec?), having a 2GHz single core CPU would give the same output as a 2 core 1GHz CPU, but require twice as much memory. Furthermore, I think hyper-threading or having two "virtual" cores on one physical core would be absolutely useless unless there is some optimization with discarding a path before completing.

I think a PC using a high-speed CPU with many cores is the best tradeoff price-wise, especially considering that an 8-core CPU would only need 4Gb of memory. You'd of course want at least 8 or so, but 2 4Gb memory sticks go for pretty cheap. I suppose adding on a GPU with a high clock-rate would still be beneficial, but there are much faster diminishing returns because of the cost of a more expensive motherboard and more expensive memory, with memory being the main bottleneck.

Here's an example CPU: http://www.newegg.com/Product/Product.aspx?Item=N82E16819113346

In this example, would the shared caches limit performance and multiple dagger instances running truly on separate cores?

I'll just note that if Ethereum really takes off, the "gamer" crowd won't have such a huge advantage over the normal decent-CPU-owning population. Especially because many gaming PCs don't focus on ram over 8Gb and so barely any GPU cores would be usable and they're slow to begin with.

And finally, why not bump it up to 0.75Gb or 1GB per thread? Based on current CPU to memory cost ratios, with 8 cores being the most efficient CPU, it won't really hurt CPU mining at all, and it will further hurt GPU and potential ASIC mining in a linear fashion. On the other hand, that would really hurt phone/small device mining and I do recall a talk where someone said phone mining would be feasible.

Hopefully this gets a discussion going about optimal rigs, though it seems there aren't any "special" setups that are orders of magnitude better than a given normal PC in the same price range.