XtremLab
XtremLab 是一个使用BOINC平台的项目。与其他使用分布式计算的项目相反,这个项目是研究分布式计算自身,研究分布式计算的实际性能,并且尝试整合多种分布式计算的技术来提升其他所有采用分布式计算技术的项目。
项目已于2007年10月11日停止,不再收集新的数据。在一年半时间内监测了32000个节点,收集和分析了超过17百万的结果。所有用户的信息仍被保留,项目将可能在未来恢复并使用新版本程序。
- 项目所有的跟踪数据已提供下载:包括用户与主机
简介
桌面网格(DG)系统使用众多志愿者桌面电脑的闲置计算能力来支持大规模计算与储存。在过去的的十数年中,桌面网格系统已经发展成为最大、最强的分布式计算系统,它以远远少于超级计算机的成本提供了海量的计算能力。参加桌面网格项目的志愿者电脑互有差异,提供的算力也不稳定,我们也没有关于这种不稳定性和差异性的详细信息。然而,这些信息对于此类系统的模拟和组建至关重要。本项目的短期目标是弄清楚桌面网格的总体情况,长期目标是创造一个网络与分布式计算的实验平台。为此,我们开发了基于BOINC平台的项目XtremLab,用以主动测量志愿者桌面电脑CPU与网络通讯能力。该项目总结出的结果与特性会在分布式计算、点对点计算以及错误控制等广泛的研究领域中发挥作用。我们的长期目标是创造一个网络与分布式计算的实验平台。我们相信,最终本项目的结果将有助于扩大桌面网格系统的使用范围,促进各个科学领域产生新的发现。
背景
自20世纪90年代末起,桌面网格系统,比如SETI@Home,已经发展成为世界上最大、最强的分布式计算系统,以定制超级计算机的成本的零头提供了充裕的计算能力。各个科学领域涌现的诸多应用——包括生物学计算、气候预测、粒子物理学、天文学——都使用了桌面网格系统提供的计算能力。桌面网格系统允许这些应用大规模运行,带来了许多原本不可能实现的重大科学发现。
维持桌面网格系统运行的计算资源由志愿者们的计算机提供,因为提供这些资源是志愿提供的的,我们必须确保桌面网格任务不会妨碍每一个计算机所有者的活动;桌面网格任务会在计算机忙碌时暂停或终止。这就造成了桌面网格的不稳定性,因为许多因素都可以导致桌面网格应用的任务无法完成。这些因素包括使用键盘和鼠标、使用其他应用、重启计算机、硬件错误。此外,桌面网格计算资源有差异性——不同的操作系统、CPU速度、网络带宽、内存与硬盘大小等等。这最终对整个系统的设计及其应用的运行而言是一项严峻的挑战。
目标
XtremLab的长期整体目标是创造一个网络与分布式计算的实验平台。这个实验平台将会允许空前规模的计算试验(即数千个节点或者更多)并且非常准确(就是在网络的“另一边”的节点)。
最近,XtremLab的短期目标是通过测量大量电脑的网络通讯与CPU的可用性以推算网络计算资源分布情况。当桌面网格系统由不稳定并且互有差异的计算机组成时,我们不知道这些计算机提供的资源到底有多么的不稳定,也不知道差异到底有多大。之前我们在网络上进行的计算资源研究并没有统计鼠标与键盘的活动、使用其他应用和重启计算机等因素。而且,之前这些研究只是粗略的汇总统计,比如计算资源计算错误的平均时间。我们需要要大量志愿者计算机的详细特点以推断出各种类型的应用是如何使用桌面网格系统的,因为许多桌面网格的应用需要通过模拟——即受控制的可重复实验——获得计算结果,这些特点就是模拟和组建桌面网格系统及其应用的先决条件。
举例来说,有一个应用直接测量BOINC志愿者计算机的CPU调度情况,这样服务器软件就能根据情况的不同对各个BOINC客户端发放适合的分布式工作包。我们计划模拟BOINC对CPU的调度情况并进行调查记录(trace-driven),找出改进办法,保证每一个新的CPU在广泛使用前都能接受我们的测试。
我们为BOINC桌面网格系统的计算密集型任务提供了适合测量方式,这些任务接受BOINC客户端的控制,根据用户的设置仅在计算机空闲的时候运行。这些任务会持续运行并定期记录任务的完成度,产生的统计结果随后被我们收集、统计并整理出每个志愿者计算机的CPU情况与每个任务完成时间。我们会尽力保护志愿者的隐私。我们简易的主动追踪法可以辨别用来完成计算密集型任务的计算机资源是哪些。与其他被动测量手段相比,我们的办法不易受操作系统特质(计算调度)、计算机负载和其他应用程序的影响,也不会记录鼠标与键盘的活动。
影响
XtremLab的研究结果对研究分布式计算与其他领域有诸多助益。首先,跟踪数据会使桌面网格系统的模拟和建立更加精确。举例来说,跟踪的结果可以直接驱动模拟试验或者创建可用计算机资源的宏观模型,进而可以被模拟器用于探索各种可能存在的情况。
其次,这些结果可以用来评估各种应用对计算机资源的使用情况。最近,能够有效利用桌面网格系统所提供的计算机资源的应用只有独立的松散耦合的应用;计算机资源的不稳定性和差异性使得运行互相关联的、有复杂任务的紧密耦合应用非常困难。有了XtremLab的跟踪信息,我们可以找出某些应用使用桌面网格资源的效率瓶颈,并建议对这些瓶颈展开新的研究。
此外,我们相信我们的研究对于其他计算机科学的分支领域——错误控制、点对点计算、网格计算等——有一些帮助。举例来说,错误控制研究方面有一个问题是计算机资源当机的频繁程度与原因,我们会收集计算机资源错误的数据并对外公开这些数据,这对错误控制研究很有帮助。
最后,我们相信XtremLab项目的研究结果能够提高桌面网格系统中各种应用的性能,拓展桌面网格的使用范围。近期,只有一个发布独立的计算密集型任务的应用能够高效的使用桌面网格系统。我们希望近期获得的数据能帮助我们建立一套广泛适用评估技术,例如用于评估那些紧密联系、紧密耦合的任务。
过去的工作
我们过去进行了一系列的相关研究工作。首先,我们在加利福尼亚州大学-圣克鲁斯分校(University of California at SanDiego)和巴黎第十一大学(University of Paris-Sud)测量几个桌面网格系统并赋予特性,获得了那些系统中数百台桌面电脑的共工作数据。通过汇总这些特性我们可以建立一个模型,用来表示桌面网格系统下各个应用是如何工作的,令桌面网格系统更有效的制定任务。其他人也可以使用我们收集数据的办法,我们建立了一个联网的桌面网格系统的公共资料库。这个资料库有一个缺点,就是没有为整个桌面网格系统做出显著贡献的家用台式电脑的数据。
XtremLab 小组
XtremLab的成员隶属于巴黎第十一大学的计算机科学实验室(Laboratoirede Recherche en Informatique,LRI)。特别的,Paul Malecot先生是一个对分布式计算、平行计算有浓厚兴趣的在校硕士研究生,是XtremLab的主要开发人员。Derrick Kondo 博士和Gilles Fedak博士是该项目的学术顾问。Derrick Kondo博士是法国国家信息与自动化研究所(Institut National de Recherche en Informatique et en Automatique,INRIA)的博士后,他对大规模分布式系统的模拟和建设很感兴趣。Gilles Fedak 博士是法国国家信息与自动化研究所的研究员,对分布式系统的设计与运行有兴趣。Franck Cappello教授是计算机中心和本项目的主管。
XtremLab 项目由法国国家信息与自动化研究所提供资金支持,该组织是法国进行计算机科学研究的非盈利组织。