世界上最大的科学组织之一正在使用 OpenStack 来理解构成我们宇宙万物的东西。CERN 运行着地球上最具合作性的科学项目之一,负责定期产生大量数据,以做出诺贝尔奖级别的发现,例如希格斯玻色子,它有一些非常独特的计算需求。
Belmiro Moreira 将带我们了解 OpenStack 如何被用于 CERN 以实现这项突破性的科学,以及他们如何为这个开源项目做出贡献。满足精通计算机的科学家的苛刻需求可能具有挑战性,CERN 肯定运行着从已使用了数十年的遗留应用程序到为新构思的方法编写的新部署的各种应用。Moreira 将在日本东京举行的即将到来的 OpenStack 峰会上谈论 CERN 的云架构。
CERN 和其他设施传统上使用超级计算机。为什么 CERN 创建了如此庞大的私有云,这是否促成了新的或不同的研究?
CERN 为庞大的科学家和实验社区提供计算资源。大型强子对撞机 (LHC) 实验是使用 CERN 计算资源的最大科学合作项目,它们的数据分析更适合分布式计算模型。它需要执行大量松散耦合的作业;这需要高吞吐量计算,而不是单个程序的高性能。
在 90 年代后期,使用大量运行 Linux 的商用 x86 服务器的方法开始流行起来。为了处理来自 LHC 实验的数据,CERN 开发了一种基于该模型的计算基础设施,作为全球 LHC 计算网格的 Tier-0 层。当时,管理数千个节点的工具非常少,这促使我们开发了自己的工具。多年来,维护这些工具需要大量的努力,并且越来越难以找到新的受过培训的员工。
2012 年,CERN IT 部门决定部署一个基于常用开源工具(如 OpenStack、Puppet 和 Elasticsearch)的私有云。这使我们能够以一致的方式管理大量的物理资源池,在不同的科学社区和服务之间共享它们,提高资源利用率,并为自助服务资源分配模型启用云接口。
这对 CERN 科学社区的所有成员来说都是一个巨大的进步,使他们能够在几分钟内访问计算资源,而无需等待数周/数月才能安装和分配物理服务器。
CERN 的部署规模有多大?
CERN 的私有云在两个数据中心(日内瓦和布达佩斯)运行,总共有约 5,000 台服务器(约 130,000 个核心)。到 2016 年夏季,我们预计将增长到约 200,000 个核心。对于块存储,CERN 运行 Ceph,容量为 3.5PB。
上面运行着什么样的应用程序?
云基础设施运行着非常异构的应用程序集,范围从 IT 服务到科学数据处理应用程序,再到用户的个人远程桌面。这非常具有挑战性,因为这些项目有不同的需求和用户社区。例如,我们现在在同一台服务器上运行“ATLAS Analysis”、“IT Videoconference”和“Personal Belmiro”等项目,而在过去,它们将拥有不同的专用资源并排运行。
是否有确定云或超级计算机是否最适合应用程序的标准?
高度并行化且需要低延迟网络的应用程序在特殊的专用硬件上运行,而不是在云基础设施中。然而,这些并不代表我们在 CERN 的大部分科学工作负载。
在 CERN 云基础设施中运行的主要科学应用程序和框架用于 LHC 数据分析。这些都是计算密集型的,但作业可以独立运行。这对于云环境来说是完美的工作负载,在云环境中,每个作业都可以在临时的虚拟机 (VM) 中拥有自己的运行环境。由于主要的分析包括处理存储在 CERN 存储系统中的数据,因此如果 VM 发生故障,可以重新提交作业。
OpenStack 如何改变了 CERN 的大数据分析方式?
科学实验不仅使用 CERN 可用的计算资源,还使用世界各地其他较小的数据中心,甚至公共云。OpenStack 作为一个开源项目,允许 CERN 和其他研究机构向其用户公开一组通用的云 API,从而显着提高生产力。
过去,资源是静态的,并分配给不同的科学项目。如果容量没有被使用,则极其难以转移该容量。现在,由于资源仅在需要时创建,因此为所有科学社区提供了更多可用资源,从而带来了新的机会。
CERN 如何参与上游开发社区?
CERN 在多个项目中积极与上游开发社区合作。例如,在 Keystone 上与 LDAP 的初始集成,作为 CERN openlab/Rackspace 合作的一部分对云联邦的改进,以及最近 Nova cells v2 中的可扩展性增强。
自波士顿峰会(Essex Design Summit)以来,CERN 一直在参加 OpenStack 设计峰会。我们在运营商社区,尤其是在大型部署组中进行了非常活跃的讨论,我们在其中与其他部署共享经验和最佳实践。
此外,我们积极参与 RDO 项目,我们在其中为打包工作做出贡献。最后,我们在我们的“OpenStack in Production”博客上分享我们的经验。
将科学应用程序部署到您的部署中最大的挑战是什么?
我们有一些应用程序是多年前编写的,当时云或虚拟化模型还不存在。通常它们是单体式的——它们只能在一台大型服务器上运行,并且不能容忍故障。在任何云环境中运行这些应用程序都具有挑战性。
然而,对于大多数这些情况,我们选择将应用程序迁移到云基础设施。我们甚至迁移了那些需要非常大的虚拟机的应用程序。让它们在 OpenStack 中运行为我们提供了更大的灵活性,因为我们可以对数据中心中的所有物理服务器采用通用的管理方法。
满足大型、富有创造力和非常精通计算的科学社区的需求是一项挑战,我们密切关注容器等新兴技术。这具有挑战性,但也很有趣。
演讲者访谈
本文是 演讲者访谈系列 的一部分,为 OpenStack Summit Tokyo,这是一个为 OpenStack 云软件的开发人员、用户和管理员举办的为期四天的会议.
评论已关闭。