有沒有支持MATLAB的雲計算平台?
題主本科僧一枚,在跟著導師做科研,當計算量大的時候matlab需要跑十幾個小時,但是學校晚上斷電,有時候程序沒辦法完整的跑完。所以想問問有沒有支持MATLAB的雲計算平台,最好是國內的,因為題主學校的網路基本訪問不了國外的網站,VPN也沒法用。謝謝各位!
親自實踐了一下,AWS EC2可以運行matlab。 簡單點理解就是向亞馬遜租了一台或多台電腦,然後裝上matlab歡樂地奔跑。。。(按使用時間收費)
簡單講一下步驟:
1,申請GitHub education pack! (專業付費用戶請跳過此步)
連接: https://education.github.com/
Why?雲計算是收費的啊,沒錢沒劵乾瞪眼么?
去github是因為裡面包含AWS 150刀的抵用卷,做個個人項目差不多夠了
有朋友推薦了DigitalOcean, 感覺也蠻好的,可能更適合其他語言的程序,看了一下收費方式(按月)送的禮券(50刀)以後還是選擇用AWS EC2(按小時,150刀).
註冊的具體步驟就不說了,需要學校郵箱認證,認證好了給個代碼,去AWS充值(AWS/Account/bill management/credit)
PS: AWS 給學生免費提供的課程也不錯可以看看
註冊好git education pack和aws education以後可以看一下可以適用的伺服器,不同地區放得伺服器種類可能有所不同,費率也可能不一樣,這裡用得倫敦的伺服器:
因為個人需求運算性能,所以AWS提供的計算優化伺服器看起來比較適合 – 最新一代c4.8xlarge CPU*36,ECU*132, RAW 60G $3.558 一小時, 系統信息如圖:
如果覺得不夠可以選擇更豪華的配置(更貴),或者多開幾台(裝好一台以後鏡像複製比較方便,免得自己又得手動裝程序)
如果你的運算主要用GPU,也可以選擇GPU類型伺服器。
這裡也許有人會問,為啥不用AWS education自帶(非Git禮包)送的750小時每個月,,,看看免費的是什麼性能就知道了,:
t2.micro(免費,一個月不超過750小時) CUP*1, RAW 1G, 也許放手機APP類網路應用是夠用的,但是做性能運算就不可能了。
2. 啟動EC2 instance (租伺服器)
具體步驟可以參考這位前輩的博客,這裡只說幾個需要注意的地方
亞馬遜雲aws12個月免費伺服器搭建小結_cuble酷博_新浪博客
官方說明:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html
注意:
- 默認的硬碟容量可能是30G,裝好windows系統(已經預裝好)再裝個MATLAB就剩不到2G了,所以請在啟動的時候請手動把C盤修改大一些,或者添加其他硬碟卷,建議預留100G。因為MATLAB的Parallel Computation Toolbox需要佔用本地磁碟容量,所以worker越多,消耗磁碟容量越多! 否者後面加容量有點麻煩,要使用AMI映像功能,還要手動連接安裝新的容量。(註:超過30G就是收費檔了,但是增加容量是充分且必要的)
-安全組就看自己的需求了,可選指定IP或者所有IP都能連
設置好了啟動,去倒杯水,需要幾分鐘
3.連接EC2,裝MATLAB,GIT
如何連接可以看教程,注意不要把下載密匙文件搞丟了!!!
伺服器的默認安全設置非常嚴格,默認禁止下載,每個網站也需要添加到白名單里才能看
所以第一步,去把internet options安全等級改了,download/enable
然後下載和安裝所需要的軟體,如Matlab, GitKraken. 此過程中需要添加很多白名單網址,耐心地一個個都點了。
c4.8xlarge的網速和運算速度都很快,十分鐘左右可以把這些軟體下載好裝好,然後接下去就可以愉快的運算了
MATLAB用戶需要手動設置一下Parallel Computing Toolbox裡面的local worker數量,默認是8,現在可以改到和cpu內核數量一致(36核就設置36個worker)。 換句話說,如果不把伺服器CPU百分百利用了,有點不划算。
這裡在試用GA Multi-Objective Optimisation,36顆CPU瞬間爆炸!!!刷到100%
就是很享受所有核都一直保持100%的感覺有木有
4. 數據輸出
可以用SSH,或者其他方法,
因為有網路,我最後的運算結果數據不大,就用git同步數據,或者自動發郵件附件到自己郵箱里。
高玩可以自己設置個本地/伺服器數據介面,在本地直接控制雲上的程序,就不用像我這樣登Remote Desktop Connection 去操作了。
也可以代碼封裝好獨立運行,這樣就不用matlab了,或者轉成其他算得更快的語言,總之,在雲上翻筋斗的姿勢很多。。。。機器學習領域是不是人人都會用雲計算了?
5.關閉服務
AWS是付費服務!!!
相信各位知道,伺服器是按照使用時間收費,用完不但要關閉instance了,還要要刪除伺服器instance!
但是我相信肯定有人會忘了把「硬碟卷鏡像」刪了,,,,,
還記得你開伺服器的時候加了塊硬碟么???EMS/AMI和EC2不是完全在一個產品界面里,刪instance不會直接刪除硬碟鏡像,這樣你以後還可以接著用這塊硬碟。硬碟鏡像也是要收費的,,,,
不刪過幾個月你會收到驚喜!!!
(慢慢地把你的券吃完,然後開始吃刀)
6. 其他:
-AMI映像和EMS存儲個人覺得蠻好用的,可以理解為插在PC(a)的D盤可以同時插在PC(b)上,然後就可以方便在不同instance之間共享和傳輸數據。而且instance刪除的時候可以保留數據存儲(前提是用了AMI),開新instance的時候可插之前用的「硬碟」,這樣很多程序都不用再重新安裝了
-其實在不同雲服務商開instance的操作流程都差不多,如何選擇就看哪個伺服器比較近,哪個更安全,客服更好吧,對於剛開始體驗雲計算的用戶來說,最重要的是誰的性價比更高!
對比了一下現在用的亞馬遜雲c4.8xlarge ,CPU*36,RAW 60G規格, 是 $3.558 每小時。阿里雲沒有同樣規格的,稍微小一點的 ecs.gn4.8xlarge, CPU*32,RAW 48GB 是$ 2.719 每小時, 還是比亞馬遜便宜一些的
謝謝前輩提醒騰訊雲,定價更為靈活一些,而且有GPU伺服器,但是只看到了cny的價格不這裡對比了。
但是有免費代金卷可能是另外一回事情,,,等用完AWS這150刀準備去試試阿里雲或者騰訊雲(等都體驗一遍可以寫個評測)。。。anyway, 希望祖國的雲也越做越好~
備註:Mathworks(MATLAB)原本是有在AWS EC2上面搭建好的instance可以通過 Parallel Computing Toolbox直接連接的,,,,但是需要獨立帳號(非學校total headaccount帳號)+ Distributed Computing Server license
可惜這兩個學校不能提供,,於是有了本文
Mathworks官方:
MATLAB Parallel Cloud
再仔細看了一下這個介紹,16 workers $6.08? only US and Canada? 蛤? 你已經失去本寶寶了....
················································
20170604 更新實戰經驗
20170605 add 騰訊雲
價格看錯了,OMG,原來win比lin貴這麼多,已經更正價格,現在50刀已經花出去了
20170606 這幾天的體驗就是「真的好快好方便,沒有什麼為了運算買台工作站的慾望了」,順便秀一下賬單結構吧,80刀插下去了。。
20171128 加註釋,和如何關閉服務。
要不試試在實驗室環境搭建一個MATLAB集群?
直接在公有雲,阿里,騰訊買一個伺服器裝上matlab隨你跑
可以看我的文章~~使用octave解決matlab的雲計算問題~~~知乎專欄
以及octave的簡介
知乎專欄想知道MATLAB該選內存型還是計算型還是高IO型
國內阿里盛大什麼的雲服務,一直跑
就阿里雲上裝個MATLAB應該沒問題吧。。。按需付費也不是很貴
亞馬遜可以,國內的不清楚:Parallel Computing on the Cloud with MATLAB不過這裡的限制條件似乎不太適用你的需求。就你說的問題其實你可以把程序修改下,讓程序每隔一段時間備份一次,這樣的話如果運算時間需要十幾個小時的話,第二天載入頭天晚上備份的狀態接著算,應該兩天也就能出結果了。
推薦閱讀:
※和 Amazon、Google 相比,微軟 Azure 雲計算服務的市場機會和競爭優勢在哪裡?
※安恆上阿里雲了,這事兒大家怎麼看?
※有哪些雲計算平台好用又實在?
TAG:雲計算 | AmazonWebServicesAWS | MATLAB | AmazonEC2 | 雲計算平台 |