点子:位置无关的任务分发系统
今天在写分布式测试系统的时候突然想到,其实完全可以把本地的并行计算和分布式计算综合起来,采用分布式任务分发器来实现:
一个任务分发器,负责将任务切片和分发并且回收运算结果。 运算器可以是同一个机器的另外一个进程,或者另外一台计算机。对于任务分发起来说,采用不同的任务分发通道(Distribution Channel),就可以实现共享内存发布或者TCP端口发布,这就避免了同一个机器的运算器也需要通过TCP端口来实现连接的低效率方式。
这样的话只需要通过不同的分发器(Distributor),经过配置以后成为分发渠道(Distribution Channel),而计算器则只需要采用不同的订阅器(Subscribtor)组合而来的(Subcribtion Channel)来访问任务调度器即可。
WCF目前好像还没有官方的内存共享发布渠道,得去找找。这个点子真是很有意思,充分利用WCF让整个框架简化了很多。
这个方法就可以用树形结构来维护整个运算节点树了,让分发器也能不闲着了,哈哈哈哈。
以后把任务初始化和切片做成插件形式
突然想到的,先留个印,免得忘了。
posted on 2010-11-07 21:34 john_masen 阅读(248) 评论(0) 编辑 收藏 举报