ADC現場報道:計算密集應用優化的天花板
原創【51CTO特約報道】2013年7月13-14日, 由阿里巴巴集團主辦的ADC·阿里技術嘉年華將在杭州海外海國際會展中心舉行,2011年舉辦首屆,今年是第三屆,已發展為互聯網行業最開放、最實戰派的技術交流盛會之一。被大家視為碼農典范的技術大神MySQl的創始人Michael Widenius,將作為嘉賓現場分享。
本屆嘉年華設置了大數據技術與應用、無線技術、業務架構&后端技術、前端技術、搜索、廣告、體驗設計、互聯網測試、系統開發和運維等九大分場,共有80多個主題,其中包括了阿里巴巴、騰訊、百度及更多知名的互聯網公司的在實踐中積累起來的技術經驗。比如阿里巴巴的去IOE、新浪微博的系統穩定性等主題都反映了業界的主流的工程技術方向。
這次是來自于阿里巴巴核心系統部專用計算組負責人 王琤(長仁)給我們帶來的課題:探求計算性能極限--計算密集應用優化的天花板,這個確實是淘寶的一個優勢,來聽講的用戶也非常多。長仁主要演講的內容是在特定體系結構下,計算性能的極限是什么?如何評估在特定算法下,程序實現是否達到或者接近了在特定體系結構的極限?這對于進行計算密集應用優化具有非常重要的指導意義。在演講中還分享了將穿插分享我們在不同領域現實優化案例,并對大家普遍在計算密集應用優化方面關心的問題分享我們的看法,例如語言,編譯器,指令集,體系結構的作用及選擇等。
長仁認為,專用計算組的工作主要是針對特定硬件的“實現”優化,比如OWLQN算法CPU和GPU實現優化等等。那么我們如何知道投入的時間和性能提高到底是什么樣的一個情況呢?下面長仁提供了一張圖片說明了這個問題:
對于性能的極限,我們能否看得到這塊天花板呢?下面是長仁分享的幾個看的見的天花板。
- 天花板是各個維度上的平臺極限性能
- 確定的算法及實現決定了各個維度的“工作量”
- 特定硬件平臺各個維度的天花板可以量化
- 由于2和3,決定了特定硬件平臺,確定算法和實現的各個維度天花板可見
- 紅線一定要比所有天花板都低
- 由于5推論:天花板最低者一定比紅線高
下面可能有朋友會問,紅線在哪?能否看清這個紅線?長仁認為,紅線一定比天花板最低者還低,接近天花板最低者也就是接近紅線了,如果你有幸撞到了天花板,那么恭喜你,這也是紅線。其實,撞到天花板是一件十分幸福的事,也就說明了超越極致前給先達到極致,但是要更改算法、實現,提升,天花板才可能突破。長仁還說也可以嘗試天花板更高的硬件。他認為,離天花板很遠就止步了是最可怕的,沒到“甜點”更悲催。
再者就是介紹了常用體系結構的某幾個維度的天花板,當然,這些都無法離開CPU和GPU的指令執行速度以及計算能力。
長仁還給大家分析了通用CPU-Intel SNB以及GPGPU-Nvidia Fermi和眾核-Intel Phi的計算能力,在這個過程,長仁還聲明,就是諾依曼體系指令、數據、執行。由于篇幅有限,通過忽略數據流體現理想計算性能極限,所以,所有示例都是以說明問題為目的的最簡單示例。