電腦效能應用與安全研究室 Performance, Applications and Security Lab


我們的研究範圍很廣,從嵌入式系統、手機應用、一直到雲端計算、商務應用、資訊安全都有做。
我們的合作研究夥伴很多,包括聯發科、IBM、中研院、資策會,還有和台大、清大、交大的教授合組研發團隊
,包括高階應用處理器架構研究、虛擬化技術、異質計算、系統軟體等重要技術的研究與創新,我們很關切台灣人才與產業的未來。

2015年10月30日 星期五

如何建構一套CP值很高的處理big data所需的硬體?

要建構一套CP值很高的處理big data所需的硬體,還真是有點難搞,這時候會說「有錢真好」:)

以下整理一下這幾天討論的技術問題,括號裡是有關教學的註解。

Q1. 要採用HD還是SSD呢?

A1. 看容量和應用而定... 現在SSD與一般HD的價差約4倍,但throughput可能有四倍,而且access latency就不用比了,所以如果你的access pattern非常random,還是買SSD吧... 當然SSD有穩定性的問題,就靠RAID去解決了,真的是重要的資料,還是多放幾處比較好。

(這些有關於市場行情、硬體規格知識,常去討論版、多看一些相關的資料就知道了。)

Q2. 系統的架構重不重要?

A2. 系統架構上有個重點是disk controller有多少頻寬。頻寬不夠,再多SSD也没用。例如我正在搞的這台,有3個12Gbps的控制器,20個硬碟插槽,一個做法是放16個硬碟,加上RAID6,8T x (16-2) = 112T的空間,剩下的4個放SSD作為cache。一來SSD cache壞了也無所謂,二來這樣硬碟可以不必又貴又耗電的高速企業級硬碟。

(這些case-by-case的know-how,需要做一些個案研究,做額外的思考,最好是培養出think different的能力。)

Q3. 如何讓效能更好?

A3. 如果儲存系統的部分效能不夠的話,還可採用高速PCIe SSD,還可以放1T的主記憶體做file caching。計算的部分,多一些CPU核心當然有幫助,但要贏過別人的話,可能要靠GPU和硬體加速器,還有又硬又軟的FPGA。一台不夠的話,就多買幾台,用高速網路串起來,現在已經有100Gbps的Ethernet。當然,還有很多高階技術,族繁不及備載,有些需要錢,有些有錢也買不到。

(有些高階技術,說的容易,做起來難,因為技術不見得成熟,有些問題要先驅者自己設法解決,需要一些hacking。有些需要產學合作,拿到一般人拿不到的東西。)

Q4. 還有甚麼要注意的?

A4. 硬體層次的秘密,大概在以上就講完了,沒什麼太難的概念。重點還是在軟體,秘密在於:1. 要知道應用的需求和分析其效能瓶頸 2. 要懂得軟硬體之間的搭配和互動關係 3. 制定高CP值的硬體規格 4. 軟體的優化。沒有注意這些,即使花很多錢買高檔設備,結果可能也是枉然。大部分HPC和Big Data的使用者,一開始都不懂這些,需要特訓。

(大部分資工系大學畢業生並沒有足夠的背景,所以我們實驗室的研究生們,近來時大都必須接受這類特訓。沒有足夠的時間做扎實的訓練,是做不出什麼好結果的。)

Q5. 那要怎麼搞定軟硬體?

A5. 上述的秘密,其實都不是什麼秘密,只是因為一般人搞不清楚整個系統軟硬體的運作,計算機結構、作業系統、程式設計都分開學,學了之後又不會將這些知識融會貫通,才變成秘密。沒有融會貫通的話,就會看到不斷出現的新硬體、新軟體,以及看不懂、學不完的招式。

(學校的價值,不是像一般人吵來吵去說理論重要,還是實務重要,真正該做的是提供學生融會貫通的方法、場域、機會。)

Q6. 所以照以上這樣說,這也不是甚麼了不起的學問?

A6. 天下本來就沒有什麼學問是真的了不起的,「人」才是最重要的。雖然如此,但這些know-how也不能說不是秘密,因為就算我把這些要點都說清楚了,一般人可能還是有聽沒有懂,而且就算懂了道理,實務上可能兜不起來。就像背了獨孤九劍的總訣,沒有悟性,不會活用,也是枉然。

(做學問是來提昇個人境界的,學生要想融會貫通,不能只仰仗老師來教,自己要多學、多想,找問題來挑戰自己。)

沒有留言:

張貼留言