这种设想依然来自与蚁群搬动食物的启发。在蚁群搬动食物的过程中。我发现很多蚂蚁参与搬动一个大的食物时,他们在搬动食物的过程中是可以随时加入,也可以随时从搬动食物的组中撤出,蚂蚁在搬动大食物时就是这样不断的有蚂蚁加入也不断的有蚂蚁撤出,但搬食物这个任务确是向既定目标前进的。如果我们假设每个计算机节点就是一只蚂蚁的话,一个大计算任务就是蚂蚁搬运的食物。那我们是否可以设计一种算法或者协议来对大计算任务进行如蚂蚁搬食物的集群计算呢。我设想的机器0、1、2、3、4、5、6、7、8、9通过某种协议来进行这种集群计算是任务要被随机的机器接受。比如0机接受了任务,这时机会将任务分发给组中的1、2、3、4、5、6、7、8、9机,这样等计算完成,再将结果返回给用户,如果组中的机器很多,比如有20
台,那么相同的子任务可以被分发给多台机器,当最先返回的子任务结果被0机接收,那么其他节点的同子任务就
不再有实际意义,这期间如果有机器离线,组中的所有机器应该具有智慧高速重新绘制拓扑,并将该机未完成子任务
自动进行随机负载,将结果返回给0机。如果0机离线,那么大任务也会被随机的分配给任何一台机器,并将结果
返回给用户。各节点应具有智慧,如果自己很忙就可以通过某种机制通知组内成员,这时将不再有新的子任务被分配到该
计算节点,只要该节点不再繁忙,新的子任务就会再次被该节点分担,同时它也会接受用户的大计算任务,并将
大任务分发给各计算节点进行计算,然后将计算结果汇总后返回给用户。这种高度智能网络的定义可以由用户自己进行部署,
在最困难的情况下它就是单节点运行。当有节点加入时任务自动开始分配,节点加入数越多,这个集群系统的计算性能越优越,
阅读(768) | 评论(0) | 转发(0) |