來源:科學大院? 欒春陽
每當新款的智能手機或者家用電腦發(fā)布時,人們討論最多的話題總是離不開中央處理器(CPU)的運算性能以及散熱問題??赡芪覀儾⒉磺宄?a class="article-link" target="_blank" href="/tag/%E7%94%B5%E5%AD%90%E8%AE%BE%E5%A4%87/">電子設(shè)備的CPU內(nèi)部具體的計算架構(gòu),但卻可以真切地感受到CPU運算能力的提升給我們生活、工作帶來的巨大改變。
實際上,小到我們中學時期經(jīng)常使用的科學計算器,大到現(xiàn)在日常辦公必備的筆記本電腦,這些具備數(shù)據(jù)處理能力的電子設(shè)備都可以統(tǒng)稱為電子計算機。那么,在經(jīng)典計算機的基礎(chǔ)上,有沒有更快、更強的計算機呢?
“0”與“1”組成的奇妙世界
當我們每次按下手機按鍵或者電腦鍵盤的時候,這些字符或者信息首先需要被轉(zhuǎn)化為電子計算機能夠處理的編碼:0或者1的排列組合。
例如,根據(jù)ASCII(American Standard Code for Information Interchange,美國信息互換標準代碼)的字符編碼,英文字母K被編碼為“01001011”。而當經(jīng)過電子計算機CPU的運算處理后,一串0或1編碼的信息又可以轉(zhuǎn)化成我們認識的字母或者圖片呈現(xiàn)在眼前。
在電子計算機的CPU中,電子晶體管可以作為0或者1進行數(shù)值運算的基本單元,此時電子晶體管的通路可以代表數(shù)值1,斷路就代表數(shù)值0,而當數(shù)以百萬計的電子晶體管及其他電子元件通過超大規(guī)模集成電路工藝被封裝在一小塊半導體晶片上時,這種具備數(shù)據(jù)處理能力并且被微型封裝的集成電路一般簡稱為“芯片”。
16核不夠用?那就再多“億”點!
然而,隨著生活和工作中數(shù)據(jù)處理任務(wù)的不斷增加,電子設(shè)備上CPU單一核心的運算能力往往很難達到需求,這時候我們可以在CPU上集成多個運算核心,從而保證多個核心可以同時獨立地處理數(shù)據(jù)任務(wù)?,F(xiàn)在常見的商用計算機一般是采用8核CPU,甚至某些用以處理大型計算任務(wù)的工作站會擁有16核CPU。
但即使這樣高性能的計算機也難以滿足越來越復雜的計算需求,以我們常見的天氣預報為例,計算機需要將特定區(qū)域的大氣層離散成網(wǎng)格進行數(shù)值模擬,而如果要達到對未來3天的準確度達到90%以上的氣象預測,則需要高達百億量級的浮點運算,如果普通商用計算機來計算的話,需要耗時至少半個月。
此外,大數(shù)據(jù)中心支持下的城市智能交通和在線云端計算都需要指數(shù)量級的數(shù)據(jù)處理能力,于是,人們開始著手將高達數(shù)百萬的CPU互聯(lián)起來協(xié)同工作,從而建造能夠并行計算的“超級計算機”。
實際上,“超級計算機”并非單獨一臺擁有超級算力的計算機,而是超級計算機集群的簡稱。也就是說,超級計算機集群的每個節(jié)點都是一臺獨立的計算機,它的“超級”之處在于自己內(nèi)部存在獨特的節(jié)點互聯(lián)的結(jié)構(gòu),這樣就可以同時調(diào)度所有節(jié)點上的成千上萬顆CPU,并且每顆CPU內(nèi)一般有幾十個物理核心,從而擁有指數(shù)量級的數(shù)據(jù)處理能力。
但是,“超級計算機”并非全能型選手,它只對可并行運算的算法問題有強大的處理能力,卻無法加速處理串行計算的數(shù)據(jù)任務(wù),此外,“超級計算機”操作系統(tǒng)的任務(wù)調(diào)度策略和編譯器的優(yōu)化也極大影響了自身的性能表現(xiàn)。
這里的串行/并行運算任務(wù)可以這樣通俗地理解:一堆土方原本需要1個人用10小時搬運完,同時也可以安排10個人用1小時搬完。但是,如果遇到需要1個人花10小時挖一口只能容納一人進行作業(yè)的井情況,就無法安排10個人在1小時內(nèi)完成,這就是“超級計算機”也難以高效處理的串行運算任務(wù)。
因此,“超級計算機”并不是簡單的CPU和運算核心的堆疊,其加速運算能力不僅僅依靠CPU核心之間的高度協(xié)同互聯(lián),還要優(yōu)化數(shù)據(jù)處理任務(wù)的算法次序來充分調(diào)用每一顆CPU的運算潛能。
我們熟知的“神威·太湖之光”超級計算機共有40960顆CPU,并且其峰值的運算速度達到了12.54億億次/秒,并且持續(xù)計算的速度達到了9.3億億次/秒?!吧裢ぬ狻背売嬎銠C助力清華大學、北師大以及中科院團隊完成“全球大氣非靜力云分辨模擬”,并實現(xiàn)了全球10公里高分辨率的地球系統(tǒng)數(shù)值模擬,這一研究成果進一步增強了我國應(yīng)對復雜氣象條件下的自然災(zāi)害監(jiān)測能力。
目前,“超級計算機”廣泛運用于醫(yī)藥研發(fā)中的分子動力學模擬,電動汽車中的燃料電池設(shè)計,飛行器設(shè)計中的氣動外形優(yōu)化,核聚變領(lǐng)域中的約束裝置邊界穩(wěn)定性計算,以及原子物理學中的量子力學技術(shù)等。
超級計算機,亦有局限
但是,“超級計算機”的建造不僅僅需要數(shù)十億元的投入成本,還需要每日高達數(shù)十萬元的電費支出。此外,占據(jù)上千立方米的龐大體積以及復雜的水冷散熱系統(tǒng)也限制了“超級計算機”的進一步發(fā)展。于是,人們開始重新思考如何讓計算機在更小的體積和更低的功耗下實現(xiàn)更強的數(shù)據(jù)運算能力。
一個自然的想法是在同一塊芯片上集成更多的晶體管,曾經(jīng)作為英特爾創(chuàng)始人之一的戈登·摩爾就提出“摩爾定律”,即集成電路上的晶體管數(shù)目每經(jīng)過18~24個月便會增加一倍,這樣CPU的數(shù)據(jù)處理能力就會翻一番。這就是為什么,即使我們現(xiàn)在千元價位的手機CPU也比十年前的商用電腦擁有更強的運算能力——因為晶體管密度增加了呀。
但是,“摩爾定律”并不能永遠維持下去,原因之一是用于芯片微電路加工的光刻工藝已經(jīng)逼近2~3nm的光學衍射極限,已經(jīng)很難在保證芯片良品率的條件下進一步提高晶體管密度。此外,隨著晶體管尺寸的不斷減小,電極間的漏電現(xiàn)象以及巨大的散熱問題,也會導致芯片的性能失效。
那么,我們該如何在減小計算機體積和功耗的同時繼續(xù)提升計算機的運算能力呢?
當計算機遇到“量子”
俗話說,遇事不決,量子力學。如果計算機遇到量子力學的話,這種富有想象力的“量子計算機”是否可以憑借量子力學的魔法來處理需要指數(shù)量級運算能力的復雜問題呢?
我們知道,經(jīng)典計算機采用二進制進行運算,而每一個計算的基本單元只能處于0或者1的確定狀態(tài),這種基本的計算單元也叫作“比特”。但是,這也意味著只能提高芯片上晶體管的密度來增加經(jīng)典計算機的“比特”數(shù)目,從而線性提高數(shù)據(jù)的運算能力。但是,如果我們使用“量子計算機”的話,這個令人苦惱的問題就可以迎刃而解了。
“量子計算機”的基本計算單元叫作“量子比特”,它可以同時概率性地處在0或者1的狀態(tài),也就是說,一個有N個“量子比特”的“量子計算機”可以同時處于2的N次方種可能的狀態(tài),而2的N次方會隨著N的增大呈現(xiàn)出指數(shù)量級的增長,從而可以擁有指數(shù)量級的強大運算能力。
試想一下,如果我們擁有這樣奇特的“量子比特”,那么1個“量子比特”可以充當2個運算單元,10個“量子比特”就可以充當1024個運算單元,而100個“量子比特”竟然可以充當大約1.27的30次方個運算單元……如此,我們就可以用極少數(shù)“量子比特”的“量子計算機”來打敗需要指數(shù)量級的運算問題的魔法。
薛定諤的貓——感受“量子疊加性”的魅力
幸運的是,量子力學中的“量子疊加性”為我們提供了這種神奇的魔力,而“量子疊加性”顧名思義就是一個量子系統(tǒng)在被測量之前,能夠同時處于多種狀態(tài)的疊加。
(圖片來源:Veer圖庫)
例如,我們假設(shè)一只貓被封閉在一個無法被外界觀測的盒子中,并且盒子中同時存在一套能夠觸發(fā)劇毒氣體釋放的開關(guān)裝置,而開關(guān)觸發(fā)的條件是接收到放射性同位素衰變釋放的信號。這樣的話,放射性同位素衰變就會觸發(fā)毒氣開關(guān)從而毒死小貓,而未衰變的話小貓則會存活。
然而,由于放射性同位素衰變是概率性的(假設(shè)是50%的概率),這也就意味著在未打開盒子來觀測前,小貓的生死也是一種概率性的疊加。此時,我們發(fā)現(xiàn)沒有一種確定性的方式來描述小貓的狀態(tài),因為“小貓活著”和“小貓死亡”這兩個事件的發(fā)生依賴于放射性同位素是否衰變。也就是說,小貓理論上有50%的概率仍然活著,同時有50%的概率已經(jīng)死亡。因此,小貓?zhí)幱凇靶∝埢钪焙汀靶∝埶劳觥钡寞B加態(tài),并且兩個狀態(tài)存在的概率都是50%,這就是大名鼎鼎的“薛定諤的貓”的思想實驗。
當然,一旦盒子被打開觀測后,小貓的狀態(tài)就會被唯一確定在“小貓活著”或者“小貓死亡”,這也就表明量子力學中的這種“量子疊加態(tài)”在被觀測后就立即塌縮到確定的狀態(tài)。
量子計算機的基本運算單元——量子比特
對于經(jīng)典計算機而言,每一個代表基本計算單元的“比特”是通過芯片上集成的單個晶體管的開關(guān)實現(xiàn)的,當晶體管導通時就可以表示1態(tài),斷路時則表示0態(tài)。類似的,“量子計算機”也需要找到一個合適的物理載體作為“量子比特”,從而在現(xiàn)實世界中發(fā)揮“量子疊加性”的魔力。所不同的是,這種物理載體需要在計算過程中保持1態(tài)和0態(tài)的疊加性,而如何在現(xiàn)實世界中找到這種神奇的“量子比特”一直是科學家們孜孜以求的目標。
功夫不負有心人,科學家終于在自然界中找到了能夠同時保持1態(tài)和0態(tài)的疊加性的物理載體。這種物理載體不是別人,正是我們中學就認識的老朋友——帶電離子。
帶電離子有兩個重要的特性,第一個就是它本身帶有電荷,我們可以通過“電場-磁場”的物理手段來捕獲任意數(shù)目的帶電離子。第二個是根據(jù)量子力學理論,帶電離子的能量是分立的,也就是說同一種帶電離子內(nèi)部的能量是具有順序級別的,就像行星公轉(zhuǎn)的軌道一樣,這種能量排序方式叫作能級結(jié)構(gòu)。
科學研究發(fā)現(xiàn),在這種獨特的分立能級結(jié)構(gòu)中,可以選取特定的二能級來構(gòu)造“量子比特”。其中,能量較高的能級可以表示1態(tài),而較低的能級可以表示0態(tài),這樣的話,二能級之間的概率性的躍遷就可以表示1和0的疊加態(tài)。這種用自然界中的帶電離子編碼稱為“量子比特”,這種進行量子計算的方式就叫作“離子阱”。
隨著技術(shù)的不斷進步,人們也開始嘗試用人造的物理系統(tǒng)來編碼“量子比特”。研究發(fā)現(xiàn),當光刻工藝制備的電子線路冷卻到接近0.015K的時候,它就能表現(xiàn)出與帶電離子類似的分立能級,而這種人造的二能級物理系統(tǒng)也被稱為“超導量子比特”。這種“超導量子比特”的優(yōu)勢在于它能夠與現(xiàn)代的集成電路工藝相兼容,因此受到了工業(yè)界的廣泛關(guān)注。
但是,它也需要低于0.015K的極低溫環(huán)境——比絕對零度高一點點,比外太空還冷,這就需要一臺超級“冰箱”來提供極低溫的環(huán)境。而且,每一個人造的“超導量子比特”不可能完全一致,這就對校準的精細度以及控制的準確性提出了更高的要求。
除此之外,還有中性原子、光量子、量子點以及更加富有想象力的拓撲量子等物理體系也被相繼提出用來作為“量子比特”,目前而言,“離子阱”和“超導量子比特”仍然是被科學家視為實現(xiàn)量子計算的有力候選者。
理論照進現(xiàn)實——量子計算機問世!
科學家估計當N≧50時,量子計算機將擁有高達2的50次方的運算能力,這會超越所有經(jīng)典計算機的極限。也就是說,在處理某些特定的計算問題上,量子計算機會表現(xiàn)出超過經(jīng)典計算機的“量子優(yōu)越性”或者“量子霸權(quán)”。
而在2019年,一臺基于“超導量子計算”方案并且擁有53個量子比特的處理器突然問世,它在一項針對特定的隨機數(shù)字的采樣任務(wù)中僅僅花費了200秒左右的時間,而這個計算問題即使用當時最強的超級計算機也需要大約1萬年的時間。這種指數(shù)級別的計算能力帶來的不僅僅是運算速度的提升,更是對許多傳統(tǒng)行業(yè)帶來革命性的沖擊。
例如,現(xiàn)代金融業(yè)廣泛采用的公私鑰加密(RSA)算法被認為絕對安全,是因為即使用最強的超級計算機來破解密碼也需要大約80年的時間,而量子計算機卻可以憑借其指數(shù)級別的運算能力,只用大約8個小時就可以暴力破解,這也就意味著基于傳統(tǒng)密碼學的現(xiàn)代加密體系將面臨量子計算機帶來的巨大沖擊。
量子模擬——為特定問題提供“私人訂制”
值得注意的是,“量子計算機”只對某些量子算法展現(xiàn)出高效的運算能力,并不能替代經(jīng)典計算機來處理日常的辦公任務(wù)。此外,“量子比特”自身的量子疊加性也極容易受到外界干擾而丟失,距離能夠最終實現(xiàn)大規(guī)模容錯的量子計算機還有很長的路要走。
但是,在最終實現(xiàn)通用的“量子計算機”之前,我們?nèi)匀豢梢詷?gòu)造出處理特定計算問題的專用機器,這種現(xiàn)階段專用的量子計算機我們一般稱之為“量子模擬器”,或者簡稱為“量子模擬”。
其實,能夠處理特定計算的專用機器離我們并不遙遠,飛行器設(shè)計中使用的大型風洞就是一個有趣的例子。以飛行器設(shè)計中的氣動外形優(yōu)化設(shè)計為例,經(jīng)典意義上的計算機模擬需要將飛行器和附近的氣流進行網(wǎng)格化離散,并且計算出每一塊網(wǎng)格的受力分析和運動狀態(tài),最終將所有的計算網(wǎng)格整合得到飛行器整體的氣動數(shù)據(jù)。
為了達到足夠小的網(wǎng)格精度,往往需要“超級計算機”的算力來實現(xiàn)短時間的數(shù)據(jù)運算,而進一步無限的離散網(wǎng)格化分析則是不可能實現(xiàn)的事情。為了解決這個計算問題,一般采用飛行器等比例縮小的模型在大型風洞中直接進行風洞模擬實驗,用以直觀地驗證飛行器的氣動外形的可靠性等。
其實,此時的大型風洞本身就是一臺計算機,只要我們輸入不同的氣動參數(shù)就可以直觀地得到飛行器模擬的受力和運動狀態(tài),只是這種“風洞計算機”并不是我們印象中的計算機,但是它卻在飛行器設(shè)計的特定算法任務(wù)中表現(xiàn)出遠超經(jīng)典計算機的能力。
這種奇妙的想法也驅(qū)使著科學家們開始重新審視某些原本極度復雜的計算問題,比如藥物反應(yīng)過程的分子動力學模擬,黑洞碰撞時的相對論模擬,以及核聚變過程中的電子逃逸問題等。
其實早在1982年,物理學家理查德·費曼就提出:“量子力學中所需的計算資源隨著粒子數(shù)目的增加呈指數(shù)增長,而最好的方式就是用另外一個更加可控的量子系統(tǒng)來模擬計算原本復雜的量子系統(tǒng)。”
簡單而言,針對一些需要指數(shù)級運算需求的計算問題,我們不應(yīng)該再用經(jīng)典的0和1的計算方式進行求解,而是應(yīng)該找到另外一個簡單可控的物理系統(tǒng),來對原本復雜的問題進行等價的模擬,從而避免計算資源的巨大浪費,這就是“量子模擬”的基本出發(fā)點。
因此也可以這樣說,“量子計算機”也是一種廣義的量子模擬系統(tǒng),只是“量子計算機”利用了量子疊加態(tài)的并行運算特性,并且通過“量子比特”和系列的量子邏輯門操作,實現(xiàn)了指數(shù)量級的數(shù)據(jù)運算能力。而“量子模擬器”屬于狹義的量子模擬系統(tǒng),它通過構(gòu)造與目標系統(tǒng)等效的物理模型,能夠以一種簡單可控的方式來完成對特定復雜的量子系統(tǒng)的模擬。
因此,可以總結(jié)說,“超級計算機”是經(jīng)典計算機的資源優(yōu)化和整合,“量子計算機”則是利用了量子力學中全新的計算方式,屬于一種面對未來的通用計算機器,而“量子模擬”也是利用量子力學全新的計算方式,卻是能夠在現(xiàn)階段針對特定問題進行模擬的專用計算機器。
但是,后兩者的出現(xiàn)都告訴人們一個令人激動的事實——量子的時代正在悄然降臨,它將以一種前所未有的方式深刻地改變?nèi)藗兾磥淼纳a(chǎn)和生活方式。這種改變是難以想象的,正如19世紀的人們使用算盤之類的機械計算機器時,無法想象電子計算機蘊含的運算能力徹底顛覆了信息交互的方式。
大家不妨暢想未來,在量子計算機強大的指數(shù)計算能力的加持下,我們的世界又會有怎樣翻天覆地的改變呢?