我有一个工作块,我分成更小的块。我想将每个块分配给 NumberCruncher 的一个实例(每个实例将托管在一个唯一的 EndPoint 上,并将在服务器上的特定线程上运行)。然后,指定 EndPoint 处的 NumberCruncher 实例将处理客户端代理传递给它的那些数字,然后以 txt 文件格式返回结果。
从客户端,我假设我需要保留 2 个线程安全列表,其中 1 个包含链接到等待返回结果的 NumberCruncher 实例的端点。等待分配更多工作的 NumberCruncher 实例的第二个?
关于向这些列表中添加项目,如何处理来自服务器的多个请求?一次只能添加一个,所以我假设客户端需要向服务发送一条消息说“是的,您已成功添加到列表中,现在停止请求添加。”?
编辑
我目前正在尝试对我收集的时间序列进行一些分析。我编写了一个程序(Number Cruncher),它拆分我要检查的不同参数并将它们分配给不同的线程(由我的电脑中的核心数量决定)。然后每个线程使用分配的输入运行 Number Cruncher。不幸的是,即使使用所有内核,这在我的电脑上也花费了大量的时间。所以我想在几台电脑(服务器)上运行这个相同的程序,并编写一个程序,将工作分配给所有服务器。每次模拟大约需要 1 小时。因此,我正在查看 520 小时的计算时间(即对于单台 PC 来说是不可行的)。