尽管我们发展分布式计算具有得天独厚的优势,而且我国对分布式计算的研究起步并不晚,但发展比较缓慢,这同原来对它的认识不深有很大关系。
BT程序在国内大行其道
我国发展分布式计算具有得天独厚的条件,一是网民人数众多,二是计算机的负荷普遍偏低,三是网络的状况随着宽带的普及有了较大改善。
由于宣传不够,这些优势并未转化成推动分布式计算发展的力量。网民们普遍对参与纯粹的分布式计算项目缺乏热情,这可以从SETI@home等几个著名的项目中国志愿者的人数和完成的工作量上看出。我国完成的工作量只及日本的十分之一,而人数甚至不如一些北欧小国。
更令人遗憾的是,我国一方面在许多重要的研究领域需要大规模的计算能力,另一方面却甚少推出相关的分布式计算项目来挖掘藏之于民的无穷的计算资源,总是习惯性地去求助于巨型机或超级计算机。
与纯粹的分布式计算相对冷清的局面相反,网络分布式计算程序如BT之类在我国却广受欢迎,几乎到了无人不知无人不用的地步。尽管BT并非我们的原创,但我们对它的推广和改造却很成功,以致现在大家使用的都是BT的改进版或“变种”。
不过,由于担忧网络分布式计算被乱用和滥用,危及国家安全和社会稳定,相关部门对它持谨慎支持的态度。
与此相反,网格技术却受到相关部门的大力支持,一方面是因为网格将成为生物工程、气候模拟、能源探索、航空航天、数字地球等领域的重要工具,另一方面是因为网格在安全方面更令人放心。而从加强全球竞争力高度上看,也不能不重视对网格的研究。不过,尽管我国在网格的基础研究方面并不落后,但在网格软硬件产品的设计制造上却无法同在这一领域领先的国家比肩而立,还需要迎头赶上。
国内开发者谈分布式计算
以前国内分布式计算的研究和开发主要集中于大专院校和科研院所。随着一些分布式计算的应用在网络大热,许多公司和个人也纷纷投身其中。作为一名资深程序设计师,陈军对分布式计算一直很关注,他领导的火鸟工作室现在正在开发一款分布式计算软件。记者通过MSN采访了他。
记者:请谈谈你从事分布式计算程序开发的情况。
陈军:我知道分布式计算比较早,但真正投入分布式计算程序的开发则是受BT的激励,我简直是以崇拜的心情来看待这款将分布式计算概念真正推向大众并受到大众热烈推崇的软件,并于第一时间下载了它的源码进行分析研究,从此走上了分布式网络程序设计之路。
记者:能介绍一下你们现在正在开发的项目吗?
陈军:我们现在正在开发的是一款视频共享软件,原理类似于BT,也从Coolstreaming受到过启发。它既是视频文件交换的中介,也是视频在线欣赏的平台。特别是它的视频播放功能,充分体现了分布式计算的优势,它使每个接收端同时又是一个为其他接收端提供视频服务的小型服务器。
由于调度算法和数据交换算法经过充分优化,加之采用了特别设计的流媒体服务和播放程序,因此即使在接收端不多的情况下,视频的播放也非常流畅。为了避免出现BT那种因无种子而无法下载的情况,我们采取了设定若干固定服务器的方式,任何接收端上传的新视频,都会在固定服务器上生成备份,这样可以保证接收端即使在无其他接受端提供视频源的情况下,也能直接从固定服务器上“启动”视频服务。
记者:你们使用的主要开发工具有哪些?
陈军:我们主要使用Visual C++作为开发工具,并使用了一些开源代码。几个核心的分布式网络组件都是我们自主开发的。我们参加了多个相关的讨论组,一些朋友在算法和程序设计技巧上提供了帮助。
记者:对打算进入分布式计算开发领域的朋友你有什么建议?
陈军:分布式计算对许多程序员是一个全新的领域,这个很有发展前景的技术值得大家关注。要成为分布式计算程序的开发者,门槛并不高。除了掌握必要的理论外,更重要的是编程实践,特别是对一些著名的开源项目进行深入研究无疑是条捷径。另外,像IBM等重量级软件商都推出了专门的分布式计算开发平台或支持工具,可适当选用,这样能大大提高开发效率。