分布式计算最基本的目的之一就是为了充分利用空闲的计算节点的计算能力。通常,我们首先会将要被分布式计算的程序在每个计算节点部署好,然后才可以调用分布式计算。这种“部署”是一种静态的。之所以称为静态的,是因为还有一种更动态更灵活的方式 -- 我们可以随时的、动态的将我们新完成的程序自动【提交】到已经部署好的分布式框架里动态运行起来。比如,假设我刚写了一个新的排序的算法程序(假设程序集为X.dll),然后我要对现有的10000000个数据进行排序,但是,我的机器配置太差,运行不了如此大的计算任务,那么我就可以将X.dll和要排序的数据传递给部署在其它地方的动态分布式计算框架实例,动态分布式计算框架会调用X.dll中的排序算法来对数据进行排序,并返回结果。这就是“动态”的含义。我写DCFramework(Dynamic Distributed Computing Framework)这个框架的主要目标是达到这样的一个效果。不知道这种分布式计算架构和“云计算”是否有点关系?
如果是使用C或C++来实现这样的动态效果,应该不是一件简单的事情,但是强大的.Net平台使得实现这一目标称为可能,并且不是那么难。
我将平台选定在.NET,这可以使很多功能更加容易实现,也使得很多问题得到简化。DCFramework的主要特性如下:
(1)基于.NET平台。这有两种含义:DCFramework是用.NET(2.0)实现的;也只有基于.NET的程序才可以使用DCFramework支撑的动态分布式计算架构。
(2)DCFramework 使用DCJob表示动态分布式计算任务。
(3)分布式计算节点可以动态的增加、删除。所谓计算节点就是用于真正执行分布式计算任务的节点,在DCFramework中称为DC Worker Node。
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!