@tco42 said in GPU plot generator v4.0.3 (Win/Linux):
@vaxman i made 2 batches of 12 hdds each... more drives per batch helps a lot, because it wont increase the time needed to generate the empty files (about 13-14h) before the plotting starts in direct mode
once the pre-allocation is finished, to how many targets are you plotting in parallel - 12 ?
Are these SMR drives ? Direct mode on SMR may or may not be performant. I don't know the specifics of your setup, but lets play with numbers:
1 drive plotting
64 GiB RAM for collecting staggers -> for every 64 GiB "round", your disk does this 4096 times:
- write 16 MiB
- seek to the next spot
when plotting 4 drives in parallel (never did this myself, just speculating wildly, but at least the numbers should be correct)
64 GiB RAM for collecting staggers -> for every 64 GiB "round", your 4 disks do this 4096 times:
- write 4 MiB
- seek to the next spot
plotting 12 in parallel; (12x) 4096x
all scenarios are not perfect for SMR, as the sequentially written data volume is too low. There is virtually no documentation on the required placement and size of the shingles, but anything writing "randomly" is just bad for SMR performance.
To pull you over to the unix side: Try a copy-on-write filesystem like zfs.
I've plotted 8x 8TB recently, the SMRs accepted data at 150+ MB/s - because it was strictly sequential.
I've plotted to PMR drives first, then optimized to SMR.
For that you'd need twice the number of PMR disks (or stripes) as your number of GPUs to keep it streaming.
plot tempA while optimizing tempB to target1
plot tempB while optimizing tempA to target1
The most economic way would be (striped) old SATA disks, the fastest way would be SSD(s) as temp target.