云计算调度的实现思路
之前有本《编程之道》,其中有一节讲到,世间万物皆有阴阳,空间和时间就是软件的阴和阳。
昨日与朋友探讨,想到了一个做云计算的调度实现思路,不知道具体可行与否,到时候做出来试试看。 之前有本《编程之道》,其中有一节讲到,世间万物皆有阴阳,空间和时间就是软件的阴和阳。 空间可以比拟为内存与内存中的对象,而时间可以比拟为cpu的计算能力,或者虚拟机中的虚拟cpu计算能力。 分布式计算或者集群计算的难点,可以说是如何协调多台服务器的cpu来共享内存和共享对象的问题了。 这里可以考虑先采用一个简化的实现方案,任务调度器在发送执行命令给执行器时,同时在共享内存区域创建(可使用redis)出一个指定的变量表空间,并将这块变量表的访问地址和程序代码快同时指定给执行者。 而执行者接收到执行命令时云计算如何实现,先从共享内存中下载变量表空间,准备执行环境所需要的变量表空间在本地,然后再在这个变量表的基础上开始执行代码。 当执行代码达到一定次数(例如1000条命令时),将本地的变量表再回写到网络的共享内存表中,本地执行结束,将执行结果返回给调度者。 调度者收到执行结束的信号,就可以将内存表的地址和执行脚本,发送给下一个执行者进行继续执行,直到所有脚本执行结束。 这种执行方案相对实现起来比较简单,可以找时间试试看效果如何。 这种执行方法的缺点,就是内存表中不能存储无法序列化的对象,例如jdbc rs之类有状态的对象。 计划这个月能写出个新版本的雏形出来。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |