志愿计算

出自中国分布式计算总站

跳转到: 导航, 搜索

目录

什么是“志愿计算”?

志愿计算是指对人们(志愿者)为项目提供计算资源以进行分布式计算和\或贮存的协调和安排。

  • 志愿者是指拥有能够联通国际互联网的计算机的人。学校和商业等机构同样可以志愿提供计算机的计算资源。
  • 项目是特指科学地对理论性(基础性)问题的研究。但是也有一些是例外的,例如,GIMPSdistributed.net(两个大型的项目)就不是理论性的。

由于以下几个观点,从表面上看起来项目和志愿者之间的联系没有任何价值。

  • 志愿者是有效匿名的。即使必须注册和提供E-mail地址或其他的信息,但是仍然没有任何办法使项目将现实的志愿者联系在一起。
  • 由于是匿名制的,志愿者无须对项目负责。假使志愿者在某些方面行为不端(例如特意致使计算的结果出错),项目都不可以起诉或者惩戒志愿者本人。
  • 志愿者必须在以下几个方面信赖项目:
  1. 必须信赖项目提供的应用程序不会损害志愿者的计算机或者侵犯他们的秘密。
  2. 须信任项目提供的应用程序是被忠实地使用于研究工作,信任项目对所产生的知识产权的使用方式。
  3. 须相信项目是遵照了正确的安全的准则进行,所以不可能成为黑客们恶意行为的工具。

最早的志愿计算项目是GIMPS(Great Internet Mersenne Prime Search 大英特网梅森素数搜索),始于1995年。其它的早期项目包括distributed.netSETI@home,以及Folding@home。今天,已经发展到最少50个活跃项目了。

为什么志愿计算是重要的

几个方面可以说明其重要性:

  • 由于世界上有数量极其庞大的个人电脑,比起其他形式,志愿计算能够(而且确实)为科学研究提供了更强大的运算能力。这种运算能力使通过其他方式无法完成的科学研究得以进行。这种优势会随着时间的增加而增加。因为根据经济学阐述的规律,消费型电子产品(个人电脑和游戏控制台)的增加速度是远远大于专业机器的。而且将更容易使用。
  • 志愿计算能力是买不来的,但必须要挤出来。一个研究项目往往被资金所限制,但是通过强烈的公开呼吁(例如SETI@home)可以凝聚强大的运算力量。相比而言,传统的超级计算机是极端昂贵的,而且只有负担得起费用才能利用它们(例如核武器设计和间谍活动)。
  • 志愿计算倡导科学领域的公共利益,提供讨论决定科学研究方向的公开场所。



怎样才叫“网格计算”?

这要看你如何理解“网格计算”了。“网格计算”一般是指在共享的运算资源之内和之间的组织。它具有以下的性质:

  • 各个组织都可以担当资源的制造者和使用者(假设是在一个电力网格,一家电力公司可以依照需求的变动从另一家公司那里买卖电能)。
  • 组织间是互相负责的。如果一方行为不端,其他的组织可以控告它,并拒绝与之同享资源。

这是不同于“志愿计算”的。“台式电脑网格”计算——在组织内使用的是台式个人电脑——表面上与“志愿计算”相似的。但由于责任和非匿名制的原因,它们之间是有深刻差别的。

如果你定义的“网格计算”包含了所有的分布式计算(实际上这是含糊的——因为已经有完好的定义条件了),那么“志愿计算”就是网格计算的其中一个类型。

想了解更多关于网格计算的信息,请浏览欧洲粒子物理研究所(CERN)网格咖啡馆.

志愿计算和“P2P计算”(peer-to-peer computing)是一样的吗?

不。“P2P计算”是描述系统基于Napster,Gnutella和Freenet等程序在各点(例如个人电脑)之间直接进行文档和数据的交换,而不经过“中心服务器”。这与志愿计算有几点差别:

  • 志愿计算是使用中心服务器的。这与点对点(P2P)通讯有典型的差异。
  • 点对点计算对参与者是有利益的(例如共享文件),而且点对点计算没有关于“项目”和“赠予资源”的概念。
  • 点对点计算实际上只是包含了存储和检索,并无实质的“计算”①。

注①:有一个例外,GPU(Global Processing Unit 环球处理器)是一个允许使用者共享 CPU 资源的 Gnutella 客户端。

相关链接

  1. 本文翻译自 BOINC 官方网站上的志愿计算定义