1 networking ubuntu c++ multithreading
我有一个多线程的 C++ 程序。我相信如果我可以在通过交换机连接的其他计算机上运行它,吞吐量会增加。所有这些都使用相同的操作系统(Ubuntu)。有什么方法可以在不更改代码的情况下做到这一点吗?如果我需要更改代码,我应该寻找什么?
Kus*_*nda 5
如果不更改代码,这通常是不可能的。
多线程程序将使用单个计算机上的处理器。一旦您想在连接的机器网络上运行相同的程序并使程序的各个实例相互通信,代码就必须在运行在不同机器上的程序的多个副本之间进行显式消息传递。簇。
有图书馆可以做到这一点。一个相当知名的标准称为消息传递接口,或简称 MPI,并且大多数免费的 Unices 都存在 MPI 的实现。
如果程序正在执行的处理是令人尴尬的并行,这意味着程序的多个副本将能够在不相互通信的情况下处理输入数据的块,那么这可能是一个更容易解决的问题,并且可以使用 GNU 来完成。parallel.
parallel
最后归结为程序实际在做什么。
归档时间:
7 年,7 月 前
查看次数:
214 次
最近记录: