当前位置:主页 > 生活观察 >全世界是台电脑(1-3) >

全世界是台电脑(1-3)

全世界是台電腦(1/3)

横跨在网际网路上的作业系统,让人亲炙全球数百万台个人电脑连结后的威力。

玛莉下班回家打开电脑检查电子邮件之前,那台个人电脑并非闲置的。它正在为某家生技公司工作,比对基因序列与蛋白质分子库里的资料。它的DSL连线也忙着下载无线电望远镜的资料以供稍后分析。硬碟里除了玛莉自己的档案外,还包括了数千笔其他档案的加密片段。偶尔,其中一个片段会被读取并传送出去;它是芬兰的某个人正在看的电影的片段。玛莉接着动一下滑鼠,电脑的这些动作随即嘎然而止。现在,她的电脑及网路连线全归她一个人独享了。

这样的资源分享并不只限于她的桌上型个人电脑。在她背包里的笔记型电脑虽然关掉了,但硬碟里仍装载了其他人档案的位元片段,这是分散式备份系统的一部份。玛莉的重要档案也以同样的方式进行备份,储存在世界各地数十台电脑的硬碟里。

稍后,玛莉利用按次计费系统,在她那台连上网际网路的数位电视上观看一部独立製片。电影各片段本来储存在数百台像她这样的人的电脑里,这时会飞快传来,然后组合成一部完整的电影。

玛莉的电脑为其他人做兼差工作,但并不是无偿奉献。当她的电脑在工作时,一角一分就会慢慢掉进她的虚拟银行帐户里。付款的人包括生技公司、电影系统与备份服务业者。与其购置昂贵的「伺服器机群」,这些公司选择租赁时间与空间,而且不只是玛莉的两台电脑,还有数百万台其他人的电脑。这是个双赢的局面。比如,电影服务公司在硬体上省钱,就能够提供冷门的电影给观众。玛莉赚到了一些钱、档案也能备份,还可以看到独立製片。只要有一个网际网路规模的作业系统(Internet-scale operating system, ISOS),提供必要的「胶水」将数百万台独立电脑的处理与储存能力连结起来,这些情况就能发生。

网际网路规模的应用程式

虽然玛莉的世界是虚构的,网际网路规模的作业系统也还未诞生,但程式设计师已开发出好几个网际网路规模(或称「点对点」)的应用程式,尝试要接通网际网路上大量尚未善加利用的电脑(参见下表)。这些应用程式能完成专用电脑难以完成、无法负担,或根本不可能达到的目标。另外,今天的系统也只是个开端:我们可以轻易构思出足以信赖数百年的典藏服务,并且开发出智慧型搜寻引擎,以供未来的语意网使用(可参见)。

全世界是台电脑(1/3)

遗憾的是,要设计出网际网路规模的应用程式仍是艰鉅的挑战。工程师必须从头设计每个新的应用程式,而且大部份精力将花在与应用程式本身关係不大的技术层面上,像是维护使用者资料库。如果网际网路规模的应用程式要成为主流,这些基础架构必须一次根本解决。

为了避免重複的苦工,我们可以从Unix或是微软视窗这类作业系统中汲取灵感。作业系统提供虚拟的运算环境,让程式在运作时就像是独佔这台电脑一般。这能让程式设计师免于记忆体与磁碟配置、通讯协定、大量行程的排程、资料输出入装置界面等扰人的细节。作业系统能大量简化新电脑程式的开发。同样的,网际网路规模的作业系统能简化新分散式应用程式的开发。

ISOS含有一层在每个「主机」电脑(像是玛莉的电脑)上跑的软体(ISOS代理人程式),以及一个能够在单个或多个伺服器丛上执行的中央协同系统。这个作业系统只提供核心功能,像是为每项任务做资源的分配与排程、处理主机电脑之间的沟通,并决定每台机器所应得的报酬。这类型的作业系统称为「微核心」(microkernel),它会将较高阶的功能交给其他程式,这些程式会利用到作业系统,但不是作业系统的一部份。例如,玛莉将档案片段储存在分散于网际网路的电脑上时,并不会直接用到ISOS,而是执行一项会使用到ISOS功能的备份应用程式。ISOS借用经济学的原则,有效率而公平地分配运算资源给不同的使用者,并对提供资源的所有者给予适当的报酬。

两大类型的应用程式可能从ISOS受益。第一类是分散式资料处理,像是物理模拟、无线电讯号分析、遗传分析、电脑绘图计算,以及金融模型。第二类是分散式线上服务,比如档案储存系统、资料库、网站代管、串流媒体(如线上影像),以及高阶网路搜寻引擎。(待续)

为您推荐