|
楼主 |
发表于 2009-1-24 02:47:15
|
显示全部楼层
5.相关工作
针对志愿者计算的若干框架已经被开发出来,例子包括 Bayanihan [7], Xtremweb [3] and Entropia [4]。这些框架处理了我们所讨论的一些问题,例如,Bayanihan 使用了一个称为污点检查的结果检验技术,类似 BOINC 的自适应的冗余计算。然而,这些系统都还未在如 World Community Grid 或其他的大型BOINC项目那般规模的项目上进行过部署,也没有在大范围上进行应用。
Folding@home [5]是一个大型志愿者计算项目(~200000节点),它开发了自己的基础架构。它支持多种资源,包括GPUs和 Sony Playstation 3 游戏机。它的详细架构并未公开,但它使用了两个级别的调度器,其中客户端先连接到“主调度器”,然后由主调度器来指挥他们(可能根据他们的性质)到若干任务队列中的某一个,这些(任务队列)对应于不同的(计算)程序或任务类型。
而 Condor's ClassAds 机制的比较也很有趣[9]。在该系统中,任务队列节点提供“需求帮助” ads 和工作节点提供“提供帮助” ads。ads 以一种可扩展的符号书写,其中包括了脚本语言能力,并可以包含有主机资源以及负荷条件,组织身份等等信息。一个“中介”服务器负责匹配ads和指挥工作节点联系任务队列节点。
ClassAds 和本文所述的机制之间的差异源于 BOINC 与 Condor 的基本假设和目标的不同:
Condor 假定工作节点是可信的并有可以忽略的错误率。没有必要进行结果验证,并且服务器没有必要维护工作结点的错误率或其他信息。BOINC 被设计为可处理规模上比起 Condor 大2到3个数量级的处理量。Condor 假定工作节点总是连接的并有一个迁移任务的机制。因此工作(节点)不需要任务队列并且调度策略不涉及正在进行中的作业。另一方面,在 BOINC 上,客户端可以缓存一个任务队列——这是因为(客户端)可加入到多个项目,和不定时性的网络连接——并且调度机制必须反映出当前工作量。
6.结论
我们已经描述了匹配不同任务和不同主机所遇到的困难,并说明了 BOINC 如何解决这个问题。
这些机制正在运作于 World Community Grid 和其他 BOINC项目上,他们似乎工作良好。然而我们目前无法量化它们工作的究竟有多好。想要在大型的志愿者计算项目中进行有控对照试验是非常困难的。因为有许多因素是无法控制的,而且拙劣的机制会浪费大量资源,甚至造成志愿者流失。
为了弥补这种情况,我们目前正在开发一个模拟器,使我们能够研究服务器策略。模拟器对主机和志愿者群体使用轨迹驱动(注:所谓轨迹驱动是指利用实际测量事件的时间点来驱动计算机仿真系统)或统计模型,包括了诸如主机流失、可用性和可靠性。服务器部分使用现行 BOINC 的代码,使用模拟时间而不是真实时间进行改写以达到最大的保真度。
在这里描述到的某些机制正处于早期开发阶段。例如在同时具有支持多CPU和协处理器版本的程序的情况下,将发送在独立上运行最快的那个程序版本。(注:比如协处理器版本的计算程序比CPU版本的计算程序要快,那么将会发送前者,不发送后者)。。这并不一定是最佳——可能更好的是发送一个CPU任务和一个GPU任务(因为他们可以同时执行),而不是两个GPU任务。
7. 参考文献
[1] Anderson, D.P., E. Korpela, and R. Walton. High-Performance Task Distribution for Volunteer Computing. First IEEE International Conference on e-Science and Grid Technologies. 5-8 December 2005, Melbourne
[2] Anderson, D.P. “BOINC: A System for Public-Resource Computing and Storage”. 5th IEEE/ACM International Workshop on Grid Computing, pp. 365-372, Nov. 8 2004, Pittsburgh, PA.
[3] F. Cappello, S. Djilali, G. Fedak, T. Herault, F. Magniette, V. Neri and O. Lodygensky. Computing on Large Scale Distributed Systems: XtremWeb Architecture, Programming Models, Security, Tests and Convergence with Grid. FGCS Future Generation Computer Science, 2004.
[4] A. Chien, B. Calder, S. Elbert, and K. Bhatia. Entropia: architecture and performance of an enterprise desktop grid system. J. Parallel Distrib. Comput. 63(2003) 597-610.
[5] S.M. Larson, C.D. Snow, M. Shirts and V.S. Pande. “Folding@Home and Genome@Home: Using distributed computing to tackle previously intractible problems in computational biology”. Computational Genomics, Horizon Press, 2002.
[6] Taufer, M., D. Anderson, P. Cicotti, C.L. Brooks III. “Homogeneous Redundancy: a Technique to Ensure Integrity of Molecular Simulation Results Using Public Computing”. Heterogeneous Computing Workshop, International Parallel and Distributed Processing Symposium 2005, Denver, CO, April 4-8, 2005.
[7] Sarmenta, L.F.G. and S. Hirano. “Bayanihan: Building and Studying Web-Based Volunteer Computing Systems Using Java”. Future Generation Computer Systems, 15(5/6), 1999.
[8] Schatz, M.C., Trapnell, C., Delcher, A.L., Varshney, A. (2007). High-throughput sequence alignment using Graphics Processing Units. BMC Bioinformatics 8:474.
[9] Raman, R, M. Livny, and M. Solomon, Matchmaking: Distributed Resource Management for High Throughput Computing, IEEE HPDC'98, pp. 140-147, July 1998.
[ 本帖最后由 BiscuiT 于 2009-1-28 20:21 编辑 ] |
评分
-
查看全部评分
|