無限的“天空”:軟件無線電時(shí)代的來臨
“哦,什么標(biāo)準(zhǔn)?”
“什么標(biāo)準(zhǔn)也不是,” 我說,“我在做自己的無線物理層。”
“哦,你現(xiàn)在改行搞硬件了?”朋友很驚奇的問。
“沒有,沒有,我不懂硬件。我純粹在寫軟件,用軟件做。”我試圖解釋。
“聽起來很酷。但,這,可能嗎?……”
在過去的兩年里,類似的對話在我身邊經(jīng)常發(fā)生。每次當(dāng)我向別人說我在通用PC上,用軟件的方法實(shí)現(xiàn)所有無線底層功能(即軟件無線電)時(shí),大多數(shù)人都這樣表示懷疑。我完全理解,這樣的疑惑是很有道理的,因?yàn)槿绻趦赡昵埃乙矔?huì)有同樣的懷疑。在人們的常識里,通用CPU并非設(shè)計(jì)用來進(jìn)行數(shù)字信號處理工作的。因此,無線底層通訊中需要的高速信號處理應(yīng)該是硬件電路和專用DSP處理器的專利。在我剛剛開始軟件無線電研究時(shí),最好的軟件無線電系統(tǒng)才實(shí)現(xiàn)了幾百Kbps的窄帶數(shù)據(jù)通信;而我們的目標(biāo)是高速寬帶的無線通訊系統(tǒng),例如WiFi,在20MHz寬帶上達(dá)到54Mbps的數(shù)據(jù)率。這完全是兩個(gè)數(shù)量級以上的差別!
兩年之后的今天,我所在的微軟亞洲研究院無線與網(wǎng)絡(luò)組成功開發(fā)了一種名為“Sora”的軟件無線電系統(tǒng)。利用普通商用的PC平臺和通用的無線前端,我們在Sora上成功實(shí)現(xiàn)了IEEE802.11a/b/g全部物理層和媒體訪問層協(xié)議,并可以和商用硬件網(wǎng)卡進(jìn)行無縫的通訊,并達(dá)到類似的性能。這項(xiàng)研究成果獲得了網(wǎng)絡(luò)界的頂尖會(huì)議NSDI 2009的最佳論文獎(jiǎng)。2009年秋天,我們進(jìn)一步在Sora平臺上實(shí)現(xiàn)了第四代無線通訊標(biāo)準(zhǔn)3GPP LTE的上行部分。這進(jìn)一步說明了利用現(xiàn)有的多核CPU,我們不僅可以實(shí)現(xiàn)現(xiàn)有的無線標(biāo)準(zhǔn),而且也可以用來實(shí)現(xiàn)未來的標(biāo)準(zhǔn)。
圖1 Sora徽標(biāo)。用中國篆體書寫的SORA英文字母
因此,當(dāng)上述的對話進(jìn)行到這里時(shí),我微笑了一下,回答說,“是的,這太可能了。要知道,軟件無線電的時(shí)代到了。”
告訴你一個(gè)新名詞:軟件無線電
在傳統(tǒng)的無線通訊系統(tǒng)中,關(guān)鍵的底層操作,例如物理層的信號處理,和媒體訪問層控制,都基本上是用專用的硬件芯片來實(shí)現(xiàn)的。但是,專用的硬件芯片一旦設(shè)計(jì)生產(chǎn),就無法修改了。而且,設(shè)計(jì)一款硬件芯片的成本非常高,因此僅有幾家大型的通訊公司有能力自行設(shè)計(jì)和制作通訊芯片。這極大地制約了無線技術(shù)的研究和發(fā)展,使得無線技術(shù)的升級換代需要十年,甚至更長的周期。而軟件無線電的思想則是在通用的計(jì)算平臺上(例如CPU),利用軟件程序完成大部分的無線底層功能。因?yàn)槭擒浖?shí)現(xiàn)的,因此可以很方便的修改和升級。并且,通用處理器的發(fā)展速度遠(yuǎn)遠(yuǎn)超過專用硬件和處理器。這是因?yàn)橥ㄓ锰幚砥鞯谋澈笥泻軓V大的市場驅(qū)動(dòng)力,因此摩爾定律總是在通用處理器市場上發(fā)揮著主要的力量。
但是,通用處理器能夠完成高速的無線信號處理嗎?畢竟CPU不是為信號處理應(yīng)用設(shè)計(jì)的。事實(shí)上,在Sora出現(xiàn)以前,人們普遍的看法是CPU的速度不夠,因此必須依賴專門的硬件設(shè)備。但Sora改變了人們對軟件無線電的看法。
Sora揭秘
如前所述,在通用處理器上實(shí)現(xiàn)高速的無線信號處理面臨著非常大的挑戰(zhàn)。首先,高速寬帶的無線信號需要很高的采樣率,因此需要高速的輸入輸出帶寬。現(xiàn)在大家常用的高速串行接口USB2.0可以支持400Mbps的速度,而為了實(shí)現(xiàn)WiFi,我們需要至少1.4Gbps的速度;而為了支持新的802.11n,我們需要5G~10Gbps的速率。其次,如何在通用CPU架構(gòu)上實(shí)現(xiàn)高速數(shù)字信號處理算法也是一個(gè)開放課題。過去的一些簡單的計(jì)算表明實(shí)現(xiàn)802.11a需要的計(jì)算量已經(jīng)超過了現(xiàn)有最新CPU的能力。這也正是許多人對軟件無線電表示懷疑的原因。最后,無線系統(tǒng)是一個(gè)實(shí)時(shí)系統(tǒng),因此要求軟件無線電也能夠精確的控制響應(yīng)時(shí)間。這個(gè)實(shí)時(shí)要求的精確度在微秒級。而現(xiàn)在的操作系統(tǒng)能到達(dá)的實(shí)時(shí)性僅僅在毫秒級(有三個(gè)數(shù)量級的差距!)
Sora系統(tǒng)同時(shí)采用硬件和軟件技術(shù)來解決這些挑戰(zhàn)。首先,我們重新開發(fā)了一塊新的PC輸入輸出板卡,稱為無線控制板。無線控制板采用了最新的PCIe標(biāo)準(zhǔn),可以實(shí)現(xiàn)10Gbps以上的傳輸速率,因此,可以滿足大部分無線技術(shù)的需要。無線控制板連接的無線收發(fā)天線和PC,并在它們之間高速地傳輸數(shù)據(jù)。
圖2 Sora基于PCIe接口的無線控制板
其次,我們考慮了無線信號處理算法的實(shí)現(xiàn)策略,采用了和硬件實(shí)現(xiàn)完全不同的方式。例如,在CPU架構(gòu)上,我們大量的利用查找表的方式來加速算法;而這在硬件實(shí)現(xiàn)是不可想象的,因?yàn)樵趥鹘y(tǒng)硬件無線系統(tǒng)中,存儲器是一個(gè)稀有資源。Sora充分利用的現(xiàn)代CPU的多項(xiàng)特性,例如高速緩存和SIMD指令,并且同時(shí)可以利用多個(gè)CPU核并行加速算法的執(zhí)行。這些軟件優(yōu)化技術(shù)大大提高了信號處理算法在CPU上的執(zhí)行速度,從而可以滿足實(shí)時(shí)通訊的要求。
最后,Sora采用了一項(xiàng)非常簡單但有效的方式來實(shí)現(xiàn)對實(shí)時(shí)性的支持。Sora可以將多核系統(tǒng)的幾個(gè)核從操作系統(tǒng)中分割出來。這些CPU核僅用來進(jìn)行軟件無線電的操作,而操作系統(tǒng)無法再對這些核進(jìn)行調(diào)度,因此軟件無線電的實(shí)時(shí)性得到了保障。
圖3 Sora軟件無線電系統(tǒng)。完全基于一臺商用PC
Sora正名:勇敢的先驅(qū)
2008年9月,在我們已經(jīng)基本完成了軟件無線電系統(tǒng)的時(shí)候,項(xiàng)目組的成員們激動(dòng)地聚在一起各抒己見,想給系統(tǒng)起個(gè)好名字。在此之前,我們都是用Microsoft Research Software Radio這個(gè)描述性的名字。大家討論了好久,都沒有什么好的主意。正在這個(gè)時(shí)候,由于我們使用多核的CPU,因此有人提議用Cora,但過去已經(jīng)有太多的研究項(xiàng)目叫Cora了。這時(shí),突然有一名同事緊跟著建議道:“為什么不干脆叫Sora(SOftware Radio的前兩個(gè)字母組合)算了。”這一下倒醍醐灌頂了所有的人,大家都夸口稱贊:一個(gè)好名字的誕生往往就來自最簡單的靈感。
回到家里,我在因特網(wǎng)上搜索了一下,發(fā)現(xiàn)Sora是日文中“天空”的意思。同時(shí),Sora也是迪斯尼動(dòng)畫游戲“王國之心”的男主角。在故事中,這個(gè)十六歲的勇敢男孩,手持“鑰匙刀”,成為拯救世界的先驅(qū)。這些也正暗喻了我們對Sora軟件無線電系統(tǒng)的期望,希望它能啟發(fā)更多的靈感,開辟另一個(gè)天空,從而為推動(dòng)整個(gè)無線系統(tǒng)研究作出貢獻(xiàn)。
圖4 為了慶祝Sora獲得最佳論文獎(jiǎng),我們用所得的獎(jiǎng)金制作的紀(jì)念文化衫。圖為文化衫背面圖案。上面寫著:你是Sora,想象力才是你的極限。
作者: 微軟亞洲研究院 譚焜