我是一名軟件工程師,目前期待在我的實驗室建立一個分佈式系統,以便我可以處理一些matlab作業。我研究過MATLAB MPI,但是我想知道是否有某種方法可以在沒有任何FEE或AMOUNT的情況下設置系統。專用分佈式系統來處理matlab作業
回答
我花了很多時間看這個問題,簡短的答案是:不可能的,不可能的。
有兩個很長的答案。首先,如果您受限於使用Matlab,那麼所有道路都會返回到MathWorks。一種可能性是你可以編譯你的代碼,但是你需要從Mathworks購買編譯器,然後你可以在你希望的任何網格基礎設施上運行編譯代碼,比如Hadoop。其次,由於這個原因,我發現簡單地將代碼移植到另一種語言(通常是一種開源代碼)會好得多。對於我傾向於做的工作,Octave是Matlab的糟糕替代品。相反,R和Python對於大部分相同的功能都很棒。就我個人而言,我比Python更傾向於R,但這是因爲R更適合這些應用程序(即它們本質上是非常統計的)。
我已經移植了一個很多的Matlab代碼到R,它不是太糟糕。儘管如此,移植到Python會更容易,而且有一個非常大的Matlab難民社區已經轉向Python。
一旦你在Python或R中,MPI,多核工具,分佈式系統,GPU工具等等有很多選擇。事實上,通過在Python或R中編寫一些分佈式函數,加載一個易於使用的網格系統,然後讓Matlab將作業提交給服務器,您可能會發現遷移更容易。你的本地代碼可能是相同的,但是你可以只移植網格化的部分,無論如何,你可能需要花費一些時間在Matlab中編寫代碼。
我不會說這完全不可能;您可以使用TCP/IP套接字來構建客戶端/服務器應用程序(您將在文件交換上找到許多用於BSD套接字的MEX實現)。
該架構很簡單:您的主要MATLAB客戶端腳本將作業(代碼連同任何需要的數據串行化)發送到節點,以便在完成時評估和發回結果。這些節點將分佈運行服務器部分的MATLAB實例,該服務器部分監聽連接,並運行通過EVAL函數接收到的任何內容。
很明顯,它需要編寫可分爲易碎任務的代碼。
這不是什麼是分佈式計算工具箱提供作爲複雜,但基本上做同樣的事情......
- 1. Jomsocial專業組件可以處理本地系統嗎?
- 2. 分佈式系統
- 3. 分析分佈式系統
- 4. Java分佈式系統
- 5. 分佈式系統設計
- 6. MongoDB的分佈式系統
- 7. 分佈式開發系統
- 8. 分佈式日誌系統
- 9. 隊列中的作業(pub-sub)具有依賴關係的分佈式系統?
- 10. 這是要調用分佈式系統
- 11. 用於分佈式系統的UML
- 12. 使用SimPy來模擬Chord分佈式系統
- 13. Mediatr - 專業化前/後處理器
- 14. 實時分析處理系統設計
- 15. 在Java基於NIO的分佈式系統中使用字符串或對象來處理數據?
- 16. 分佈式系統中的主題
- 17. 實施分佈式系統/數據庫
- 18. 分佈式系統上的互斥
- 19. P2P或分佈式系統實現
- 20. 分佈式文件系統.NET
- 21. 分佈式反垃圾郵件系統
- 22. 分佈式系統sqlite錯誤
- 23. ZeroMQ基於分佈式系統
- 24. 伯克利算法 - 分佈式系統
- 25. 的GemFire:啓動分佈式系統
- 26. 如何版本在分佈式事件來源的系統
- 27. 正確的方式來處理ASP.NET MVC系統錯誤
- 28. 文件I/O操作系統處理
- 29. 實時流式處理作業的體系結構
- 30. 只有分佈式系統遵循CAP定理嗎?
也看看這個類似的帖子:http://stackoverflow.com/questions/6511534/可以-I-購買-遠程MATLAB的處理時間/ 6564784#6564784 – Amro