美国国家科学基金会(NSF)资助的云测试平台Chameleon位于芝加哥大学和德克萨斯州高级计算中心,其开通运营不到一年的时间,但已在推动HPC容器领域的创新研究,百亿亿次的操作系统和网络安全等方面有了不俗的业绩。为了从研究的角度了解这个专用测试平台,行业媒体邀请芝加哥大学计算研究所首席研究员凯特·科赫和德克萨斯大学奥斯汀分校高级计算中心主任丹尼·斯坦兹欧文对此进行了讨论。
斯坦兹欧文说,“Chameleon是专注于云计算的研究平台,致力于如何建立一个更好的云,特别是在云计算科学研究方面。”计算机科学家为了探索可编程云服务系统的设计概念和核心技术,需要一个大型的开放式云计算的研究平台。就像租用房子比买房子在使用上有着更多的限制一样,所以对于大多数云资源的情况下,但Chameleon在baremetal(裸金属)上进行实验。”
“这与其说是一个试验台,不如说是一个科学仪器,,而且这个名字也让人稍微有些混乱。”科赫说。
“拥有计算机科学的实验测试平台意味着用户能够尝试和验证他们对这些资源的研究。于是,他们提出了一个假设,例如,他们想出了一个新的研究管理算法,或新的网络算法,或新的做法,或者是任何一个分布式系统或操作系统,或新的虚拟化系统,或一个新的架构新的安全方法。他们想出了各种有趣的想法,我们目前将通过计算机科学能够验证科学仪器的研究,提出开放挑战的解决方案。这意味着,如果他们有一个假设,新的算法能够解决一些更快或更有效的研究,他们将能够获得资源和运行实验的时间的证明或者反驳这个假设。”
Chameleon与众不同的是访问,并提供了可重构的水平。“计算机科学需要研究的类型与研究领域的科学家计划的类型有点不同。”科赫解释道,“域名科学家执行他们的代码,他们并不需要重新编译内核。它们并不需要深入资源和侵入访问;计算机科学家做的。它是计算机科学,其中计算机科学家能够证明或否定一个科学仪器假设。”
斯坦兹欧文也强调了这一方面的完全控制。“虽然Chameleon没有超级计算机Stampede那么大,我们没办法给研究者提供Stampede,但我们可以为他们提供Chameleon,因为我们对配套生产科学进行了多年的研究和控制。”他说。“以我多年经营大型HPC设施的经验,我们不得不说计算机科学的研究者,如果想提高水平或发生变化,可能影响系统上的其他用户或使系统不稳定,而这些事情我们始终无法改变。所以我们真的可以说,Chameleon是系统软件研究界或CS研究社区要对机器的运作方式产生根本性的变化的第一个系统。”
该环境包括650多核心的云节点(具有14500个核心处理器),两个数据中心的总磁盘空间达到了5PB,站点之间网络的连接达到了100Gbps。当前同类的硬件支持大规模的实验,但在升级计划可以添加异构单元允许采取进一步的实验,异构单元包括高容量的内存,大容量的硬盘,GPU,以及协助处理器单元等。“今年晚些时候,我们为那些希望进行加速器实验科学家增加GPU。我们将采用ARM处理器进行能源效率的实验。我们会得到原子和其他各种有趣的异构硬件。”科赫说。
Chameleon系统所需的硬件设施
Chameleon的用户群已扩大到600名研究人员开展的150多个项目。Chameleon允许用户配置和测试不同的云架构的一系列的问题,包括机器学习和自适应操作系统,气候模拟,洪水预报和许多其他测试。这些问题支持Chameleon研究的重要组织原则。
“如果你看一下在计算机科学中有趣的问题,它们都与规模有关。”科赫评论道。“这其中就有大数据的问题,而关于云计算或云基础架构推出的创新技术也涉及到高性能计算这些非常有趣的问题。例如,我们要继续运行高性能计算数据中心,我们是一直采用批处理计算类型的方式还是采取按需访问的方式?”
“随着仪器的价格下降,小型传感器,个人设备,可穿戴的互联网连接设备,以及串联其它互联网的设备,以及社交媒体都会生成大量的数据。”科赫说,“这并不总是大数据,它有时是大量时间积累的小块数据,但我们的洞察力和我们的仪器能力,使我们现在实现了前所未有的环境,它将继续增长。因此,现在的问题是什么新的数据处理模式,我们将如何与这个高度仪表的环境进行互动?这是计算机科学的所有有趣的研究问题,并且他们都具有大规模的元素。”
大多数项目都是使用多个节点的多个机架,而使用整个系统的机会不会太多,斯坦兹欧文表示,研究人员正在访问的Chameleon已经完成了单个节点的工作,并已呈现出一定的规模。而感兴趣的研究人员可以直接通过Chameleon的门户网站了解Chameleon的配置过程。
Chameleon的一个用户是匹兹堡大学的学生周玉宇。周玉宇一直在研究容器和虚拟化之间的性能比较,并将计划对这种类型的中间地带提出一个解决方案。
周玉宇向约翰·兰格(美国匹兹堡大学)和阿贡国家实验室的计算机科学家凯特·科赫介绍了他们如何利用Chameleon了解虚拟化(例如以KVM为例)和容器的适用性(例如Docker)技术的高性能计算应用程序。该团队使用的五种微基准和三个微应用作为测试用例。结果显示Docker在大多数情况下表现比KVM更好。周玉宇的下一步计划是向外扩展到更多的节点,并调查结果的根本原因。他也想了解如何托管设施的位置是否会影响性能。
“这是一个非常有趣的项目,这个项目对于Chameleon是一个真正需要获得规模很好的例子,因为为了孤立噪声的影响,例如,你需要在多个节点运行周玉宇已经能够运行数百个Chameleon的节点来验证她的各种假说。”科赫说。
另一个有趣的用户故事是亚利桑那大学运行代码寻找系外行星项目。其项目是处理图像数据,以识别一个行星的独特的签名,这要求台式计算机计算几个月的时间。学生们转向云计算,因为它提供了并行化的工作流程,并进行高速处理。他们选择使用Chameleon,而不是因为它利用了公共云或校园资源,而是其提供了细粒度的控制。使用Chameleon,和他们开发的一个自定义的研究应用,被称为find-r,研究人员的运行时间能够从四个月缩短至24-48小时。该研究的应用代码通过GitHub上已提供给社区。
研究者甚至使用Chameleon来解决数据泄露问题。这项研究强调指出,阿肯色大学派恩拉夫学院网络安全研究人员团队,北卡罗莱纳州的AT&T州立大学和路易斯安那州立大学都能够模拟恶意攻击,然后开发和测试上Chameleon他们的方法。该项目探索了三种情形:从云计算外部攻击,从云计算内部攻击,或内外同时攻击。研究人员正在努力强化入侵检测系统,使他们更有效阻止多级入侵攻击。该小组已经编写并提交了多篇论文,并希望与甲骨文、思科系统和微软合作。
百亿亿级连接–Argo计划
Chameleon也是国际ARGO计划的关键资源,是一个为期三年的努力设计和原型的百亿亿级操作系统和运行时的关键资源。该项目涉及三个美国国家级实验室和四所大学的40名研究人员的研究工作。
据行业媒体报道,阿贡国家实验室的博士后研究员斯旺·皮尔那鲁,是Argo计划的合作者,他通过Chameleon测试Argo计划的四大创新:(1)全球操作系统,(2)节点操作系统,(3)并发运行时间,(4)控制面板(BEACON)。
项目的成功很大程度上基于OpenStack的Chameleon可以能够使用CHI配置软件,这是该项目的成功的关键。“我们想验证整个项目,包括基于补丁的Linux内核NodeOS。”皮尔那鲁说。“我们可以做到这一点,在生产高性能计算设备都严格控制,但是没有人等着我们改变这样一个重要组成部分,我们需要抓紧时间部署。”据悉,Argo系统有望形成新一代的领先级机器的基础,并计划在2018-2020年期间部署。