文章目录
区块链的计算瓶颈
区块链项目中,密码学计算占了整体运算量中特别大的比重,特别是对性能要求较高的联盟链。
以笔者参与的XX公司XX项目中,cpu的1/3占用是签名验证,1/3占用是加密。为了满足密码学运算,应用服务器统统从4核换成16核,增大了项目成本。
至于公链,这个问题肯定也是存在的,只不过以公链目前可怜的性能,这个问题还没碰到罢了。
解决思路
最耗时的签名,加密解密放到微服务架构中,买好的gpu,用cuda
动手验证
(因为驱动等问题,ubuntu下很容易搞挂,安装前先备份整机,每步完成后重启下看看能否进入系统)
1. 安装nvidia显卡驱动 不能用nouveau的默认驱动,要用NVIDIA的专用驱动
$ nvidia-smi //Driver Version: 384.90
安装好驱动后用如下命令验证一下
vincent@vincent-B250M-DS3H:~$ nvidia-smi
Thu Oct 11 15:24:26 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.77 Driver Version: 390.77 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 105... Off | 00000000:01:00.0 On | N/A |
| 40% 37C P8 N/A / 100W | 298MiB / 4038MiB | 1% Default |
+------------------------------