【DatenLord团队】作为大数据分析赛道的一等奖,在赛后也接受了电巢直播的采访,吐露了他们在本次比赛中的心路历程。' O; b4 }3 f. F4 H
9 o8 `, |2 r0 T$ d
Q:首先恭喜DatenLord团队荣获2021赛灵思自适应挑战赛Big Data Analysis一等奖,可以先分享一下这次获奖的作品吗?
" F, y8 S/ M' V1 W0 v! ]- F) Y, m A
A:首先我们要感谢Xilinx和Hackster.io还有电巢(EDA365.com)给我们这些
FPGA和硬件爱好者们一个非常好的机会,让我们能够利用世界上最先进的FPGA平台来开发和展示我们的作品。我们达坦科技(DatenLord)团队这次获奖的作品是用硬件来加速IPFS FileCoin的零知识证明算法ZK-SNARK里的关键哈希算法Poseidon。整个项目已经在GitHub上开源:http://github%20-%20datenlord/TRIDENT:%20A%20Hardware%20Implemented%20Poseidon%20Hasher
1 z! r) F: P& b% f8 Z5 w3 M+ pQ:你们为什么想到选择以零知识证明算法ZK-SNARK为切入点来做竞赛项目?
, {* n" I" f# B. f
最初选择做Trident这个项目的原因是我们团队在做一些和IPFS Web3.0 有关的硬件实现和加速的工作,比如基于RDMA加速存储网络以及一些PoW哈希算法的硬件实现等等。我们尝试基于IPFS Filecoin打造面向企业级客户的跨云持久化存储平台。
正好2021年Xilinx自适应大赛增加了大数据区块链的赛道,我们调研后决定把硬件加速零知识证明算法ZK-SNARK来作为项目题目。零知识证明是近几年区块链的热点之一,它能够在不交换真实数据的情况下对区块链交易进行验证,与此同时还能减少区块链的冗余计算,大幅度提高区块链的效率。
) R( W3 C4 { w; V0 k1 E2 YZK-SNARK的验证需要在Merkel Tree上进行哈希,它所用到的哈希算法就是Poseidon。Poseidon的实现需要大量的超大整数(256位)的模乘和模加,计算量较大,通常是用批量的方法在GPU上运行。我们决定先从Poseidon入手,把它用硬件实现并开源,并与GPU进行比较。目前,零知识证明算法使用最多的场景就是IPFS Filecoin,所以我们选择把Filecoin Lotus里面用到的Poseidon API Neptune用 FPGA实现。
2 O! c" r% u' K/ P5 I$ O/ h* a
Q:想问一下关于你的获奖团队,有什么故事嘛?
* B5 ~( I* n- D; l达坦科技(DatenLord)专注跨云存储领域,解决多云架构、多数据中心场景下数据高性能共享访问的问题。达坦科技拥有世界一流水平的技术团队,团队核心技术成员都在知名大型科技公司,诸如Google、
cadence、
mentor、Microsoft等工作过,有丰富的软件和硬件开发经验。存储是非常有技术挑战的领域,也是非常典型的软硬结合的领域。
8 E& `% B, R, l
随着云计算的普及,企业应用上云成为主流趋势,随之带来了数据跨云存储和访问的问题。不论是混合云还是多云架构,都涉及不同的数据(异构数据)在不同的云或数据中心(异地)之间共享访问。DatenLord就是为了满足日益复杂的数据存储和访问需求,通过软硬件深度融合的方式,实现异地、异构数据的统一存储访问,为云上应用提供高性能存储支持。
! F8 C9 T$ b8 {" Y5 MQ:在做这个竞赛项目的过程中有没有发生什么打破常规的事情?
* C' R$ Q) _' Z- J$ w我们觉得最与众不同的地方是采用SpinalHDL和Cocotb来设计和验证Trident。SpinalHDL是基于Scala的一门新兴硬件描述语言,其借鉴并引入了许多高级编程语言在软件开发中的理念,与传统的Verilog相比能够极大地提升设计效率和质量,减少人为错误。Cocotb则是基于Python的硬件验证框架,依托于Python简洁的语法和强大的生态,能够极大地降低硬件验证的工作量,同时大幅提升验证效率。
3 [# W/ l* n9 V; |# f
Q:平时就很关注赛灵思自适应挑战赛的奖项吗,参加此次挑战赛的契机是什么呢?
# f9 E1 H6 J; r* t' O! V) c
是的,我们平时就非常关注Xilinx开发者社区的新闻和技术分享。在电巢(EDA365.com)看到Xilinx公布本次挑战赛的时候,我们正在琢磨如何设计针对零知识证明算法ZK-SNARK的硬件加速方案,所以一看到自适应挑战赛公布的消息,我们就报名参赛了,而且提交项目之前我们还学习了上届比赛的获奖项目。参加这次全球挑战赛并且和各路FPGA设计高手比拼,使我们受益匪浅。
8 X- ?* g1 S# u! Q5 b. H# P0 |
Q:Xilinx大赛在电巢进行多次直播讲解,通过直播对你的信息传递和主办方直面有哪些帮助?
3 ~4 e( w( w( j# o) S' d* A0 X
在参加比赛项目实现阶段,电巢组织了多次线上直播,详细介绍了本次参赛硬件的使用细节,特别我们团队申请的C1100是Xilinx新晋推出的加速卡,网上没有太多资料,电巢组织的直播对我们团队熟悉C1100有不少帮助,非常感谢电巢。
, E0 n ^+ \2 z3 I9 U. q! x0 O7 m; H
Q:对于此次获奖有什么想说的吗?
$ Q6 H: ^+ |4 `8 `; U7 s首先,能够参加这次全球大赛并获奖,我们觉得非常幸运。希望今后能看到更多Web3.0、IPFS相关的项目,提升Filecoin的性能,打破ZK-SNARK运行时间上的瓶颈,加速Web3.0 Dapp的部署。也希望更多的同学能够共同参与到Web3.0的社区建设中来。
1 b2 T) h$ z H0 o7 B, ?" x3 ~Q:关于获奖原因有什么看法?
& R5 D- g M' G% o" z; `# t关于获奖的原因:首先,在选题方面,我们选择的零知识证明算法ZK-SNARK加速是一个急需解决的问题,FPGA如何加速ZK-SNARK整个业界都十分关心。其次,项目的设计实现方式比较新颖:采用SpinalHDL和Cocotb做设计和验证。再就是项目完成的完整度,我们从硬件实现(RTL to Bitstream)到软件实现(Rust Neptune API和C/C++的硬件测速)都给出了一套完整的解决方案,并且把所有的代码开源,我们觉得这些都对最终的获奖有帮助。
; K1 \9 V% g& ~0 y; v" oQ:你对参加赛灵思挑战赛的同学有什么建议呢?
! B6 P0 h% _2 J& [+ ~参加赛灵思自适应挑战赛的同学高手云集,如果说给出建议,从评委的角度来看,相信希望看到的是一个完整的,新颖的,站在科技前沿的项目。与此同时,项目的商业价值也很重要。说实话,完成这么一个项目还是很有挑战的,这个和团队同学们的刻苦努力也是分不开的。
: l2 |: g) Q7 g; [* z4 Y; K9 Y
Q:对于申请、竞赛有没有什么分享呢?
" ~7 C; n6 X; P2 G* X/ z
Xilinx和Hackster.io的工作人员都非常专业,从项目申请到电巢直播讲解答疑,再到项目提交,都很顺利,也很认真的帮助我们,使我们在整个参赛过程中没有碰到问题,非常感谢。
% h8 E1 S# O. iQ:可以讲讲你之后对自己的规划吗,学习方面以及工作方面?
8 Q& N! D& @1 U7 |3 `) m
对于Trident这个项目,DatenLord团队会继续优化,Trident还有很大的性能提升空间,我们有信心在现有的基础上大幅提升Poseidon的hash rate,达到或超过GPU的hash rate两倍以上。另外,我们还会尝试基于FPGA实现加速零知识证明算法ZK-SNARK的API Bellman(Bellperson),我们的目标是给出一套用FPGA加速零知识证明算法ZK-SNARK的完整开源方案。
( `5 N0 U; N1 Y+ i" ] A最后,非常感谢【DatenLord团队】能接受电巢直播的采访,衷心的祝贺他们在此次竞赛中获得头一等奖的好成绩!也希望在未来,他们能够在这条路上越走越远,攀登高峰!
: Z, I6 F, f. z9 O* B5 D- r7 t
, i& [& x7 }2 s
5月21日,电巢直播邀请了原华为器件工程首席专家荣庆安老师,AMD赛灵思高级经理王宏强老师和AMD赛灵思2021自适应挑战赛大数据分析一等奖-DatenLord团队一起为大家带来基于FPGA硬件大数据分析应用直播分享。
( r+ H+ ]5 m) ]& T: x. n" K2 B8 k0 `2 y