我有一块工作分为更小的块。我想将每个块分配给NumberCruncher的一个实例(每个实例将托管在一个唯一的EndPoint中,并将在服务器上的特定线程上运行)。然后,指定EndPoint中的NumberCruncher实例将返回并紧缩客户端代理传递给它的那些数字,然后以txt文件格式返回结果。WCF,处理来自多个服务器的同时请求
从客户端来说,我假设我需要保留2个线程安全列表,其中包含链接到NumberCruncher实例并等待返回其结果的EndPoints。 NumberCruncher的第二个等待分配更多工作的实例?
关于将项目添加到这些列表中,如何处理来自服务器的多个请求?一次只能添加一个,所以我假设客户需要发送一条消息给服务,说“是的,你已经成功添加到列表中,现在停止请求添加。”?
编辑
我目前正在运行的时间序列我已经收集了一些分析。我编写了一个程序(Number Cruncher),它分割我想检查的不同参数,并将它们分配给不同的线程(由我的电脑中的核心数决定)。每个线程然后运行带有分配输入的数字计算器。不幸的是,即使使用所有内核,我的电脑也花费了大量的时间。所以我想运行这个相同的程序,但在几台电脑(服务器)上,并编写一个程序,将工作分配给所有的服务器。每个模拟需要约1小时。所以即时看520小时的计算时间(即不适用于一台电脑)。
香港专业教育学院编辑我的问题N + 1的什么ü上面所说的可能是正确的。 – 2013-05-09 17:46:08
为什么1个服务器和多个客户端,而不是其他方式? – 2013-05-09 18:53:40
因为这使得结果的返回更容易。师父也不需要知道/管理工人的能力。 – 2013-05-09 18:57:54