五千年(敝帚自珍)

主题:【原创】说一说我对透明计算的疑惑 -- 鸿乾

共:💬119 🌺320 🌵2
分页树展主题 · 全看首页 上页
/ 8
下页 末页
      • 家园 除了第4点受时代技术条件限制未实现外,你说的这些

        Novell的NetWare早在1983年就已经实现了。咱读大学那年头,只要是个有点规模的机房,里面八成都是NetWare的无盘工作站。

        Wiki百科:Novell NetWare

      • 家园 这个笑话实在是太大了

        不知道组织怎么收场。估计只能硬撑然后沉默是金了。懂点网络,PXE,虚拟机就明白。评委是何方高明?

      • 家园 你说的这些很像云计算和NC(网络计算机)

        我对这方面不熟,但感觉你说的像是云计算或NC(网络计算机)。

        具体请参看百度百科或Wikipedia。

        云计算:

        http://baike.baidu.com/view/1316082.htm

        http://en.wikipedia.org/wiki/Cloud_computing

        NC:

        http://zh.wikipedia.org/wiki/%E7%B6%B2%E8%B7%AF%E9%9B%BB%E8%85%A6

        http://en.wikipedia.org/wiki/Network_Computer

        云计算是当下时髦的东西,看起来生命力旺盛。

        NC已死。

        另, 张教授明确说MetaOS不是云计算。

        • 家园 云计算是应用层次的集中计算,而这个是系统层次

          比如说我在家里用云计算,电脑上还是要装一个一般意义上的操作系统,启动操作系统后开启某个应用程序后才连接到云端进行云计算。

          至于网络计算机,之前了解不多,看了一下兄弟给的链接,觉得有些类似,但仍有不同,至少有一点差别很大:各家的网络电脑平台,硬件是专用的,不能实现一个账号(数据)跨越各硬件平台(比如手机和平板)

      • 家园 这么折腾 想解决什么巨大的问题?

        现在手机存储上到64G都毫无压力了

        • 家园 很简单,你有一台486,但想要使用3D Max

          当然,这只是一个比喻,486差不多已经是古董了。但谁买的电脑都有过时的时候,或者你的电脑还不算过时,但偶尔想用一下超出你电脑能力的应用,这时候连上云端,让超算帮你运行,结果传回你的显示屏上;

          或者你喜欢微软新出的windows10,但电脑硬件不支持,又不想换电脑,就连上云端,让超算帮你运行windows10,结果传回你的显示屏上;

          或者你很喜欢某个安卓系统上的游戏,但没有PC版,于是你用电脑连上云端,让超算帮你运行安卓,结果传回你的显示屏上,同时你的鼠标还能模拟安卓的触摸操作……

    • 家园 最新进展,张教授回应

      http://m.guancha.cn/Science/2015_01_26_307505

      • 家园 这个IDEA是好的,但是没有具体实现的能力就获奖就非常水

        一个理想的MetaOS能跟踪和记录来自于不同用户的访问、解决从端系统到服务器之间的各点资源的监控和管理,例如沿途的带宽、缓存等。“以前的计算机是由操作系统来调度各种软件的,但如何以碎片方式调动不同的操作系统,我没听说别人做过。”张尧学说。
        “很多人说我们提出的计算与存储分离早就有了,我也做了十几年了,而且我们有专利。”张尧学说,“而且我们的技术可以让用户根据需要调用资源,指令是碎片化进入终端的,不是操作系统和应用程序全部,这样可以极大简化终端,带宽并不是主要问题”
        按他的说法,终端运行一个小程序,按需要下载OS和应用程序的“片段”而不是全部,在终端上运行得到结果,这样可以多层管控整个运算过程,而且终端不需要很强大。概念不错,对IT体系发展和国家安全也有意义,但是问题其实很大:

        1. MetaOS怎么知道应该下载OS和应用程序里的哪个片段?OS和应用程序这么配合不仅仅告诉你要达到某个功能需要下载哪个片段,而且按照你需要的方式把自己分成一片一片的等你下载?

        2. 现在的软件,每个功能都会牵涉到很多其他辅助功能的调用(dependencies)。打比方说,我要刷牙,得从生产牙刷牙膏玻璃杯建设水厂开始,不是说只下载个怎么刷牙的程序就成了——没有牙刷,这个程序怎么运行呢?这么大量的调用,这个“片段”得是多大?带宽真的不是问题?移动设备的计算能力真的足够运行?用户不会等到花儿也谢了?

        这两个最基本的问题不解决,所谓的透明计算就是镜中花水中月。如果其实现过程并不是按照他的idea,而是按照目前技术能够达到的方式进行,比如把OS和应用程序整个调到终端上的一个虚拟机上运行(按我为欧巴献计忙里面爆料的说法),那么就是学术欺骗了,而且业界也早就有具体实现,根本用不着他多此一举了。

        简而言之吧,借用知乎上某人的评论:不能工业化,只提理论就是耍流氓,就像说中国现在的铁路建设全靠孙文的十万英里规划一样。如果再挂羊头卖狗肉,就更加不堪。再凭此得到一个一直是宁缺勿滥的顶尖奖项,我就只能呵呵了

        • 家园 我认为

          你所说的那些针对单一任务和不玩机的“老”人可以,比如只看视频播放和上网,以及只用word一类的,或者不使用大数据流的例如3d游戏实时计算等。比如我父母可以直接把很多关于directx的都删减掉,他们拿着iphone也就打电话,连短信都不发,对于他们ios有很多可以精简掉。评奖的人大部分是这种人,所以觉得ok。但是对于大部分较为“年轻点”或者应用种类多的真是灾难。

          事实上,他能学java一样,把计算任务数据编译成较为高效节俭的二进制流,传输至后台,计算完成,同样传输回前台解码显示交互,那么真能找到比mpeg编码或其他现有编码压缩等更加高效的节省数据传输带宽的算法,我觉得得奖也可以。但是具体技术没看到有,只有概念。

          • 家园 任务单一,但调用并不单一啊。就说上网吧

            首先声明一下,我不是程序员,只是N年前学过简单编程,操作系统原理也N久没有复习了。这儿有说的不对的地方,请大家指正。

            由于MetaOS是基于裸机,本身并不是一个操作系统,而只是“调用OS和应用程序的片段”来在终端上执行,来达成应用。所以,我们得看看一个“上网”的程序怎么才能在一个裸机上运行。你用来类比的java是不恰当的,因为java程序是运行在jvm和OS之上的,java的二进制程序可比MetaOS省了好多好多事了

            上网的常见应用就是浏览网页。我们来分析一下,要浏览网页得涉及多少“片段”。

            >>>>>>

            首先,MetaOS得先把终端所有硬件扫描一遍,知道都是些什么设备,才能从云端调用相应OS的相应驱动程序来使用硬件

            其次,浏览器得有输入代码模块,要不怎么输入网页地址啊。这就得调用PS/2或者USB协议,知道用户都在输入什么

            然后,要了解基本的TCPIP网络协议,进而了解HTTP协议,要是网页是加密(https)的,还得涉及加密解密库函数;这个时候,浏览器才有能力依据用户输入的网页地址,从服务器处拿到要显示的具体内容

            这还是万里长征刚起步,更困难的还在后面。

            拿到了网页,浏览器还得了解HTML协议,知道各个版本的HTML的语法含义;通常,网页上还有大量javascript/java代码,MetaOS还得知道怎么编译解释它们;然后,调用字库吧,不同字体使用的字库是不同的;现代的网页大多数都有图像视频吧,还得了解常见PNG, GIF,JPG图形格式,各种视频格式(avi, mpg);网页上有个Adobe Flash或者其他插件也很常见啊,还得要支持,否则你都不知道网页上都有什么啊

            这时MetaOS知道网页都要显示什么了,现在就得调用函数知道该怎么渲染这些文字,图形,视频和Flash等内容,简单说就是得知道在显示器的什么位置显示什么

            我上面说的每句话,基本上都对应着一个大函数库,同时,还得调用操作系统的进程管理,内存分配,文件管理等等模块协调这些函数的运行。所有这些函数库里面的函数相互调用,要想把涉及到的代码“片段”一个不落(落一个就缺一项功能),又一个不多(多一个就不必须地占用一份非常宝贵的广域网带宽)地从操作系统和应用程序里抽取出来,我完全不知道MetaOS该怎么才能做到。

            • 家园 老兄触到了操作系统的内存管理和内外存页面置换效率这个问题

              受到你的启发,个人一点浅见,供参考。

              老兄说的这些实际触到了一个要命的东西 —-- 操作系统的内存管理和内外存页面置换效率。

              不论哪个操作系统,内存管理都是非常重要的一部分。

              不论哪种硬件平台,内存一定不会是无限多甚至“足够多”(土豪机另说)。 从操作系统的角度看,物理内存不够用是必须作为100%会发生的事情进行处理的,具体细节讲操作系统的书里都有(较大的虚拟内存空间和较小的物理内存),大体就是进行内存页面置换 — 根据一定的算法,将最近不常用的内存页面置换到外存中(通常都是在本地硬盘上的一个比较大的页面置换文件,专供操作系统使用)以腾出内存给需要新调入的软件模块使用, 当操作系统发现需要访问的某个(虚拟内存)页面已经被置换到外存时,该页面需要被重新从外存调入到物理内存中然后再使用。

              由此,决定了内外存之间的页面置换速度,是一个比较重要的指标。 通常低档PC用的硬盘转速都不太高(比如5400rpm),而自己装机通常都选择转速比较高的硬盘(比如7200rpm或更高),原因就在这儿。

              回到MetaOS, 客户机器启动时,不从本地硬盘load操作系统OS, 这时它的外存应该指向远端(张说透明计算不是云计算,我就避免说云端了)。 这个过程不论耗时多长,毕竟是一次性的(非经常发生),还是OK的。

              下面,在客户机器正常运行时,一旦发生需要进行内存页面置换的情况,有下面两种情况:

              1. 虚拟内存页面置换文件在本地硬盘

              如果MetaOS不插入一个虚拟机(VM)层在OS之下,也就是说OS直接运行在BIOS层之上(如通常没有MetaOS的情况,也就是说MetaOS短暂重定向部分BIOS功能并在OS load之后归还),运行效率应该没有影响或者说没有大的影响。

              但是,问题来了:

              (1) BIOS重定向已经归还,这时如果需要load新的应用程序,怎么办? MetaOS是否有一定的Intelligence 可以区分指向本地硬盘的内存页面置换请求 和 指向远端的应用程序请求。 如有,算法是什么样的?有论文吗? 个人倾向认为这点如果不深入OS内部是很难搞定的。 希望我是错的。

              (2) 如果仅仅OS从远端load, 而其它应用程序从本地硬盘load, 那么宣称的防毒防木马的功能则有问题。 整体讲这种情况跟从固化的OS插件load相比有什么优势?

              2. 虚拟内存页面置换文件在远端(通过网络连接)

              如果从头至尾不需要访问本地硬盘,某种程度将本地客户机器当做无盘工作站。

              那么,所有的内存外存页面置换,都要通过网络来进行,而且是频繁地发生的。 从操作系统的角度,从运行效率/速度来说,要了亲命啦。

              Windows和Unix/Linux等OS都是要进行内外存页面置换的,不知张的团队是怎么处理这个问题的。 (假定所有客户机器都拥有足够多的内存,是明显不合理的)

              • 家园 是的,完全同意

                按照张的说法,MetaOS可以全程控制OS和应用,所以应该是常驻的,否则不可能做到。所以,只能是你说的第2种情况。

                如果是台式机的话,这点倒也有解,终端放一个小硬盘作为缓存即可,128GB都足够了,即使是SSD的也不值钱。问题在于,张提到了用手机来执行专业软件分析远程医疗数据,这个就真要了卿命了。一个手机,要执行专业软件,还得分析存储于远程的医疗数据(比如CT图像吧,一个病人通常是几十到几百MB)。了解图像处理的都知道,一幅几MB的图像展开处理的时候就要占用几十几百MB,医疗图像这么大的数据量,手机能够“分析”?想想都替老张头大

分页树展主题 · 全看首页 上页
/ 8
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河