Thursday, April 26, 2007

Who needs eight core PC?

前陣子Apple推出他們配備兩個Quad-core CPU的Mac Pro系統,立刻吸引了我的注意。當然不是因為炫....


最主要的原因是在處理大量影像(MRI, histology, etc)資料時,大部分運算(像是curve fitting, registration, image reconstruction等)都是可以平行化處理的。過去要這麼做就得花大錢買多CPU的機器,或便宜一點的也要買好幾台電腦來做cluster,既不易管理也很佔空間。現在有了multi-core CPU,一台PC的大小就可以至少塞下相當於8顆CPU的效能,自然是比較吸引人的方案。

有了硬體,一定要有軟體配合。就作業系統而言,Mac OS X應該沒問題,Linux可支援到32 CPU,所以也不成問題,Windows XP Pro雖然只支援2 CPU,但他不管每顆CPU上有幾個core,所以也不用特別去找server版。至於常用的Matlab並不支援多CPU,但是他有出Distributed Computing Toolbox(只是很貴),也有好心人寫的Matlab平行化工具,所以應該可以充分運用八核心。而自己寫的C程式,則需要能支援平行處理的compiler,常用的gcc似乎還無法對多核心最佳化,不過Intel C++ Compiler能自動幫你把程式平行化,是很讚的工具,而且最近也出了Mac版,所以軟體工具應該是足夠了。

效能上,根據初步的benchmark,八核心只比單核心快不超過5倍,除了跟CPU架構有關,也跟測試程式本身設計及所處理資料的特性有關,如果有特別針對平行處理設計過,應該能更好些。

至於價錢上,配備八核心3.0GHz,8GB RAM,1TB HDD的Mac Pro要6500USD,DELL也有出類似配備的機器,稍微便宜一點,可是也要超過6000USD,都不便宜。

No comments: