Author

Topic: Using GPU to *verify* blocks? (Read 3048 times)

riX
sr. member
Activity: 326
Merit: 254
March 09, 2011, 05:11:12 PM
#15
I've not tried the -rescan switch, but running the client from a ram disk when doing the initial block chain download speeds up the process quite a bit. Seems like there might be some inefficient disk I/O going on.
administrator
Activity: 5222
Merit: 13032
February 17, 2011, 10:48:01 PM
#14
I've done some benchmarking suggesting that the main CPU bottleneck on initial block download is verifying digital signatures on all transactions in all blocks. If I download from another client on the LAN, I get up to block 70,000 in about 5 minutes, but the rest takes like half an hour.

Gavin mentioned that using the -rescan switch significantly reduces the "download" time. Does -rescan do verification?
Hal
vip
Activity: 314
Merit: 4041
February 17, 2011, 07:01:14 PM
#13
I've done some benchmarking suggesting that the main CPU bottleneck on initial block download is verifying digital signatures on all transactions in all blocks. If I download from another client on the LAN, I get up to block 70,000 in about 5 minutes, but the rest takes like half an hour.
legendary
Activity: 1526
Merit: 1134
February 17, 2011, 07:11:57 AM
#12
Yes, the "client mode" that's nearly finished in the client can speed up initial block verification considerably. However a client run in that mode can't mine.

Once mining is better separated from the main client the initial chain can be downloaded much faster.
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
February 14, 2011, 08:44:32 AM
#11
Downloading and verification are actually quite fast. It's creating the index file that's slow.
Can it somehow work without creating the index file? It is really slow.
legendary
Activity: 1288
Merit: 1080
February 13, 2011, 07:39:30 PM
#10
I'm curious, why do you think this? Lots of people seem to want it. It wouldn't be a "full" client anyway, in the sense of retransmitting blocks or verifying every transaction.

I just don't trust smartphones for security.  Most of them don't even ask for a password to connect.  How is that even possibly secure?
member
Activity: 77
Merit: 10
February 13, 2011, 07:17:15 PM
#9

I very much doubt it is a good idea to run a full bitcoin client on a smartphone.  But this is my personnal opinion.


I'm curious, why do you think this? Lots of people seem to want it. It wouldn't be a "full" client anyway, in the sense of retransmitting blocks or verifying every transaction.
administrator
Activity: 5222
Merit: 13032
February 13, 2011, 06:14:52 PM
#8
It is the downloading part which takes some time.  Not the verification.

It is therefore a matter of bandwith, not computing power.

Downloading and verification are actually quite fast. It's creating the index file that's slow.
legendary
Activity: 1288
Merit: 1080
February 13, 2011, 04:46:43 PM
#7
I may be wrong about where the bottleneck is, but I was referring to the initial verification of the 100,000 existing blocks when you first start using the client.

It is the downloading part which takes some time.  Not the verification.

It is therefore a matter of bandwith, not computing power.


This becomes much less true if you use getheaders to download the blocks on a comparatively under-powered device like an Android phone.

I very much doubt it is a good idea to run a full bitcoin client on a smartphone.  But this is my personnal opinion.
member
Activity: 77
Merit: 10
February 13, 2011, 04:41:12 PM
#6
I may be wrong about where the bottleneck is, but I was referring to the initial verification of the 100,000 existing blocks when you first start using the client.

It is the downloading part which takes some time.  Not the verification.

It is therefore a matter of bandwith, not computing power.


This becomes much less true if you use getheaders to download the blocks on a comparatively under-powered device like an Android phone.
legendary
Activity: 1288
Merit: 1080
February 13, 2011, 03:54:05 PM
#5
I may be wrong about where the bottleneck is, but I was referring to the initial verification of the 100,000 existing blocks when you first start using the client.

It is the downloading part which takes some time.  Not the verification.

It is therefore a matter of bandwith, not computing power.
newbie
Activity: 6
Merit: 0
February 13, 2011, 03:33:44 PM
#4
Is there a way to use a GPU to do the initial block verification? If not, I think this is a feature the developer(s) should consider adding.
By design it's very very fast to verify a block compared to generating. A CPU has more than enough processing power.

I may be wrong about where the bottleneck is, but I was referring to the initial verification of the 100,000 existing blocks when you first start using the client.

The problem with including GPU related features in the main client is that GPU computing is very hardware / operating system dependent.  At the very least, installing additional software or drivers is required.

Hmm, has some kind of standardized plugin architecture been considered (aside from the current RPC method)? You could even throw in a few default plugins for each OS/popular GPU combination. Would it be unsafe?
hero member
Activity: 840
Merit: 1000
February 13, 2011, 03:25:14 PM
#3
The problem with including GPU related features in the main client is that GPU computing is very hardware / operating system dependent.  At the very least, installing additional software or drivers is required.
newbie
Activity: 7
Merit: 0
February 13, 2011, 03:20:52 PM
#2
Is there a way to use a GPU to do the initial block verification? If not, I think this is a feature the developer(s) should consider adding.
By design it's very very fast to verify a block compared to generating. A CPU has more than enough processing power.
newbie
Activity: 6
Merit: 0
February 13, 2011, 02:46:00 PM
#1
Is there a way to use a GPU to do the initial block verification? If not, I think this is a feature the developer(s) should consider adding.
Jump to: