写点什么

LHC 网格:为地球上最大的科学设施存储和分析数据

  • 2009-01-15
  • 本文字数:2914 字

    阅读完需:约 10 分钟

大型强子对撞机(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。网格中用到的其它软件包括:

网格计算并不是回应 LHC 挑战的唯一答案,一些场合下志愿计算也大有用武之地。具体而言,志愿计算非常适合需要大量计算能力而只需相对很少数据传输的任务。2004 年,CERN 的 IT 部门饶有兴致地对 SETI@home 等志愿计算项目所用到的技术展开了评估。最终的努力化作了 LHC@home 这样一个结果,这一项目帮助用户将其机器的空闲时间贡献出来,为物理学家开发和探索粒子加速器添砖加瓦。它用到了 BOINC 这一志愿计算和桌面网格计算的软件平台。

请查阅 InfoQ 获取关于 **网格计算架构 ** 的更多信息。

查看英文原文: LHC 网格:为地球上最大的科学设施存储和分析数据


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。

2009-01-15 01:445375
用户头像

发布了 133 篇内容, 共 42.4 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

平安保险基于 SPI 机制的 RocketMQ 定制化应用

阿里巴巴云原生

阿里云 云原生 消息队列 开源云工具

剑指Offer——企业级项目中分层的含义与依据及多态的优势

No Silver Bullet

封装 offer 继承 多态 2月月更

DGIOT 工业物联网开源平台简介

dgiot

物联网 2月月更 2月日更 dgiot dgiot物联网

流量录制与回放在vivo的落地实践

vivo互联网技术

测试工具 回归测试 流量回放

DevOps进阶(三)走近 DevOps 工程师

No Silver Bullet

DevOps 敏捷 jenkins 2月月更

大数据培训:在 flink 中使用 hive udf的原因分析

@零度

flink 大数据开发

独家下载!阿里云云原生携 10+ 技术专家带来《云原生与云未来的新可能》

阿里巴巴云原生

阿里云 Kubernetes 云原生 电子书

《MySQL入门很轻松》第4章:数据表中能存放的数据类型

乌龟哥哥

数据库 2月月更

企业为什么要做应用多活?

阿里巴巴云原生

阿里云 云原生 容灾

花灯照 人笑颜|OceanBase祝大家工作生活都和元宵一样甜

OceanBase 数据库

数据库 分布式 开发者 OceanBase 开源 元宵

甜言蜜语生成器、定时问候邮件机…开源程序员为这个情人节付出太多

腾源会

开源

阿里云容器服务差异化 SLO 混部技术实践

阿里巴巴云原生

阿里云 Kubernetes 云原生 混部技术

Go 语言Web开发很简单:使用模板将视图与逻辑分离

宇宙之一粟

Go 语言 Web应用开发 2月月更

微信朋友圈高性能架构方案

Geek_36cc7c

给面试加点硬菜:延迟任务场景,该如何提高吞吐量和时效性!

小傅哥

小傅哥 架构设计 Redis 6.0 任务系统

虎啸春来!丰树电子与中联重科签署战略合作协议

联营汇聚

教程直播第8期|一文详解 OceanBase 社区版生态工具 ODP & OCP

OceanBase 数据库

数据库 分布式 直播 OceanBase 开源

美团动态线程池实践思路,开源了

yanhom

Java 线程池 动态调整线程池参数 动态线程池 美团线程池

国内唯一!阿里云容器服务进入 Forrester 领导者象限

阿里巴巴云原生

阿里云 云原生 容器平台

计算机网络面试知识点

yuexin_tech

面试 计算机网络

Linux系统编程-进程间通信(mmap内存映射)

DS小龙哥

2月月更 mmap内存映射

云原生落地大爆发,企业和开发者如何把握先机?

阿里巴巴云原生

阿里云 云原生 ACK ACK Anywhere

人人都是 Serverless 架构师 | 现代化 Web 应用开发实战

阿里巴巴云原生

阿里云 Serverless 云原生

Kotlin语法手册(三)

寻找生命中的美好

android kotlin 安卓

如何快速构建服务发现的高可用能力

阿里巴巴云原生

阿里云 开源 微服务 云原生

Spring Boot Serverless 实战系列 | 性能调优

阿里巴巴云原生

阿里云 Serverless 架构 云原生

详细讲解mybatis的执行流程

编程江湖

mybatis

为什么start方法不能重复调用?而run方法却可以?

王磊

Java 面试

还没有表白神器?情人节来喽,快为心爱的她送上一份专属的礼物吧~

是Dream呀

Python 2月月更

SSH远程连接命令执行没反应不报错问题解决(-bash: fork: retry: Resource temporarily unavailable.[资源暂时不可用])

山河已无恙

SSH Linxu 2月月更

专访 OpenKruise 负责人:现在的云原生应用自动化发展到什么程度了?

阿里巴巴云原生

阿里云 开源 云原生

LHC网格:为地球上最大的科学设施存储和分析数据_Java_Dio Synodinos_InfoQ精选文章