我需要編寫一個計算密集型的仿真程序。我試着編寫這個程序的多線程版本,但它花費了太多時間。現在我計劃擴展到多個節點(可能通過Amazon EC2節點)。用於新分佈式計算項目的Python?
我對Python已經很熟悉了。如果我關心速度,Python是否配備了一些並行模塊是一個可行的選擇,還是我最好去Erlang之類的其他框架/語言?
你甚至可以在Erlang編寫一個模擬程序嗎?
該項目更多的是關於瓜分計算,而不是瓜分的數據集,所以我沒有考慮基於地圖的框架減少
我需要編寫一個計算密集型的仿真程序。我試着編寫這個程序的多線程版本,但它花費了太多時間。現在我計劃擴展到多個節點(可能通過Amazon EC2節點)。用於新分佈式計算項目的Python?
我對Python已經很熟悉了。如果我關心速度,Python是否配備了一些並行模塊是一個可行的選擇,還是我最好去Erlang之類的其他框架/語言?
你甚至可以在Erlang編寫一個模擬程序嗎?
該項目更多的是關於瓜分計算,而不是瓜分的數據集,所以我沒有考慮基於地圖的框架減少
請問您的問題並行平凡?那麼你可能想看看Elastic Map Reduce而不是EC2。
如果您已經熟悉python了,我會建議您在python中保持模擬(並在C中加速關鍵部分)並使用Erlang進行管理。在Erlang寫模擬將遠離你的舒適區(即使是我個人也會這麼做)。您可能可以重新使用部分Erlang項目作爲Disco project或Riak core。用一些次優的POC開始你的項目,並在迭代中調整它。它意味着從python開始,將它嵌入到Erlang(可能是Disco),然後移動它,直到對性能和功能不滿爲止。你最終可以得到任何東西,包括純粹的Erlang解決方案或使用NIF或其他任何滿足你需求的BEAM中的修正Python。
dispy是一個用Python進行分佈式計算的框架。它使用asyncoro,一個使用協程的異步併發編程框架,以及一些erlang的特性(廣義上講)。免責聲明:我是這兩個框架的作者。