大型强子对撞机(Large Hadron Collider ,LHC)粒子加速器致力于革新我们对于宇宙的认识。世界范围的LHC 计算网格(LCG)项目为整个使用LHC 的高能物理社区提供了数据存储与分析的基础设施。
启动于2003 的LCG,目的是将分布在全世界数以百计的数据中心的成千上万的计算机整合起来,形成一个全球化的计算资源,对LHC 所收集的海量数据进行存储和分析。据估计LHC 每年将产生15 petabytes(1500 万gigabytes) 的数据。这等于一年要填满170 万张双层DVD 盘片!全世界数以千计的科学家需要访问和分析这些数据,所以 CERN 与 33 个不同国家的机构展开合作来运营 LCG。
LHC 实验产生的数据将分布到全世界,同时在 CERN 用磁带保有一份主备份。经过初始处理,这些数据将分发到十一个大型计算中心——包括加拿大、法国、德国、意大利、荷兰、北欧、西班牙、台北、英国,以及位于美国的两个站点——这些中心拥有足够的海量存储以支持大容积的数据片段,同时能对计算网格提供昼夜不停的支持。
这些所谓的“一级”中心将为超过 120 个的“二级”中心提供数据以用于专门的分析任务。科学家们可以在本国访问 LHC 的数据,通过本地计算集群甚至是个人 PC。
LHC 计算网格由三个“层级”构成,共有 32 个国家正式参与其中:
- Tier-0 为一个主站:CERN 计算中心。所有数据都将通过这一中央枢纽,但它只提供总共不到 20% 计算能力。
- Tier-1 由十一个站点构成,位于加拿大、法国、德国、意大利、荷兰、北欧、西班牙、台北、英国,还有位于美国的两个站点。
- Tier-2 由超过 140 个站点构成,聚集成 38 个联邦,覆盖了澳大利亚、比利时、加拿大、中国、捷克、丹麦、爱沙尼亚、芬兰、法国、德国、匈牙利、意大利、印度、以色列、日本、韩国、荷兰、挪威、巴基斯坦、波兰、葡萄牙、罗马尼亚、俄罗斯、斯洛文利亚、西班牙、瑞典、瑞士、中国台北、土耳其、英国、乌克兰,以及美国。Tier-2 站点将提供 LHC 数据处理所需能力的 50%。
如若 LHC 加速器以理想的方式运行,那么需要为全世界超过 500 所研究机构和大学的近 5000 名参与到 LHC 的实验的科学家提供对实验数据的访问。除此以外,在 LHC 预计超过 15 年的生命周期里,所有的数据都须是可用的。
出于经济和技术的众多理由,都强烈需求一个分布式架构:
作出采用分布式计算的方式来管理 LHC 数据的首要考虑还是金钱。在 1999 年,当 LHC 数据分析计算系统设计工作开始的时候,就很快认识到了其所需求的计算能力远远超出了 CERN 的资助能力。另一方面,大多数 LHC 的合作实验和院校都有国家级或地区级计算设施的使用权。明显的一个问题就是:这些设施能整合起来为 LHC 提供一个统一的计算服务吗?高速发展的广域网——能力和容量的增长伴随着成本的显著降低——使之看似可行。从那时起,LHC 计算网格的发展路线就确定了。
在 LHC 计算网格的研发过程中,分布式系统的许多附加优势开始显现:
- 不同的站点能保有数据的多份拷贝,保证了所有参与其中的科学家都能访问,独立于地理位置。
- 允许多个计算中心的闲置能力得到最优化的使用,提升了效率。
- 在多个时区都拥有计算中心使昼夜不停的监控易如反掌并保证了可靠的专业支持。
- 不存在单点失效。
- 维护和升级的成本是分散的,因为单个机构负责资助本地的计算资源并保有相应责任,与此同时仍然对全球化的目标作出了贡献。
- 独立掌控资源鼓励了计算和分析的新兴手段。
- 所谓的“人才流失”,研究员不得不离开本土以获取资源,当资源从他们桌面即可获取时,这一现象被大大地减少了。
- 系统只需简易重新配置即可应对新的挑战,使其能随着 LHC 的生命周期动态的演进,能力不断成长,以满足每年采集数据增加引起的需求上升。
- 对于在什么地点以及怎样扩充未来的计算资源留出了足够的灵活性。
- 允许社区享用新技术带来的提升的易用性,成本效益或能源效率。
整体项目的规模给 LCG 团队带来了一些有趣的挑战:
- 管理需要在网格间可靠传输的庞大数据。
- 掌管每个站点的存储空间。
- 跟踪 9000 名物理学家分析数据所产生的几千万的文件。
- 保证足够的网络带宽:主站点之间用光纤链接,而最远程的站点也需要可靠的链接。
- 保证大量独立站点之间的安全同时最小化官僚作风,确保认证用户易于访问。
- 维护多个站点安装的软件版本一致连贯。
- 处理异构的硬件。
- 提供会计机制,基于不同级别的需求和对基础设施的贡献,保证公平的访问。
对于如此巨大的分布系统来说,安全同样是个重要的挑战。据“每日电讯”报道,9月 10 日,当第一束粒子环绕粒子加速器呼啸而过时,来自希腊的黑客曾获取了 CERN 中一台 LHC 计算系统的片刻权限。
在 CERN,运营着这个庞然大物的机构,科学家们担心黑客们一旦得手将会做什么,因为他们离控制这一机器中一个庞大探测器的计算机系统仅“一步之遥”。这是个重达 12500 吨的磁体,长近 21 米,宽高 15 米。 如果他们进入到第二道计算机网络,他们可以关掉这大型探测器的一部分。内部人士说:“就算没人捣乱要让它们工作起来都够困难了。”
攻击造成的后果是,在写这篇文章的时候,公众仍然无法访问 cmsmon.cern.ch 这一站点。
驱动 LCG 的操作系统是 Scientific Linux 发行版。它是来自 Fermilab(费米国家实验室)、CERN,以及世界上许多实验室和高等院校的结晶:
LHC 计算网格 (LCG) 由分布在世界各地的近 40000 个数据处理 CPU 构成。除其它的软件外,参与进来的 MAC 和 PC 将会加载 CERN 定制的 Scientific Linux(现在版本是 Scientific Linux CERN 4 )。
如果没有强劲的软件运行其上,拥有这样一个强大的网格也毫无意义。所以 LCG 开发者向导为所有开发和修改 LCG 代码的人员提供了技术信息,并解释了满足生产要求的开发过程:
软件开发过程可被分解为几个简单的步骤。
- 在 CVS 创建一个新模块。
- 编写代码和文档。
- 彻底地测试代码。
- 在 CVS 分支树里标记这一模块。
- 联系系统构建经理将你的模块加到构建模块清单里。
- 确保自动构建成功地创建了软件包。
- 彻底地测试软件包。
- 向 LCG 提交自动构建的软件包。
- 修正集成和验收流程中发现的缺陷。
API 是使用 C/C++,Java 以及 Perl 开发的,文档化使用了 Doxygen、Javadoc 或 POD。网格中用到的其它软件包括:
- The Berkeley Database Information Index (BDII)
- gLite ,用于构建网格应用的框架
- Xen ,虚拟机监控器
- Glue 2 ,一个抽象的信息模型,通过模式进行表达并独立于信息系统实现
- Gridview ,一个监控和可视化工具,为 LCG 的诸多方面的功能提供高层次的视图(基于 Java,PHP 和 Oracle 10g)
网格计算并不是回应 LHC 挑战的唯一答案,一些场合下志愿计算也大有用武之地。具体而言,志愿计算非常适合需要大量计算能力而只需相对很少数据传输的任务。2004 年,CERN 的 IT 部门饶有兴致地对 SETI@home 等志愿计算项目所用到的技术展开了评估。最终的努力化作了 LHC@home 这样一个结果,这一项目帮助用户将其机器的空闲时间贡献出来,为物理学家开发和探索粒子加速器添砖加瓦。它用到了 BOINC 这一志愿计算和桌面网格计算的软件平台。
请查阅 InfoQ 获取关于 **网格计算和架构 ** 的更多信息。
查看英文原文: LHC 网格:为地球上最大的科学设施存储和分析数据。
给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。
评论