再来说说这个分布式运算的芯片:
从功能来说,这个芯片将会分为两部分,第一是通信能力,能够利用现有的网络设备来构成自己的运算网络。关于这个我们可以给每个芯片一个特殊的地址码,有点类似IP地址,然后利用原有的网络协议,让芯片互相识别,或者单独为芯片开发一种网络协议(不管哪种前提是我们的网络速度能够达到G级别,不然就不是悲剧那么简单了。)
第二是运算分配能力,既然要分布式运算,那些数据可以被发送,以及怎么运算呢?我这里的设想是把CPU的多线程拆分出来,就相当于我们一旦联网,就相当于电脑的CPU多了一个线程,这样原本4核CPU连接一个新的单核主机后,就等于多了1一个新的运算单元,所以这个分配模块就相当与CPU里面的一个运算分配器。用来完成运算信息的分配过程。当然前提是这个分配器能够从网络里拿到需要的运算能力,即下一个模块,当前运算能力评估。
既然分布式要借用其他的CPU的计算能力,可是如果这台电脑正好在玩COD呢,明显就没有运算能力孔雀出来了嘛,所以当前的运算能力就为0,所以芯片里还有一个能够读取CPU繁忙程度的模块,从我缺乏的CPU认识里,我认为那就是读取1级缓存和二级缓存的读写频率。
好了,有了上面的三个模块,这个设想还不算完,这只能说构成了一个分布式运算的客户端,还需要一个发布运算信息的服务端。
一样服务端也需要通信没模块,所以两个可以合并
然后是运算分配器的逆向运作,就是把当前的运算不足的部分大包发送给通信模块,传输给其余的电脑,让其它运算系统完成
大概就是这样一个过程吧
1本机运算量暴增,突破运算阙值。
2.分布式芯片触发。
3.芯片通过网络建立专用协议的通道
4.各芯片间开始平衡运算能力(从设想上来说,这样做会导致低级资源过度依赖高级资源,但是可以通过将芯片的功能与CPU结合起来,CPU能力越强,其分配能力就越强,也就是能够将运算信息分散的更加小的数据量,从而加速运算速度,越是低级的资源,分配的能力就愈低,分给其它主机的数据就越大,运算耗时就更多。)这样的话就相当于越高级的系统拿到的运算能力就越强,当然也不是说,低级资源就会减慢速度,只能说提升不多罢了。
5识别到的个计算机开始数据发送,进行计算。
6运算过程结束,数据发回(其实这里的设想系统是动态的,各机随时都会由于徒增的运算导致其余的运算连接被拒绝,可是这样就会出现分配器的冗余数据,这个我还没想过怎么去解决)
从功能来说,这个芯片将会分为两部分,第一是通信能力,能够利用现有的网络设备来构成自己的运算网络。关于这个我们可以给每个芯片一个特殊的地址码,有点类似IP地址,然后利用原有的网络协议,让芯片互相识别,或者单独为芯片开发一种网络协议(不管哪种前提是我们的网络速度能够达到G级别,不然就不是悲剧那么简单了。)
第二是运算分配能力,既然要分布式运算,那些数据可以被发送,以及怎么运算呢?我这里的设想是把CPU的多线程拆分出来,就相当于我们一旦联网,就相当于电脑的CPU多了一个线程,这样原本4核CPU连接一个新的单核主机后,就等于多了1一个新的运算单元,所以这个分配模块就相当与CPU里面的一个运算分配器。用来完成运算信息的分配过程。当然前提是这个分配器能够从网络里拿到需要的运算能力,即下一个模块,当前运算能力评估。
既然分布式要借用其他的CPU的计算能力,可是如果这台电脑正好在玩COD呢,明显就没有运算能力孔雀出来了嘛,所以当前的运算能力就为0,所以芯片里还有一个能够读取CPU繁忙程度的模块,从我缺乏的CPU认识里,我认为那就是读取1级缓存和二级缓存的读写频率。
好了,有了上面的三个模块,这个设想还不算完,这只能说构成了一个分布式运算的客户端,还需要一个发布运算信息的服务端。
一样服务端也需要通信没模块,所以两个可以合并
然后是运算分配器的逆向运作,就是把当前的运算不足的部分大包发送给通信模块,传输给其余的电脑,让其它运算系统完成
大概就是这样一个过程吧
1本机运算量暴增,突破运算阙值。
2.分布式芯片触发。
3.芯片通过网络建立专用协议的通道
4.各芯片间开始平衡运算能力(从设想上来说,这样做会导致低级资源过度依赖高级资源,但是可以通过将芯片的功能与CPU结合起来,CPU能力越强,其分配能力就越强,也就是能够将运算信息分散的更加小的数据量,从而加速运算速度,越是低级的资源,分配的能力就愈低,分给其它主机的数据就越大,运算耗时就更多。)这样的话就相当于越高级的系统拿到的运算能力就越强,当然也不是说,低级资源就会减慢速度,只能说提升不多罢了。
5识别到的个计算机开始数据发送,进行计算。
6运算过程结束,数据发回(其实这里的设想系统是动态的,各机随时都会由于徒增的运算导致其余的运算连接被拒绝,可是这样就会出现分配器的冗余数据,这个我还没想过怎么去解决)
200字以内,仅用于支线交流,主线讨论请采用回复功能。