[英]Web Farm Framework + PLINQ
我对网络农场框架和PLINQ有疑问。
众所周知,我们可以在.NET 4.0 Framework中使用AsParallel扩展。
例如
var source = Enumerable.Range(1, 10000);
// Opt-in to PLINQ with AsParallel
var evenNums = from num in source.AsParallel()
where Compute(num) > 0
select num;
我知道Web场框架将为我做自动负载平衡。
假设我有3台服务器。
服务器A:8核服务器B:4核服务器C:4核
问题是我总共收到多少个CPU内核? 是8 + 4 + 4 = 16核吗?
我问是因为我想知道并行计算有多少个CPU内核可用。
感谢大家。
并行LINQ使用仅在其正在执行的机器上可用的内核。 我相信有些第三方产品(Microsoft Research有DryadLINQ )可以将其扩展到群集,但是,开箱即用是不可能的。
此外, 可用的内核和使用的线程是两个独立的事物(要进一步挑剔,非托管和托管线程也是两个独立的事物)。
为了回答您的问题,无论代码在哪台服务器上执行,PLINQ都可以使用1个或更多线程(最多由正在使用的调度程序提供的限制)。 这完全取决于工作量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.