Ubuntu

在網路上的電腦上執行 C++ 程序

  • February 23, 2018

我有一個多執行緒的 c++ 程序。如果我可以在通過交換機連接的其他電腦上執行它,我相信吞吐量會增加。所有這些都使用相同的作業系統(Ubuntu)。有沒有辦法在不更改程式碼的情況下做到這一點?如果我需要更改程式碼,我應該尋找什麼?

如果不更改程式碼,這通常是不可能的。

多執行緒程序將使用單台電腦上的處理器。只要您想在連接的機器網路上執行相同的程序並讓程序的各個實例相互通信,程式碼就必須在執行在不同機器上的程序的多個副本之間進行顯式消息傳遞群。

有圖書館可以做到這一點。一個相當知名的標準稱為消息傳遞介面,或簡稱 MPI,大多數免費的 Unices 都存在 MPI 的實現。

如果程序正在執行的處理是令人尷尬的並行處理,這意味著程序的多個副本將能夠在不相互通信的情況下處理輸入數據的塊,那麼這可能是一個更容易解決的問題,並且可能使用 GNU 來完成parallel.

最後,它歸結為程序實際在做什麼。

引用自:https://unix.stackexchange.com/questions/426126