我在梦中看到超级计算机是超算电脑,采用大量阵列cpu和内存,完成并发计算。有个手机厂家提供服务因为使用普通机器,导致经常宕机,其实铁道部火车网络售票就是。

因为不能采用云服务,上万台计算机并行处理,所以处理能力是不够的。

于是我设计了一台电脑,主板上再插上几个小主板,小主板上有cpu,内存,固态存储等,大小跟光驱差不多,插上4个,8个,16个,完成阵列计算,通过操作系统分配计算到阵列上,从而高速迸发运算。一台机器计算力相当于上百台普通计算机。为了支持并发计算,程序设计需要改进,可以把指定程序代码分配到某个矩阵单元上运行,当然编译器可以自动分配,但是必须指定某些代码不能分割计算,否则会导致不同步计算混乱,暂且称为原子代码,原子代码是不能分割的。比如for循环运行一百亿次,循环内如果是数据叠加,分割后发送到不同矩阵单元计算因为初始值不同,可能就会计算错误,所以不能分割进行分布式计算,需要改进算法,比如不用for循环,改用其他算法,因此需要分布式编程,把代码分割成原子代码,这样的编程可能跟现在的编程有些不同的了,简单的说就是要设计分布式算法,这种算法还可以暂停,保存临时数据,有点像虚拟机的suspend挂起,我们现在写的程序运行中是不可以挂起的,分布式程序是可以挂起的。也就是说矩阵电脑程序可以挂起,也可以切换到不同矩阵单元继续计算。

汉澳matrix矩阵电脑有超强的计算能力,携带一台电脑就相当于携带上百台普通计算机,其计算能力多么强大,普通家庭用不到这么强的机器吧。当然我们需要先完善矩阵操作系统,然后完善支持分布式计算的编译器,最后我们才有真正的普通矩阵电脑,矩阵单元高速迸发计算。矩阵电脑可能在未来机器人上用到,矩阵电脑可能再次缩小。固态硬盘出现也有助于开发能承受大震动的机器人。矩阵电脑是在cpu计算能力遇到瓶颈后通过并行计算把计算机的计算能力再提升到一个数量级的最佳办法,突破摩尔定律限制,通过增加矩阵单元让计算机计算速度快速翻倍。

以前的计算机像房子一样的,现在的超级计算机也有几层楼房子,不可能携带,也不能叫电脑,只有矩阵电脑才能把超级计算机搬回到家中。只有矩阵电脑才能充分利用计算机的能力,多核多cpu电脑都不能再次扩展电脑的计算能力,而矩阵电脑分布式计算就能做到,这也是看黑客帝国得到的启示。

我不知道超级计算机是怎么往矩阵单元发送计算任务的,可能程序都是非常定制的,可能只是派发某种计算任务。但是我认为为了适应计算多样性,可能在矩阵单元上还是运行有一个操作系统。其实操作系统内核主要有进程管理,内存管理,文件系统,输入/输出系统。文件系统和I/O系统需要驱动程序跟硬件交互。为了实现多任务,在每个矩阵单元载入操作系统内核是很必要的,其实汉澳操作系统内核不像windows那样占用内存和资源。视窗系统才是资源消耗大户。我们只是在母版上运行完整的操作系统,矩阵单元子板可以理解为一个独立的子系统,但是跟硬件交互需要通过母版进行,也可以通过总线操控硬件,但是这样就存在访问冲突的问题,因此矩阵单元不能直接访问硬件,需要通过母版上的操作系统共享访问硬件。如何向矩阵单元发送计算任务呢?是否可以在矩阵单元运行一个计算服务,把运算代码发送过去,然后运行,运算代码是不是整个进程程序呢?还是程序一部分?

为了实现并发运算,我们设计一个并发算法,计算1到100的累加,下面是器普语言代码

整数 两数间数字累加(整数 开始数,整数 结束数) //这个函数是原子代码,无论怎么执行都不跟其他代码冲突

{

整数 累加总数:=0;

循环 (整数 递增因子:=开始数;递增因子<=结束数;递增因子:=递增因子+1)

{

累加总数:=累加总数+递增因子;

}

返回 累加总数;

}

整数 并发计算返回[10];

[并发代码开始]

并发计算返回[0]:=两数间数字累加(1,10);

并发计算返回[1]:=两数间数字累加(11,20);

并发计算返回[2]:=两数间数字累加(21,30);

并发计算返回[3]:=两数间数字累加(31,40);

并发计算返回[4]:=两数间数字累加(41,50);

并发计算返回[5]:=两数间数字累加(51,60);

并发计算返回[6]:=两数间数字累加(61,70);

并发计算返回[7]:=两数间数字累加(71,80);

并发计算返回[8]:=两数间数字累加(81,90);

并发计算返回[9]:=两数间数字累加(91,100);

[并发代码结束]

整数 累加总数:=0;

循环 (整数 递增因子:=0;递增因子<=9;递增因子:=递增因子+1)

{

累加总数:=累加总数+递并发计算返回[递增因子];

}

打印(累加总数);

这个程序如果不进行并发计算,那么顺序执行也没有什么问题,但是为了实现矩阵计算,需要把计算分割成10个子函数,并分开独立执行。这个只是一个简单的计算,但是在枚举破解密码等程序,计算量就会很大。而真正的并发代码可能更复杂。

大家看到代码中有[并发代码开始]和[并发代码结束]标志,表示中间的代码可以并发执行,每一行一个并发计算,都写成函数调用形式。目前在普通编译器中,这个代码编译没什么问题,但是加入了并发计算,编译器如何实现呢?我想可以在编译器编译这些代码的时候加入一个并发池,并发池存储每行代码,然后把这些并发代码发送到矩阵单元让他们执行,执行结束以后返回,或者通过事件或者中断告诉主程序,本并发代码执行完毕,然后把执行完的代码从并发池移走,或者标记做完,再取出下面的并发代码发送到空闲的矩阵单元,确保每个矩阵单元都不空闲,充分利用矩阵单元的计算能力。如此完成了所有并发代码,就可以执行[并发代码结束]后的程序代码,这些程序不需要并发执行。

用并发池管理和发送并发代码,似乎已经可以实现编译器对并发代码的管理,但是在矩阵单元如何实现接收代码并执行呢?

假设矩阵单元都有个并发代码执行服务器,接收母版发来的代码并执行,那么仅仅发送该函数的代码估计还不够,因为该函数可能还调用几层函数,甚至操作系统api,我觉得如果能探测到该并发函数要调用那些函数并把调用的代码发过去,不过函数需要重定位,可以在编译时把该并发函数需要使用的代码函数整合到并发代码段,类似静态编译,然后把该代码段发送过去,而不是只发送一个函数代码,那样就找不到下级函数代码。至于调用系统api,因为矩阵单元运行有一个操作系统,这个问题解决了。我觉得超级计算机矩阵单元上并没有操作系统,因此代码功能是有限的。并发代码服务器甚至可以接收网络外来的代码,不过已经超出矩阵电脑的范围了,估计超级计算机可以。

并发代码不应该有全局变量,否则会有访问冲突而且不能同步,如果一定要读取全局数据,那么如何处理同步数据呢?这个可能要用共享变量来同步,那么就涉及到主程序与并发代码共享数据的问题。比如在线人数,如果存放到数据库,就通过数据库同步机制来实现,直接存放在主程序空间可能不太靠,可以在操作系统引入一个内存数据库来实现数据共享,避免并发访问数据冲突问题,全局变量都存入内存数据库。unix说的简单就是美,内存数据库总比不断在程序代码引入共享机制更有效。对于需要永久存放的数据,可能需要直接存入数据库服务器,而不是内存数据库。

最后就是并发中面对的输入输出访问的问题,这是并发计算的瓶颈,也是容易阻塞的。文件系统,网络访问速度比较慢,是在并发计算中要等待的,比如网络并发访问,同时有一万个连接进入,处理中难免要等待。但是矩阵单元并没有文件系统和网络设备,他们要访问文件需要通过主程序还是母版操作系统实现?一般来说主程序也是调用系统api,矩阵单元也可以通过母版操作系统实现系统调用。矩阵单元如何通过内存总线访问文件和网络设备?多操作系统如何共享硬件?目前都是单操作系统通过操作系统仲裁让不同进程轮流访问硬件,其实我觉得让很多矩阵单元的操作系统共享直接访问硬件是不现实的,因为谁来仲裁访问机制,要再设计一个底层平台?这个平台又怎么运行?而且矩阵单元也要运行驱动程序?我觉得最好的办法让母版的操作系统独占硬件访问,子板操作系统要访问硬件需要通过母版操作系统实现,也就是说大量的矩阵单元要访问硬件只能向母版操作系统提交请求,然后让母版操作系统来完成再返回结果。不然让子板拥有自己的硬件?比如有自己的网络接口,这个没问题的,但是硬盘,比如存放几千G空间的硬盘不可能分开,否则数据一致性和完整就不能做到,比如数据库服务器,数据不可能分散存放,否则几千g的大数据如何管理?

如果要这样做,子板操作系统的系统api就有两种,有的api可以由子系统直接完成,有的不能完成,可以把api转发到母版操作系统执行然后返回。对于这些api处理,能执行就调用内核服务完成,不能就发送到母版操作系统,母版操作系统上运行api服务器,接收矩阵单元发来的API请求并处理返回。幸好目前操作系统的api处理机制都很好,api服务器不过是执行api请求,只不过不是本操作系统的请求。这样看来矩阵单元的操作系统还是跟母版上完整的操作系统有区别的。矩阵单元操作系统没有驱动程序,对硬件访问的api都是虚拟的api,需要转发到母版操作系统执行。子板程序要访问母版操作系统的内存,有没有必要,如果有就加上一个映射表。

读写文件和网络操作可能有大数据访问,那么子板操作系统和母版操作系统可能有大数据传送,通过内存总线,数据传送应该不难,可以用数据映射来读写数据,而不是大数据复制,可以这样设计,大数据都存在矩阵单元,母版不帮矩阵单元存储数据,否则几十个矩阵单元的数据是很大的。读出的数据直接存到矩阵单元的内存,写数据直接从矩阵单元读出写入,不要临时存到母版操作系统内存,否则可能不够存,也没必要。比如矩阵单元调用fwrite系统函数,母版api服务器执行fwrite函数直接从矩阵单元内存指针读取数据,不要数据复制了。这也是矩阵电脑和几十台机器联网计算的区别,矩阵单元的内存数据可以直接访问的。如果这样,不同矩阵单元的内存地址可能需要在母版操作系统拼接成一个大内存,但是矩阵单元操作系统内的内存还是按操作系统存址,否则无法运行,不过只需要一个映射表完成,这个映射表在母版操作系统把子板操作系统载入矩阵单元的时候就建立好了,它会记录每个矩阵单元的内存偏移。

矩阵单元还可能是多核cpu,因此能运行多任务多进程和多线程,可以接收处理更多的发派过来的任务,只是检测到cpu负载已经很大了就不要再往矩阵单元发派计算任务了。可以往矩阵单元发送一个进程,也可以发派代码,用并发服务器处理完成。并发服务器可能就是一个壳,不能同时处理多个并发代码,而是再启动一个并发服务器执行下一个并发代码,这样设计可能比较妥当,因为并发服务器其实是一个壳,装入并发代码执行,如果里面还要处理多个并发代码,可能很复杂。或者并发服务器就收代码后生成一个壳放入代码执行。这样每个壳只执行一个并发代码,处理结果通过并发服务器告知主程序,并销毁这个壳。并发代码并不是完成程序,可以这样理解,把并发代码加入壳就成为一个完整程序,可以执行了,返回值直接存入数据库可能比较妥当。目前多核多cpu都是把线程放入不同的核运行,而一个程序能不能分几部分放到几个核运行,只能是一个线程放到一个核。对于多线程程序可能有用。

目前汉澳操作系统对多核多cpu处理是游刃有余的,只是为了适应矩阵电脑需要,需要进行适当改进,以满足并发计算需要,而器普编译也要增加并发代码编译功能,再加上并发池,并发服务器,壳代码执行,虚拟api,母版api服务器,载入矩阵操作系统等,就能让汉澳电脑变成矩阵电脑,满足复杂多样的并发计算。

记得10年前我曾经写了皮鞋上的汉澳电脑,如今就是人们说的穿戴设备,虽然还没有一个汉澳穿戴设备,但是以后不是不可能成为现实。

矩阵电脑开发成功让人工智能发展成为可能,如果一台矩阵电脑的计算能力相当于100台普通电脑,目前普通企事业单位个人要安装100台电脑仍然不太可能,不仅仅费用高、耗电降温难度大,就是存放空间也难以承受,即使用机柜存放,也有几十个机柜,况且野外也不可能存放这么多电脑。而且机器人要发展起来,一百台电脑的机器人该多大。只有普通电脑一样大的矩阵电脑放进机器人体内,机器人可以才做成跟人一样大小,或者更小。机器人的形状仍然需要做成人模样,如果做成汽车那样,翻到了很难再爬起来,而且汽车上楼梯也不可能。关于人工智能应用可以看笔者写的《人工智能系统》,该系统的实现也是以矩阵电脑开发成功为基础的。为了开发矩阵电脑,我决定升级汉澳sinox到64位,停止开发32位sinox,从而在内存寻址上对接矩阵电脑。

开发汉澳sinox64位,对接汉澳矩阵电脑

即使完全设计出了汉澳矩阵电脑线路图,要在上面运行操作系统必须有矩阵操作系统。汉澳sinox64位操作系统并不是矩阵操作系统,只是更为接近。

汉澳矩阵电脑如果插有16个矩阵单元,矩阵单元上有CPU和内存,内存至少2G,16片就是32G内存,因此母版上的矩阵操作系统要寻址16个矩阵单元,就必须能寻址至少32G内存。而目前汉澳2013只是32位操作系统,只能寻址4G以内的内存。如果要访问超过4G内存需要用类似段选择子这样的硬件来辅助完成,而64位操作系统可以寻址170亿G以上的内存,建立在64位操作系统上的矩阵操作系统寻址将很方便,即使矩阵计算机扩大到256个矩阵单元也轻松寻址,简化了设计。

汉澳矩阵电脑硬件设计

首先矩阵电脑的cpu上将是64位的,从而支持无限寻址能力。矩阵单元由一个cpu和2G以上内存组成,并配上电路和内存总线跟母板连接。矩阵单元就是一个只有内存和cpu的电脑,没有外接硬件,启动的时候就没有硬件检测,硬件请求通过运行在母版上的操作系统实现。他的启动可以由母版操作系统逐个载入和运行,而不是有自己的硬盘,自行载入运行。当然也可以这样做,各有优缺点。

cpu应该是运算速度较快,低功耗的,不需要风扇的。目前pc机上的cpu都贴有cpu风扇,否则很快就烧烂。可见这种cpu不太适合运行在矩阵电脑,除非矩阵电脑作为服务器有稳定环境可以运行风扇,而机器人上面运行矩阵电脑是不可能安装有风扇的。矩阵电脑也可以分成多种类型,不过在高速处理矩阵电脑上,风扇仍然不可以避免的。我们这里假设矩阵电脑是可以在野外运行的,而不都是在空调房里。我们如果只能选择一种cpu,我觉得arm芯片64位是比较适合的。国内已经有厂家设计生产arm芯片,10年内应该很成熟,目前国内arm芯片主要用在手机。

可以这样理解,手机主板很小,内存加上cpu这样的矩阵子板也很小,可以相当于具有散热功能的海盗船内存条,我们可以把16快矩阵子板围绕一个中心像车轴那样向外辐射,中心运行一个风扇散热就可以了,这样的电脑跟原来的电脑还是差不多,把显卡也集成到母版,主板上加上16块内存插槽。这样矩阵电脑做成跟原来电脑大小差不多。母版上cpu也不需要运算速度很快,因为不需要独立的电脑运算。如果cpu也用8核x64cpu,16乘以8等于128台单核奔腾cpu。这样的机器计算能力非常强大的,不过如果矩阵电脑使用低功耗的arm cpu,计算能力可能没那么强大,但是足够很多场合使用。要想计算速度更快只需要不停的扩展插槽。这个有点像目前最先进的文件系统zfs,可以不停插入硬盘扩大存储空间。

矩阵电脑最大的优点是并行计算。假如单核计算机计算用16秒,16矩阵单元计算通过并行计算可能只要1秒,虽然可能还有其他额外开销,但可以忽略不计。矩阵单元有点像以前的协处理器,加速主cpu计算。对于需要反应很快,大计算量的场合,16倍的计算处理可以获得实时反应。16秒和1秒的响应差距非常大。并行计算需要操作系统和编译器的支持,因此就有矩阵操作系统和矩阵编程。这部分内容前面讲过了。

矩阵电脑不久前提出,但是由于信息技术发展很快,可能10年内就会有矩阵电脑面世。矩阵电脑技术目前已经公布,如果国内外IT巨头及时投入研发,可能5年后就有矩阵电脑面世。不过也许他们并不真的认为会有矩阵电脑,他们以为只是在科幻片中,可能会错失最佳时机。如果这样这也是汉澳矩阵电脑推出最好的机会,一举拥有矩阵电脑的巨大市场。汉澳矩阵电脑应该在10年后推出,毕竟研发力量比较弱小。

矩阵电脑除了应用在高速计算,最终最实用的市场是人工智能系统,机器人等。人工智能主导下的工厂,可能不会有一个工人,只有系统维护人员。大量的人工智能工厂出现,人类从繁重劳动中解脱。矩阵电脑应用范围很广,智能汽车,智能老师等。这些看起来很科幻,也许几十年内就会实现。

矩阵电脑硬件,矩阵操作系统和矩阵编程,构成了矩阵电脑的核心内容。

汉澳matrix矩阵电脑,并不是很遥远的

汉澳matrix矩阵电脑相关推荐

  1. 汉高澳大利亚matrix矩阵计算器

    我在梦中的超级计算机超级计算机锯,使用大量阵列的cpu记忆,完成并行计算.一个手机制造商由于使用普通机械提供的服务,往往造成停机.是铁道部列车网络售票的事实. 无法使用云服务.上万台计算机并行处理,因 ...

  2. 汉澳sinox2019操作系统AI企业版发布

    国领先的操作系统和计算机语言重装上阵! 打造办公系统,图形设计,服务器,新编程语言,人工智能AI深度学习,立即可用 汉澳sinox2019操作系统AI企业版发布 始于2003年的汉澳-器浦发展计划旨在 ...

  3. windows7停售,win8被禁,安装汉澳sinox正其时,sinox支持大部分windows软件

    腾讯科技: 如微软此前宣布的,10月31日起,Windows 7家庭普通版.家庭高级版以及旗舰版的盒装版将不再销售.而且微软也不再向OEM厂商发放这三个版本的授权. windows7停售,由于中国已经 ...

  4. 汉澳sinox2016企业版暨器普sepl2.0发布

    汉澳sinox2016x64操作系统企业版发布 始于2003年的汉澳-器浦发展计划旨在开发中国人自己的计算机操作系统和编程语言到今天成功了!历时13年的开发,让我们看到了一切都成为可能. 汉澳sino ...

  5. 开发汉澳即时通信网,2006年上线,QQ死期到了

    为汉澳sinox用户打造即时通信网让大家用上即时通信软件 近期腾讯关闭了linuxQQ登录,汉澳 sinox也登陆不上.非windows用户再也不能用上即时通信软件了! 这是多么可悲的事,可是我们必须 ...

  6. 很多人不愿意承认汉澳sinox已经超过windows

    汉澳sinox采用的zfs和jail打造高可靠性存储服务器和矩阵计算机,这不是windows和linux能相提并论的. 不过很多人马上出来出来反驳说,windows驱动程序多(就是支持硬件多),软件多 ...

  7. 理解CSS3 transform中的Matrix(矩阵)

    一.哥,我被你吓住了 打架的时候会被块头大的吓住,学习的时候会被奇怪名字吓住(如"拉普拉斯不等式").这与情感化设计本质一致:界面设计好会让人觉得这个软件好用! 所以,当看到上面& ...

  8. 【整理】史上最强的娱乐大餐———九奔、汉澳、器普。。。。。。

    按: 本文内容来源于:http://shouji88.com/msg_list.cgi?bbs_id=000001                               http://shouj ...

  9. 【CSS3】 理解CSS3 transform中的Matrix(矩阵)

    理解CSS3 transform中的Matrix(矩阵) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu ...

最新文章

  1. Python超过R,成为数据科学和机器学习的首选语言!
  2. Python正则表达式初识(十)附正则表达式总结
  3. javascript动态添加form表单元素
  4. 阿里七层流量入口 Tengine硬件加速探索之路
  5. ROS服务通信机制原理及示例代码
  6. 如何在android模拟器中安装apk软件
  7. mysql search yum_CentOS 7 yum安装配置mysql
  8. 如何看Dlink DWA-125 无线网卡使用的芯片
  9. 接口(interface、implement)
  10. Unity 代码帧动画
  11. C#VS2019中ReportViewer控件和报表设计器 RDLC使用方法总结
  12. 史上超全免费photoshop实训零基础视频教程,新手学习PS软件教程资源下载
  13. 英特尔oneAPI—开拓
  14. 《灵魂的微笑》读后感
  15. 没有50W彩礼 女友被强行拽走。Python分析全国彩礼情况,心凉了。
  16. STM32F407--芯片解读
  17. axios请求拦截器 和 响应拦截器
  18. html获取页面点击事件吗,jquery 获取页面点击事件 $(body).click()
  19. 钉钉自动打卡并微信通知打卡成功
  20. selenium对于白月黑羽selenium的实战技巧补充

热门文章

  1. RabbitMQ介绍和安装以及当下发展现状
  2. Docker基础(上)
  3. 代码改变生活-文件重命名
  4. 一个简单的Java Applet应用程序
  5. 编码算法(URL编码和Base64编码)
  6. 模式识别的一些基本概念
  7. AtCoder 248_CDE
  8. c#之toolstrip_toolstripcontainer_TopToolStripPanel
  9. win10企业版LTSC-1809无法访问共享文件
  10. getchar()和gets()