Pages:
Author

Topic: Unified miners communication protocol - page 3. (Read 6255 times)

legendary
Activity: 2576
Merit: 1186
September 02, 2013, 11:07:51 AM
#35
OK, any comments about the protocol proposal?
It's missing several things:
  • A way to know when a job has been started (and on which boards/chips) and completed (and how much of the nonce range was in fact scanned).
  • A way to know which specific slave board and chip found the nonce in question.
  • Access to temperature sensors.
  • Control of any LEDs.
  • Commands to get and/or control clock frequencies, voltages, etc.
  • Some way to get error checking information/feedback, to make dynamic clocking more accurate.

Additionally, "cancel" is misspelled. IMO there is no real value for asking the device for its current hashrate.
It might be nice if the protocol were prepared to handle non-Bitcoin POW algorithms too, but this could probably be done as an extension.

Finally, if any vendors are actually willing to implement this protocol, KNK should get a BIP number assigned by gmaxwell and post the draft on the Bitcoin wiki for further review.
KNK
hero member
Activity: 692
Merit: 502
September 02, 2013, 10:43:41 AM
#34
OK, any comments about the protocol proposal?
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
September 02, 2013, 08:51:20 AM
#33
Learn a little about statistics before replying again Smiley
What i mean is that each nonce can be a solution and skipping just one may cause you to miss a valid solution.
From https://en.bitcoin.it/wiki/Nonce
"Since it is believed infeasible to predict which combination of bits will result in the right hash, many different nonce values are tried"

You can't assume for example that nonce 3861865442 will not be a valid solution for some block header and if you do so then block 255679 would not have been found from BTC Guild, but someone else, some time later
Correct you cannot assume that ... as you cannot assume anything regarding which nonce values should be checked.

If you skip checking that last 1billion of each range, you will instead process 3/4 of 4/3 more nonce ranges ... which means you checked the same number of nonce values.

That is all that matters.
How many you check, not which ones you check.

The glaring error in your example is that you also could miss finding a block in some other work item that has a block in the bottom 3/4 of the nonce range, that you wouldn't have reached before the LP reset everything, if you were mining the full nonce range every time - since you would have only checked 3/4 as many different work items.

Both are just as valid possibilities of where a block may exist.

Neither possibility makes ANY difference to the chances of you finding a block.
hero member
Activity: 714
Merit: 500
Psi laju, karavani prolaze.
September 02, 2013, 08:36:33 AM
#32
Yes, i agree with that and that for low speed miners it doesn't matter if you increment timestamp or nonce, but for higher hashrates it will be more expensive to calculate new merkle root hash, once you have tried all allowed timestamps, because you have skipped some nonces, but that will be in the far future ...

It seems the general thoughts are that nonce range is useless, so i will remove it.

And remove yourself too cause you are talking nonsense.
KNK
hero member
Activity: 692
Merit: 502
September 02, 2013, 06:40:34 AM
#31
Yes, i agree with that and that for low speed miners it doesn't matter if you increment timestamp or nonce, but for higher hashrates it will be more expensive to calculate new merkle root hash, once you have tried all allowed timestamps, because you have skipped some nonces, but that will be in the far future ...

It seems the general thoughts are that nonce range is useless, so i will remove it.
sr. member
Activity: 251
Merit: 250
September 02, 2013, 06:16:56 AM
#30
What i mean is that each nonce can be a solution and skipping just one may cause you to miss a valid solution.
Instead of 'skipping', think of it as 'replacing'. The hardware is still looking for valid solutions, just using different combinations of coinbase/timestamp/nonce. You are just as likely to find a solution if you only search half the nonce space, increment timestamp, and search the same half again in the same time as another miner searches the whole nonce space once.
KNK
hero member
Activity: 692
Merit: 502
September 02, 2013, 05:55:26 AM
#29
Learn a little about statistics before replying again Smiley
What i mean is that each nonce can be a solution and skipping just one may cause you to miss a valid solution.
From https://en.bitcoin.it/wiki/Nonce
"Since it is believed infeasible to predict which combination of bits will result in the right hash, many different nonce values are tried"

You can't assume for example that nonce 3861865442 will not be a valid solution for some block header and if you do so then block 255679 would not have been found from BTC Guild, but someone else, some time later
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
September 01, 2013, 08:38:46 PM
#28
This is just stupid. There is no need to scan the entire range since nonces are found at random.
Then why scan a range at all? Just pick one at random and stop [/sarcasm]
Learn a little about statistics before replying again Smiley
sr. member
Activity: 251
Merit: 250
September 01, 2013, 06:13:00 PM
#27
+1 There is actually a drawback - you may miss a valid solution. It may not be important if you only care about your shares from the pool, which are always paid, but as a solo miner I DO CARE if i miss my chance, because of that
It makes no difference whether you scan 1 full range, or 2 half ranges. The only thing that matters is how many hashes per second you can do.
legendary
Activity: 2576
Merit: 1186
September 01, 2013, 05:48:57 PM
#26
I don't see why that involves stopping. If anything, it would make stopping harder, as you'd have to tell the other cores to stop their part.
I am not quite sure i understand this.
BF chips are not scanning all possible nonces in the range and they also can't cancel the calculation of a job, because of a hardware limitation.
Oh, I hadn't noticed the former.

What cscape meant is that it is hard to scan the missing nonces and they may not even be in some specific range which can be passed to another hardware, not that we should stop scanning.
I'm confused as to what the original argument was then..
No reason to go out of your way to scan missing nonce ranges either, unless you're trying to produce work on a severely underpowered machine.
Considering how much is being invested in ASICs, it's silly to try to go super-cheap on the controller. Especially when mining rigs really should have their own full bitcoin node running. So this just reinforces that it's easier to generate more work, as cscape said.
hero member
Activity: 714
Merit: 500
Psi laju, karavani prolaze.
September 01, 2013, 05:40:33 PM
#25
This is just stupid. There is no need to scan the entire range since nonces are found at random.
Then why scan a range at all? Just pick one at random and stop [/sarcasm]

You switched sarcasm with stupidity. It ain't the same.
KNK
hero member
Activity: 692
Merit: 502
September 01, 2013, 05:13:23 PM
#24
I don't see why that involves stopping. If anything, it would make stopping harder, as you'd have to tell the other cores to stop their part.
I am not quite sure i understand this.
BF chips are not scanning all possible nonces in the range and they also can't cancel the calculation of a job, because of a hardware limitation.
What cscape meant is that it is hard to scan the missing nonces and they may not even be in some specific range which can be passed to another hardware, not that we should stop scanning.
legendary
Activity: 2576
Merit: 1186
September 01, 2013, 04:58:02 PM
#23
Why stop scanning at all? There's no benefit to ignore the rest of the nonce space.
It's a limitation of the hardware. The bitfury chips have 756 separate hashing cores, all working in parallel, with each core hardwired to search a fixed 1/1024th of the nonce space.
I don't see why that involves stopping. If anything, it would make stopping harder, as you'd have to tell the other cores to stop their part.
KNK
hero member
Activity: 692
Merit: 502
September 01, 2013, 04:55:24 PM
#22
This is just stupid. There is no need to scan the entire range since nonces are found at random.
Then why scan a range at all? Just pick one at random and stop [/sarcasm]
hero member
Activity: 714
Merit: 500
Psi laju, karavani prolaze.
September 01, 2013, 04:50:14 PM
#21
There's no benefit to ignore the rest of the nonce space.
+1 There is actually a drawback - you may miss a valid solution. It may not be important if you only care about your shares from the pool, which are always paid, but as a solo miner I DO CARE if i miss my chance, because of that

This is just stupid. There is no need to scan the entire range since nonces are found at random.
KNK
hero member
Activity: 692
Merit: 502
September 01, 2013, 04:45:32 PM
#20
There's no benefit to ignore the rest of the nonce space.
+1 There is actually a drawback - you may miss a valid solution. It may not be important if you only care about your shares from the pool, which are always paid, but as a solo miner I DO CARE if i miss my chance, because of that

It's a limitation of the hardware. The bitfury chips have 756 separate hashing cores, all working in parallel, with each core hardwired to search a fixed 1/1024th of the nonce space.
The protocol draft is not for BF chips only and not even for current hardware only. Once again: if you don't use it - don't implement it (simply ignore) and the protocol should allow that in both cases i.e. being able to serve and keep communication even in case of unknown action or parameter.
sr. member
Activity: 251
Merit: 250
September 01, 2013, 04:29:35 PM
#19
Why stop scanning at all? There's no benefit to ignore the rest of the nonce space.
It's a limitation of the hardware. The bitfury chips have 756 separate hashing cores, all working in parallel, with each core hardwired to search a fixed 1/1024th of the nonce space.
legendary
Activity: 2576
Merit: 1186
September 01, 2013, 04:24:59 PM
#18
Why would you care about scanning the rest of the nonces ? It's much easier to ignore that part of the nonce space, and create some new work instead.
Why stop scanning at all? There's no benefit to ignore the rest of the nonce space.
KNK
hero member
Activity: 692
Merit: 502
September 01, 2013, 04:22:12 PM
#17
@ nwoolls that was just an example and the nonce range balancing will be implemented when needed, but the protocol should allow that in a backward compatible way.
BFL firmware is able to accept/scan partial range, so by not having this as an option for the protocol would be a limitation for some mining software which decides to use it with a hardware that has it.
hero member
Activity: 840
Merit: 1002
September 01, 2013, 04:05:58 PM
#16
Let's say tomorrow we have a new hardware (single chip), which scans just half of the nonces, but is able to scan each one of them if asked ... why to calculate twice the block header (new work) and waste cpu time, when you can simply pass the same one to two chips?

https://en.wikipedia.org/wiki/You_aren't_gonna_need_it
Pages:
Jump to: