2021年(nian)12月24日,第四屆中國(guo)(guo)軟(ruan)件開源創新(xin)大(da)(da)賽(sai)決賽(sai)在線上舉行;12月26日決賽(sai)結果在北京(jing)(jing)CCF中國(guo)(guo)軟(ruan)件大(da)(da)會(hui)揭曉(xiao)并頒獎。本(ben)屆大(da)(da)賽(sai)由(you)國(guo)(guo)家自然(ran)科學基(ji)(ji)金委信(xin)息學部、中國(guo)(guo)軟(ruan)件行業(ye)協會(hui)、中國(guo)(guo)開源軟(ruan)件推進(jin)聯(lian)盟(meng)(meng)、全國(guo)(guo)高等學校計(ji)算(suan)(suan)(suan)機教育(yu)研(yan)究(jiu)會(hui)、信(xin)息技術新(xin)工科產學研(yan)聯(lian)盟(meng)(meng)、新(xin)一(yi)(yi)代人工智能產業(ye)技術創新(xin)戰略(lve)聯(lian)盟(meng)(meng)作(zuo)為(wei)指導(dao)單位。主辦(ban)單位為(wei)北京(jing)(jing)大(da)(da)學、綠色(se)計(ji)算(suan)(suan)(suan)產業(ye)聯(lian)盟(meng)(meng)。本(ben)屆大(da)(da)賽(sai)設有(you)項(xiang)(xiang)目(mu)創新(xin)、任務挑戰、實踐教學、代碼標注(zhu)四大(da)(da)賽(sai)道(dao);共計(ji)有(you)36727人參賽(sai),覆蓋1427所高校,提(ti)交(jiao)有(you)效作(zuo)品7378項(xiang)(xiang);吸引了如華(hua)為(wei)、百度、arm中國(guo)(guo)、開放原子開源基(ji)(ji)金會(hui)、飛騰、Ascend等共計(ji)225萬元獎金的(de)贊助。由(you)中國(guo)(guo)金宝搏入口188計(ji)算(suan)(suan)(suan)機學院下一(yi)(yi)代移動計(ji)算(suan)(suan)(suan)及數據(ju)創新(xin)實驗(yan)室張昱老師帶(dai)領的(de)s4plus-云驚(jing)隊在大(da)(da)賽(sai)的(de)開源項(xiang)(xiang)目(mu)創新(xin)賽(sai)命(ming)題組以優異成績(ji)榮獲一(yi)(yi)等獎。
本屆大(da)賽賽事(shi)委(wei)(wei)員會(hui)主(zhu)席(xi)、北(bei)京大(da)學金(jin)芝教授(shou)宣(xuan)布(bu)頒獎儀式(shi)的(de)(de)開(kai)幕。她指出,2021年(nian)“開(kai)源(yuan)(yuan)”被明確列(lie)入《中華人(ren)民共和(he)國(guo)國(guo)民經濟和(he)社會(hui)發展第十四個五年(nian)規劃(hua)(hua)和(he)2035年(nian)遠景目標綱要》,這是開(kai)源(yuan)(yuan)首次被列(lie)入國(guo)家五年(nian)規劃(hua)(hua)。大(da)賽指導委(wei)(wei)員會(hui)主(zhu)任(ren)、中國(guo)科(ke)學院院士王懷民在致(zhi)辭時談到,賽事(shi)名稱由原來的(de)(de)綠色計(ji)算大(da)賽更名為(wei)(wei)“中國(guo)軟件開(kai)源(yuan)(yuan)創(chuang)(chuang)新(xin)大(da)賽”,突(tu)出了(le)開(kai)源(yuan)(yuan)創(chuang)(chuang)新(xin)的(de)(de)意義與價值;并希(xi)望大(da)賽越(yue)辦越(yue)好,為(wei)(wei)中國(guo)開(kai)源(yuan)(yuan)產業賦能。
在(zai)開源(yuan)項目創新(xin)賽(sai)命題(ti)組(zu)賽(sai)道,由計算(suan)機學院(yuan)研究生丁(ding)伯堯、王瑞凱組(zu)成的(de)(de)s4plus-云驚隊在(zai)張(zhang)昱老師指(zhi)導下,選擇了賽(sai)題(ti)“OpenAtom XuperChain區塊鏈項目開發”中(zhong)的(de)(de)任務:“基(ji)于x86_64指(zhi)令集的(de)(de)國(guo)(guo)(guo)密算(suan)法(fa)(fa)性(xing)能提升”。國(guo)(guo)(guo)產(chan)密碼(ma)(ma)算(suan)法(fa)(fa)(國(guo)(guo)(guo)密算(suan)法(fa)(fa))是(shi)指(zhi)國(guo)(guo)(guo)家密碼(ma)(ma)局認(ren)定的(de)(de)國(guo)(guo)(guo)產(chan)商用密碼(ma)(ma)算(suan)法(fa)(fa)。現(xian)(xian)(xian)有(you)的(de)(de)國(guo)(guo)(guo)密算(suan)法(fa)(fa)基(ji)于純Go語言(yan)實(shi)現(xian)(xian)(xian),沒有(you)充分(fen)利用CPU指(zhi)令集里(li)面的(de)(de)特殊指(zhi)令進(jin)行優(you)化(hua),在(zai)性(xing)能上低于Go標準庫里(li)的(de)(de)對應(ying)算(suan)法(fa)(fa)實(shi)現(xian)(xian)(xian),因此希(xi)望(wang)參賽(sai)者對現(xian)(xian)(xian)有(you)的(de)(de)國(guo)(guo)(guo)密算(suan)法(fa)(fa)進(jin)行優(you)化(hua),在(zai)確保接口(kou)(kou)兼容標準庫接口(kou)(kou)的(de)(de)情況下,實(shi)現(xian)(xian)(xian)性(xing)能上的(de)(de)提升。
在歷時三個多(duo)月(yue)的(de)(de)(de)比賽中(zhong),s4plus-云驚隊(dui)成員密(mi)切配合、分(fen)工(gong)明確、攻堅(jian)克難(nan),并且積極和(he)(he)指(zhi)導老師進行討論研究(jiu),最終實現(xian)(xian)了對(dui)(dui)國密(mi)SM2算(suan)(suan)(suan)(suan)法(fa)的(de)(de)(de)優(you)(you)(you)化(hua)。在優(you)(you)(you)化(hua)中(zhong)深入(ru)調研文獻,通(tong)過(guo)(guo)設計(ji)預(yu)計(ji)算(suan)(suan)(suan)(suan)窗口和(he)(he)對(dui)(dui)蒙哥馬利模乘的(de)(de)(de)優(you)(you)(you)化(hua),完成了算(suan)(suan)(suan)(suan)法(fa)層(ceng)次的(de)(de)(de)優(you)(you)(you)化(hua);通(tong)過(guo)(guo)使用向量指(zhi)令集,借助(zhu)開(kai)源工(gong)具(ju)c2goasm快速將(jiang)編寫的(de)(de)(de)高效C函數翻譯(yi)成Go編譯(yi)器使用的(de)(de)(de)Plan9匯編,再(zai)通(tong)過(guo)(guo)開(kai)展(zhan)強度削弱、語(yu)(yu)句重排(pai)、循環展(zhan)開(kai)等(deng)程序(xu)優(you)(you)(you)化(hua),實現(xian)(xian)了對(dui)(dui)國密(mi)算(suan)(suan)(suan)(suan)法(fa)的(de)(de)(de)計(ji)算(suan)(suan)(suan)(suan)優(you)(you)(you)化(hua);通(tong)過(guo)(guo)對(dui)(dui)國密(mi)算(suan)(suan)(suan)(suan)法(fa)實現(xian)(xian)代(dai)碼的(de)(de)(de)深入(ru)分(fen)析以及(ji)對(dui)(dui)Go語(yu)(yu)言及(ji)其編譯(yi)系(xi)統(tong)的(de)(de)(de)充分(fen)認(ren)識,結合逃逸分(fen)析實現(xian)(xian)了Go語(yu)(yu)言特性相(xiang)關(guan)的(de)(de)(de)內存優(you)(you)(you)化(hua)。最終,經過(guo)(guo)不懈努(nu)力,將(jiang)SM2算(suan)(suan)(suan)(suan)法(fa)在x86_64架(jia)構下的(de)(de)(de)整體性能(neng)提(ti)升了接近五倍,其中(zhong)對(dui)(dui)于SM2算(suan)(suan)(suan)(suan)法(fa)的(de)(de)(de)解密(mi)操作的(de)(de)(de)性能(neng)提(ti)升更(geng)是(shi)達到(dao)了接近九倍的(de)(de)(de)優(you)(you)(you)化(hua)效果。
目前,s4plus-云驚隊對XuperChain的密碼庫(//github.com/xuperchain/crypto)所提交的反映上述優化的Pull Request已經于2021年12月1日被xuperchain/crypto合并接受。
s4plus意(yi)為“系(xi)統(tong)軟件與(yu)軟件安(an)(an)全(quan)+X”,旨(zhi)在以系(xi)統(tong)軟件和軟件安(an)(an)全(quan)為基石,開(kai)展支撐人工智能(neng)、物聯網、端邊云及**計算等新(xin)一代信(xin)息技術的研究與(yu)教(jiao)學。在本屆(jie)中國軟件開(kai)源創(chuang)(chuang)新(xin)大賽(sai)中,s4plus隊結合課題(ti)(ti)組開(kai)展的深度學習以及Go語言運(yun)行時的系(xi)統(tong)優(you)化(hua)研究,選(xuan)擇與(yu)研究有關的賽(sai)題(ti)(ti)鍛煉(lian)同學們團結協作、系(xi)統(tong)優(you)化(hua)、求實創(chuang)(chuang)新(xin)的能(neng)力。
附:
l 提交的Optimize SM2 nearly 5 times的PR://github.com/xuperchain/crypto/pull/24
l 被xuperchain/crypto項目合并接受的commit5d650d5://github.com/xuperchain/crypto/commit/5d650d
(計算機科學(xue)與技(ji)術學(xue)院)