一个云计算调度的解决思路

昨日与朋友探讨,想到了一个做云计算的调度实现思路,不知道具体可行与否,到时候做出来试试看。

之前有本《编程之道》,其中有一节讲到,世间万物皆有阴阳,空间和时间就是软件的阴和阳。
空间可以比拟为内存与内存中的对象,而时间可以比拟为cpu的计算能力,或者虚拟机中的虚拟cpu计算能力。

分布式计算或者集群计算的难点,可以说是如何协调多台服务器的cpu来共享内存和共享对象的问题了。

这里可以考虑先采用一个简化的实现方案,任务调度器在发送执行命令给执行器时,同时在共享内存区域创建(可使用redis)出一个指定的变量表空间,并将这块变量表的访问地址和程序代码快同时指定给执行者。

而执行者接收到执行命令时,先从共享内存中下载变量表空间,准备执行环境所需要的变量表空间在本地,然后再在这个变量表的基础上开始执行代码。

当执行代码达到一定次数(例如1000条命令时),将本地的变量表再回写到网络的共享内存表中,本地执行结束,将执行结果返回给调度者。

调度者收到执行结束的信号,就可以将内存表的地址和执行脚本,发送给下一个执行者进行继续执行,直到所有脚本执行结束。

这种执行方案相对实现起来比较简单,可以找时间试试看效果如何。

这种执行方法的缺点,就是内存表中不能存储无法序列化的对象,例如jdbc rs之类有状态的对象。

计划这个月能写出个新版本的雏形出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值