How to properly mine ZCash day 1?


#1

Hi,

I am a very small fish investor and am interested in ZCash. What should I buy to mine ZCash ?

The EquiHash algorithm is CPU focused. So normal computers with powerful CPUs will simply do ?

What I am afraid is that big players will also mine. So will I even get anything ? Then what should I buy to mine ZCash ? Or maybe Renting ? Then where ?


#2

Many people have been asking the same question about what the optimal set up will be and at this point it is too early to say.
The Zcash team has chosen equihash to specifically make it ASIC resistant. I do know that it will be CPU friendly and the Zcash team has a target of around 1GB per thread for optimal performance, so a rig with say 4 cores /8 threads would need about 8-10GB of Ram to run properly, and adding tons more Ram likely will not increase performance. The code is still early in development and currently there is no GPU miner so it's really not possible to get proper benchmarking data to do a direct CPU vs GPU comparison. There will be a GPU miner coming and they are working on making algorithm changes to allow it to run in parallel thereby taking advantage of more cores of the host. But for now it's impossible to know what hardware will run it best so purchasing anything for mining Zcash now would be premature.
Your best bet is to take some time to learn the basics of Zcash and Linux so when the day comes you will be ready to mine.


#3

Thank you ! I see now, it has been very informative :slight_smile:


#4

Is 2 threads per core some kind of limit? How many threads per core would be possible?

The Equihash paper says RAM bandwidth, not RAM size, determines the limits, provided you have enough additional "processors" (threads?) per 1 GB. For example, you might need 1 GB to fully utilize a thread that is operating at some bandwidth. But if that is using only 10% of the bandwidth that the RAM is capable of, you could run 10 more threads. Maybe it requires special "parallelized" programming to allow the threads to run concurrently on the same RAM.

The blog says 1 GB per thread is what they have set the parameters for. Is that based on the bandwidth of DDR3 type RAM, or have they assumed you can only run 1 thread per 1 GB of memory?


Ran the daemon for a night in mining mode, not sure if it has mined anything
#5

Right now the code is not optimally parallelized to take advantage of the additional threads you give it. Which is why if you benchmark your processor with 2 threads or 8 threads running one instance of Zcashd you won't see any reduction in Equihash solve time.
They have said the final code will be better parallelized so that it will use those additional threads, then once that happens it will shift the bottleneck of processing performance to the speed of the threads and bandwidth of the memory.
It's this behavior that also makes it ASIC resistant because those thousands of cores still have to access the few GB of memory at the same bus speed.


#6

This mightn't be relevant in the short term but what if the best hash rate for money spent turns out to be something like the PiZero? Paying a premium for the fastest memory will achieve a high hash rate per device but how many PiZeros could be bought for the same cost?


#7

Then the current bottleneck is the number of threads your CPU is designed for times it's speed? With the current code, best bang for your buck would be moderate CPU with 8 threads x 4 cores = 32 threads and 32 GB of slowish (cheaper) memory?


#8

Bottleneck is memory bandwidth, investing in faster memory should be better than investing in CPUs. Increasing number of mining threads won't result in linear increase of hashrate.


#9

You're miscalculating. Why would you 8x4? No "moderate" CPU has 32 threads.
Your average 4 core i5 or i7 processor has 8 threads. The only way you would get 32 threads on a machine is if you had 4 CPUs on one motherboard.


#10

Why would you 8x4? No "moderate" CPU has 32 threads.

I mis-interpreted intel's website as "per core" because it said "on a core" in its definition of threads. Thanks.


#11

I am very doubtful there are going to be any optimizations that are going to make 16GB DDR3 1333 MHz RAM per CPU w/ 8 thread CPU obsolete by launch. I would not expect more than a 4x loss in efficiency per dollar spent compared to the upper 15% or so of miners, assuming AWS EC2 is not a clear way to go. My reasons for thinking this are:

1) The developers are biased towards CPUs, and I can't see that they are planning to optimized for GPUs.

2) There's no easily-available algorithm let alone code for optimizing GPUs for Equihash. If and when it becomes available, then you can get it. But I would not wait a month and miss out on a time when people are NOT using the GPUs efficiently. We don't have to run fast, we just have to run faster than each other.

3) If bandwidth is the limit, and GPU method is not made available, then the RAM+CPU cost per B.W. seems 3x more to get double results (DDR3 system verses DDR4).

4) If memory is the limit and the CPU can somehow make use of 32 GB with only 8 threads, despite the developer's goal of requiring 1 thread per GB, then 16 GB has loses only half.

Launch is supposedly only a month or two away, although a 3 month delay would seem normal because they have have not declared it is likely.


#12

The number of CPU cores is the factor that influences how much simultaneous processing can be done - and then only if other I/O considerations permit those cores to be kept busy. It is typical for modern motherboards to provide multiple memory channels but I'm unaware of whether or not operating systems load-balance their processes across these channels as readily (or at all) as they do across cores.

The current (z6 release) Equihash parameters within zcashd are causing its memory usage to peak around 470MB but that doesn't mean it's reasonable to have two mining threads per GB of memory. Providing that this processing can be balanced (and segregated) between multiple memory channels, I suspect the most efficient use of resources will be to have one mining thread per memory channel.


#13

Bump for new users to see thread


#14

If someone can help me get going with Mining next week I can benchmark it on a new 16-core (32 thread) dual Xeon with 128 GB.


#15

They are likely going to release z9 today which will fix the network bug. Once that rolls out you should be able to follow the Public Alpha Guide
https://github.com/zcash/zcash/wiki/Public-Alpha-Guide
To get mining, if you get stuck drop by here for help.

You can post your results in this thread https://forum.zcashcommunity.com/t/z8-speeds-feeds/1152/15


#16

In order to be properly setup for mining, since my computer sits behind a modem/router using NAT, do I need to configure the modem/router to forward port 18233 to the mining computer ? Thanks


#17

You dont need to open port on your router to mine.


#18

Note that the URL for the Public Alpha Guide is now https://github.com/zcash/zcash/wiki/Public-Alpha-Guide ; the URL that Shawn posted is no longer valid.


#19

I'm open to thoughts on mining using power8?


#20

Did anyone mine bitcoin on PowerPC? Were there endian issues there? Or maybe that's a non-issue for Power8...