?
英特爾(Intel)稍早前釋出了‘Parallel JS’(平行JS),這是一個開放原始碼、數據平行版本的JavaScript,英特爾技術長 Justin Rattner 將之形容為非常多核心(many-core)運算發展過程中,向前跨出的一小步。
Rattner稍早前在英特爾開發者論壇(IDF)發表主題演講,并針對平行編程和降低PC、伺服器等功耗,展示了最新的程式語言和其他研究成果。
包括英特爾、微軟(Microsoft)、Nvidia和其他業者,都對大學研究單位挹注了大量投資,以定義能滿足未來非常多核心處理器需求的編程工具。截至目前,平行化編程一直僅被應用在高度專業化的科技應用領域。
“我們已取得良好進展,但未來將不會只有單一[編程]模型,而是會有許多個模型,”Rattner說。
Parallel JS是其中一個代表模型。這種語言針對數據密集型的運算、基于瀏覽器的應用如照片和視訊編輯,以及3D游戲等在英特爾晶片上執行的應用程式提高性能。其主要目標是吸引使用腳本語言的主流Web程式設計師們。
Rattner還展示了該語言可在高階動畫應用中處理英特爾CPU上8個x86核心的能力。
?
“最近一段時間以來,大多數的軟體都是用Java或Python等腳本語言編寫,但至今這些程式設計師還未真正使用多核心工具,”Rattner說。Parallel JS是“非常重要的一步,它讓我們超越了傳統思考局限,一旦你突破了少數幾個核心,那么,建構多核心晶片就只是應用程式的技術罷了,”他說。
該語言的未來版本也將充分利用目前嵌入在英特爾最新處理器中的繪圖核心。為此,Rattner展示了用于x86和繪圖核心的臉部辨識應用程式。
“我們基本上是告訴開發者,是時候去思考異質運算的創造性了,”Rattner說。
非常多核心和行動愿景
在實驗室中,英特爾也正在研究如何改善當前在繪圖處理器上用于執行通用程式的數據平行工具。包括今天的 OpenCL和Nvidia的Cuda工具等,都使用與硬體緊密聯系、相對較低階的數據原件(data primitives),Rattner說。
英特爾正在使用更高層的編程抽象,如用于密集和稀疏矩陣算法中的嵌套向量(nested vectors)。Rattner稱該公司可能在2012年發布這些工具。
新的軟體代表了一些學術研究單位致力于將所謂的‘函數編程’(functional programming)概念帶進今天的C++語言中。
“函數編程看起來是平行編程朝更高階抽象與更加自動化和并行方向發展的基礎之一,”Rattner說?!熬幾g器可以萃取并行,而且程式設計師毋須再像使用OpenCL或Cuda做陳述,”他表示。
2012年以后,數據平行技術將產生根本上的變化,Rattner說。今天,每處理一次任務都是在嚴格調度情況下進行,但這會讓部份電腦資源閑置,造成能源的浪費。
而未來的方法基本上會是非同步處理,但目前僅在概念階段?!敖裉?,為了讓編程更加便利,我們放棄了效率,但展望未來,我們沒有理由再浪費這么多的電力了,”他說。
節省PC耗電
Rattner展示了兩項專門針對減少運算功耗而進行的研究專案進展。
一個近閾值電壓處理器采用嶄新的低電壓電路,其運作接近閾值水準。其概念是當需要時CPU的運作速度必須足夠快,但當下降到低于10毫瓦功率時,便會處于輕載模式。為了展示這個概念,英特爾開發了一款能以郵票尺寸的太陽能電池運作的Pentium級晶片。
這款展示晶片命名為Claremont,僅執行在比閾值電壓高100毫伏的電壓水準,與現有處理器相比功耗可減少5~10倍?!斑@是一個龐大的數字──人們長久以來一直為爭取減少20%功耗而努力,所以這幾乎是前所未聞的成就,”Rattner說。
Claremont僅使用一個L1快取,因為相關記憶體仍需運作在閾值以上的數百毫伏水準,Rattner說。
此外,英特爾和美光(Micron)的研究人員還發現了一種新型堆疊技術,并共同開發了新的記憶體原型。這個混合式記憶體立方體(Hybrid Memory Cube)結合了頂端的DRAM晶粒堆疊和底部邏輯層,采用了全新介面和協議,以便將記憶體資訊轉換到獨立處理器。
英特爾研究員Bryan Casper表示,“當測量位元傳輸量與能耗時,該元件是有史以來能效最高的DRAM?!迸c目前最先進的DDR4記憶體模組相比,這個原型的頻寬高出10倍,能效則高出7倍,他表示。
此外,Rattner還展示了可作為基地臺的標準x86伺服器,它在Sandy Bridge CPU上采用新的x86訊號處理演算法。
“我想,我們身在一個可以開發出某些真正有價值的東西的時代,”他說?!皩σ恍﹤鹘y上一直采用以DSP為主的系統而言,我認為Ivy Bridge或許具備能與之競爭的潛力,”他表示。
在本屆IDF上,英特爾的工程師還針對其處理器講解了新的訊號處理和封包處理開發套件。
評論
查看更多