大型强子对撞机
以下文章刊登于《Linux Journal》十一月刊(#199)。订阅即可阅读更多此类文章,并每月送达您手中!https://linuxjournal.cn/subscribe
缪子、介子和夸克——天哪! 别害怕,多萝西,大型强子对撞机和开源软件会拯救这一天。
大型强子对撞机 (LHC) 实验的核心是什么?开源软件是驱动有史以来最复杂的人类科学事业的动力之一,这应该不会让您感到惊讶。我希望让您了解科学计算如何在 LHC 的一项实验中拥抱开源软件和开源理念。
分层计算模型位于瑞士日内瓦附近的 LHC 几乎位于地下 100 米处,提供有史以来能量最高的亚原子粒子束。LHC 的目标是为物理学家打开一扇通往宇宙大爆炸之后的窗口。然而,当物理学家计算出要透过这扇窗户所需的计算能力时,他们清楚地意识到,仅靠一栋建筑内的计算机是不可能实现的。
即使有摩尔定律的承诺,实验显然也必须包含网格技术并分散计算。分散化计划的一部分包括采用分层计算模型,该模型在全球范围内创建大型数据存储和分析中心。
紧凑型缪子螺线管 (CMS) 实验是位于 LHC 的大型对撞机实验之一。CMS 的主要计算资源位于 LHC 实验室,称为 Tier-0。Tier-0 的功能是记录来自探测器的数据,对其进行存档并将其传输到全球的 Tier-1 设施。理想情况下,每个参与 CMS 的国家都设有一个 Tier-1 设施。在美国,Tier-1 位于伊利诺伊州巴达维亚的费米国家加速器实验室 (FNAL)。每个 Tier-1 设施都负责额外的存档存储,以及物理重建和分析,并将数据传输到 Tier-2 中心。Tier-2 中心是 CMS 资助的物理学家分析资源。个人和大学可以自由构建 Tier-3 站点,这些站点不是通过 CMS 支付的。
目前,美国有八个 CMS Tier-2 中心。它们在大学的位置使 CMS 能够利用这些机构的计算专业知识,并为学生的教育机会做出贡献。我在内布拉斯加大学林肯分校的 CMS Tier-2 设施担任系统管理员。
按照大多数标准,Tier-2 中心都是大型计算资源。目前,内布拉斯加大学 Tier-2 的功能包括大约 300 台服务器,其中 1,500 个 CPU 核心专用于计算,以及超过 800TB 的磁盘存储空间。我们与 FNAL 的 Tier-1 具有每秒 10 吉比特的网络连接。
LHC?CMS?ATLAS?我糊涂了。在高能物理世界中,很容易迷失方向。大型强子对撞机 (LHC) 是提供高能粒子束(即质子)的加速器。它位于 CERN(欧洲核子研究中心)。CERN 是实验室,LHC 是机器。紧凑型缪子螺线管 (CMS) 是一种大型粒子探测器,旨在记录质子束碰撞产生的粒子(缪子是类似于电子的基本粒子)。CMS 只是 CERN 的实验之一。CMS 也用于指代分析来自 CMS 探测器记录的数据的大型科学家合作组织。大多数参与 CMS 的美国物理学家都属于一个名为 USCMS 的组织。LHC 的其他实验包括 ATLAS、ALICE、LHCb、TOTEM 和 LHCf。这些实验使用自己的分析软件,但与 CMS 共享一些网格基础设施。
数据移动CMS 计算在技术上更具挑战性的障碍之一是管理数据。数据移动使用名为 PhEDEx(物理实验数据导出)的自定义框架进行管理。PhEDEx 实际上并不移动数据,而是充当启动站点之间传输的机制。在每个站点运行的 PhEDEx 代理与位于 CERN 的数据库服务器交互,以确定该站点需要哪些数据。X509 代理证书用于验证源站点和目标站点网格 ftp 门之间的传输。内布拉斯加大学的 Tier-2 有 12 个网格 ftp 门,可持续传输速率高达每秒 800 兆字节。
应该注意的是,“数据”一词对物理学家来说可能意味着几种不同的事物。它可以指探测器的数字化读数、输出的蒙特卡罗模拟,或者存储在硬盘和磁带上的比特和字节。
内布拉斯加大学 Tier-2 站点提出的网络需求引发了计算机网络工程领域的有趣研究。内布拉斯加大学是第一所演示通过动态分配的 IP 路径进行大数据移动的大学。当内布拉斯加大学的 Tier-2 从 FNAL 的 Tier-1 中提取大量数据时,会自动构建单独的 IP 路径,以防止流量对大学的通用互联网使用产生不利影响。
由于数据传输和管理是 CMS 成功的关键要素,因此底层系统的开发已经持续多年。蒙特卡罗样本和真实物理数据的传输量已在全球范围内超过 54 PB。仅内布拉斯加大学在过去一年中就下载了 900 TB。所有这些数据移动都是通过运行开源软件的商用服务器完成的。
作业管理一旦决定分散分析资源,就需要回答一个关键问题。欧洲的物理学家如何在内布拉斯加大学使用存储的数据运行作业?2004 年,CMS 的计算模型最终确定,并采用了新兴的网格技术。当时,技术实现方式保持灵活性,允许站点采用任何可能出现的网格中间件。欧洲的分析站点采用了世界 LHC 计算网格 (WLCG) 软件堆栈来促进分析。美国的站点选择了开放科学网格 (OSG) 来提供远程部署作业的软件。这两种解决方案是可互操作的。
OSG(http://www.opensciencegrid.org)的使命是帮助共享计算资源。虚拟组织 (VO) 可以通过提供计算资源和利用其他 VO 提供的额外计算资源来参与 OSG。在过去的一年中,OSG 为参与的 VO 提供了 2.8 亿小时的计算时间。图 1 显示了过去一年中这些小时数按 VO 的细分情况。(VO 首字母缩略词含义的互联网搜索留给读者练习。)其中 4000 万小时提供给了与粒子物理学无关的 VO。参与 OSG 使内布拉斯加大学能够与其他科学家共享任何空闲的 CPU 周期。此外,所有美国 Tier-2 站点的 CMS 运营模式是,我们将平均计算量的 20% 预留给非 CMS VO 使用。这为非 CMS VO 加入 OSG 提供了激励。非 CMS VO 的参与增加了对 OSG 软件的支持和开发,这使 CMS 可以从其他用户所做的改进中受益。OSG 的模型应作为类似协作努力的榜样。

图 1. 过去一年按用户 VO 划分的开放科学网格使用情况的每周统计。
OSG 为开源网格中间件提供集中式打包和支持。OSG 还为管理员提供了证书颁发机构凭据的简易安装。证书和身份验证管理是 OSG 最有用的工具集之一。此外,OSG 还会监控站点并管理票证系统,以提醒管理员注意问题。OSG 提供了站点利用率的完整核算,以便资助机构和高层管理人员拥有他们需要的工具来争取更多支出。有关主要设施向 OSG 提供的 CPU 小时数,请参见图 2。

图 2. 计算设施向开放科学网格提供的 CPU 小时数的每周视图。“内布拉斯加大学”和“萤火虫”都是内布拉斯加大学提供的资源。
简而言之,SETI@home 对人们的桌面所做的事情,OSG 对使用大学计算中心的研究也做了同样的事情。
分布式文件系统CMS 实验每天将生成超过 1TB 的记录数据。每个 Tier-2 站点预计将在本地存储数百 TB 的数据以进行分析。如何有效地存储数百 TB 的数据,并允许来自网格提交作业的分析?
当我们开始构建内布拉斯加大学的 CMS Tier-2 时,答案是德国高能物理 (HEP) 实验 DESY 编写的软件包 dCache。dCache 或磁盘缓存是物理学家创建的分布式文件系统,充当大型磁带存储的前端。此模型非常符合高能物理学家的既定实践。HEP 社区已经使用磁带存储数据数十年了。我们是利用磁带的专家。dCache 旨在将数据从慢速磁带暂存到快速磁盘,而用户无需了解任何有关磁带访问的信息。直到最近,dCache 都使用名为 PNFS(完美普通文件系统,不要与并行 NFS 混淆)的软件以类似 POSIX 的方式(但并非完全符合 POSIX 标准)呈现 dCache 文件系统。存储在 dCache 中的数据必须使用 dCache 特定协议或通过网格接口访问。由于文件访问和控制并非真正符合 POSIX 标准,因此对于非 dCache 专家来说,系统管理可能会很麻烦。
dCache 存储是基于文件的。存储在磁盘上的所有文件都对应于 PNFS 命名空间中的文件。弹性通过副本管理器进行管理,该管理器尝试将单个文件存储在多个存储池上。尽管基于文件的分布式存储系统易于管理,并且非专家可以使用 dCache 手动修复,但该架构可能会导致存储服务器上的负载高度不平衡。如果大量作业请求同一文件,则单个存储服务器很容易变得过载,而其余服务器则相对空闲。
我们使用 dCache 的内部研究发现,与在集群工作节点中使用硬盘驱动器相比,在使用大型磁盘库时,我们获得了更好的整体体验。这在我们的预算范围内满足我们的存储需求方面造成了问题。购买硬盘驱动器并将它们部署在工作节点中比购买大型磁盘库便宜得多。CMS 计算模型不允许为 Tier-2 站点的大型磁带存储提供资金。数据档案维护在 Tier-0 和 Tier-1 级别。这意味着 dCache 的真正优势未在 Tier-2 站点得到利用。
可扩展性和预算问题促使内布拉斯加大学在开源世界中寻找不同的解决方案。我们找到了 Hadoop 和 HDFS。
Hadoop (https://hadoop.apache.ac.cn) 是一个用于分布式计算的软件框架。它是 Apache 的顶级项目,并受到许多商业利益的积极支持。我们对 Hadoop 中的计算软件包不感兴趣,但我们对 HDFS 非常感兴趣,HDFS 是 Hadoop 提供的分布式文件系统。HDFS 使我们能够轻松利用集群工作节点中可用的硬盘驱动器插槽。HDFS 的初始安装除了硬盘驱动器本身之外,没有花费我们任何东西。HDFS 也已被证明易于管理和维护。
为了使 HDFS 适合我们的需求,我们在我们这边唯一需要开发的是扩展 gridftp 软件,使其能够识别 HDFS。分析作业能够通过 FUSE 挂载访问 HDFS 中的数据。分析软件正在持续开发中,以使其能够识别 HDFS 并进一步消除不必要的开销。
HDFS 是一个基于块的分布式文件系统。这意味着存储在 HDFS 中的任何文件都会被分解为可配置大小的数据块。然后,这些单独的块可以存储在任何 HDFS 存储节点上。当文件分布在所有工作节点上时,拥有一个为整个集群提供数据的热点数据服务器的可能性开始接近于零。HDFS 还能够识别当前节点所需的数据是否位于该节点上,并且不会启动到自身的网络传输。
HDFS 中的块复制机制非常成熟。HDFS 为我们提供了出色的数据弹性。块复制级别可以在文件系统级别轻松配置,也可以在用户级别指定。这使我们能够以智能方式调整复制级别,以确保在内布拉斯加大学创建的模拟数据比我们可以从其他站点轻松重新传输的数据享有更高的容错能力。这最大限度地提高了我们的可用存储空间,同时保持了高可用性。
HDFS 非常适合我们的 Tier-2。内布拉斯加大学林肯分校的学生 Derek Weitzel 完成了一个学生项目,该项目显示了我们的 HDFS 系统中数据的实时传输。这个名为 HadoopViz 的可视化将 HDFS 系统中的所有数据包传输显示为从一台服务器弧形连接到另一台服务器的雨滴。下图显示了一个静止镜头。

从左到右的屏幕:Condor 作业视图;PhEDEx 传输质量;Hadoop 状态页;MyOSG 站点状态;CMS 仪表板作业状态;内布拉斯加大学集群的 Nagios 监控;11 月 7 日光束刮擦事件的 CMS 事件显示;美国 CMS Tier-2 站点的 OSG 资源验证监控;HadoopViz 数据包移动可视化
数据分析一旦数据存储在 Tier-2 中,物理学家就需要能够分析数据以进行发现。此任务的平台是 Linux。为了标准化,大多数开发都在基于 Red Hat Enterprise 的发行版上进行。CERN 和 FNAL 都有自己的 Linux 发行版,但将改进和自定义添加到 Scientific Linux 发行版中。内布拉斯加大学的 Tier-2 运行 CentOS 作为我们站点的主要平台。
由于数据文件构建为大约 2GB 大小,并且数据集目前徘徊在低 TB 范围内,因此在典型的桌面上进行完整的数据集分析是有问题的。典型的物理分析将从在单个工作站或小型 Tier-3 集群上进行编码和调试开始。一旦编码和调试阶段完成,分析将在整个数据集上运行,最有可能在 Tier-2 站点运行。将分析提交到网格计算站点并不容易,并且该过程已通过 CMS 开发的名为 CRAB(CMS 远程分析构建器)的软件实现自动化。
为了创建用户的作业,CRAB 查询 CERN 的 CMS 数据库,该数据库包含数据在全球范围内的存储位置。CRAB 构建网格提交脚本。然后,用户可以将整个分析提交到适当的网格资源。CRAB 允许用户查询其作业的进度,并请求将输出下载到其个人工作站。
CRAB 可以将输出定向到 Tier-2 存储本身。每个 CMS 用户在每个 Tier-2 站点上被允许拥有 1 TB 的空间,用于非存档存储每个用户的分析输出。监管科学家使用的存储空间是留给 Tier-2 站点的任务。HDFS 的配额功能为内布拉斯加大学 Tier-2 管理员提供了一个易于更新的工具,可以自动限制分析空间的使用。
图 3 显示了通过 CMS 看到的模拟事件,图 4 显示了实际记录的事件。

图 3. 物理学家如何看待 CMS——这是单个模拟事件的事件显示。

图 4. 来自 CMS 的实际记录事件——此事件显示了辐射和带电粒子从光束与光束管道中的材料碰撞中溢出到探测器中。
满怀感激的结论LHC 将使物理学家能够研究宇宙的内部运作。加速器和实验已经经历了数十年的设计和建造。该实验室正在为高能粒子束设定新的基准。我与任何人谈论我们的工作时,他们似乎都眼花缭乱,并抱怨说这太复杂了,无法理解。我想通过对 LHC 涉及的计算进行快速概述,告诉 Linux 社区,LHC 进行的科学研究在很大程度上归功于开源社区的贡献者和开发人员。即使您不了解夸克和介子的区别,您对开源软件的贡献也在帮助 LHC 和世界各地的物理学家。