2010年10月19日 星期二 10:43
有人曾表示,高性能计算可能会采取一种不同的、使用密集多核服务器的方式进入云计算。用户可以在桌面上就将作业加到SGE中去。这种资源调度方式会接触可以运行虚拟机的本地资源或者云中资源。这种资源调度方式可能会让HPC实现宝贵的桌面化——听起来像网格计算,但是更简单。
如今, 这种理想化的计算方式已经来到了我们身边 ,在国外还只是较小规模的实验性质的“HPC云”(采用云架构打造的HPC平台,对外提供 按需 HPC服务),在中国已经花开数朵。例如,去年成都建成了国内第一家商用的高性能计算云中心,北京工业大学的“科教云”和北京计算中心的“工业云”均可定 义为“HPC云”。
赶时髦还是真需要?
尽管一朵又一朵“HPC云”已经在我们身边冉冉升起,但是依旧有不少声音质疑:用云计算的方式打造 HPC平台,是赶云计算的时髦,还是真需要?例如,英特尔服务器产品经理张振宇就表示:“目前在高性能计算中引入云计算的需求不大。”中科院计算所常务副 所长孙凝晖也认为并非所有的计算中心都需要向云计算靠拢,他说:“云计算模式的前提是看服务的用户数够不够多,能不能提供解决方案式的服务。除了象北京计 算中心需要面向大量用户提供超算服务的之外,一般的超算中心就百八十个用户,单纯提供机时,没有必要。”
不过,赞同的声音也不少。在IBM大中华区云计算中心总经理朱近之看来,超算中心引入云计算有两大好 处,一是能提高超算资源利用率,服务的客户数量和种类更多,例如,可以用于一些商业计算,而不仅局限于传统的科学计算;二是能提供给用户更好的服务。而曙 光公司产品副总经理王璟则相信:“超算中心采用云运营方式将是一次服务质量提升的变革,未来的超算中心建设中都会考虑到其对未来云系统的支持。”北京计算 中心主任曾宇更是有一种使命感和紧迫感,他认为,云计算服务市场应该定位于对大规模计算服务能力和海量数据处理能力需求旺盛的个人及企业用户市场,这一市 场正伴随信息技术的发展和产业结构的调整而日益庞大,并最终会分化为工业云计算领域、生物云计算领域、政务云计算领域等许多垂直细分的领域。因此,“北京 市计算中心在未来发展中尚有5年的发展机遇期,”曾宇说,“我们必须集中优势资源,在狭窄的云计算垂直细分领域建立起强势的核心竞争优势和知名度。”
为什么人们偏偏在“HPC云”上会有较大的意见分歧?这些赞成或质疑的声音是否有道理?弄清这些问题,应该从HPC、虚拟化、云计算之间的复杂关系说起。
令HPC“爱恨交加”的虚拟化
在很多人的理解中,虚拟化和云计算简直如“连体婴儿”一样密不可分,以为任何一朵私有云或公有云都必须 在硬件资源层实施虚拟化技术。关于这个认识的正确与否,我们暂且不表(后文还将详细叙述),因为现实中确实很多“云”都利用到了虚拟化技术,而且我们所提 到的北京工业大学的“科教云”、成都超算中心的HPC云都对一部分底层硬件资源进行了虚拟化,这符合不少人对“云”的理解,即底层一定实施了虚拟化技术。 而社会上恰恰又存在一种看法,即HPC与虚拟化的关系是“水火不相容”,人们自然难免质疑,这种造“HPC云”的行为是否只是赶时髦呢?
其实,如果深入分析HPC与虚拟化的关系,HPC与虚拟化并非“水火不相容”,HPC对虚拟化那是“爱恨交加”。
众所周知,PC服务器虚拟化技术之所以被市场迅速认可,有两个重要优点。第一个优点就是能大幅提高服务器CPU、内存等资源的利用率。然而,HPC主要集中执行并行高密度高负载任务,对CPU的利用率几乎能达到100%,因此虚拟化技术的这一优点对HPC 可以说“无用武之地”,并且“HPC应用跑在虚拟的资源层上,性能肯定是会受影响的。”北京工业大学计算机学院教授邸瑞华坦诚地告诉记者。
北京工业大学计算机学院教授邸瑞华
那么,影响程度究竟有多大?邸瑞华说:“影响的程度主要视HPC应用类型而定。如果是计算密集型的HPC应用,影响不是很大,大概在5%~10%左右,但如果是I/O密集型应用,这个影响就可能比较大。”
“5%~10%”这个数值貌似完全可接受,不过,对性能分外计较的HPC应用来说,这个数字已经不小 了。例如,长年战斗在高性能计算第一线的王璟亦承认:“对我们而言,1%的影响就觉得难以忍受了。”这也是为什么会有观点认为HPC与虚拟化“水火不相 容”了。尽管如此,王璟还是坚持“构建‘HPC云’能够发挥超算中心的全方位应用能力,因为虚拟化对于超算应用的影响虽然是负面的,但是对非超算应用的影 响是正面的。”
此外,邸瑞华表示还应从另一个角度看待这个问题,她说:“业界有个比较统一的看法,也就是说一台超级计 算机能否发挥作用,主要还是看HPC应用的并行度是不是足够好。如果一个任务HPC不能被有效分解,或者分解后不能与系统充分匹配,把它拿到超级计算机上 运行可能和拿到一台PC上运行的执行速度是一样的。因此,比起过度地关注虚拟化对HPC的影响,着力于优化HPC应用程序本身可能来得更实际有效。”
接下来让我们看虚拟化技术的另一个关键优点:虚拟化技术改变了原有计算体系架构,以及原有计算层次结构 关系,它将不同的资源和逻辑单元剥离,让上层应用程序与底层硬件资源之间形成“松耦合”关系。因此,清华大学计算机系副主任陈文光指出:“虚拟化使得在某 一个计算节点上执行用户自行选定的分配任务变得灵活可行,尤其是像异构环境下的计算任务等。”
陈文光解释说,传统模式下,超算中心向HPC用户提供一个调度器接口,用户通过该接口提交一个任务,调 度器就返回一个结果,用户没有可选择的余地,实际上这种接口并不友好。例如,假设当前任务需要Linux平台,而下一个任务需要Windows平台,在传 统模式下,只能卸载当前系统重新部署所需平台,非常麻烦,费时费力。此外,陈文光表示:“HPC用户还经常面临这样的问题,即开发HPC应用的环境和超算 中心提供的执行环境不同,需要重新配置环境,优化HPC应用,导致开发效率很低”。
而虚拟化却为此提供了一种可能。“当用户向调度器提交任务时,可以自行指定希望在任务中使用的操作系统或中间件等组件。作业调度器就会自动分发所需的软件,并将相应软件安装在虚拟机(VM)内。当任务处理完毕后,虚拟资源被收回,节点继续执行下一任务。”陈文光说道。
邸瑞华也表示,当初北京工业大学之所以选择采用云架构搭建HPC平台,也是看重了云计算“允许用户对各自的虚拟计算资源进行个性化配置,支持对用户对CPU、内存、存储等虚拟计算资源的扩展,以及集群中节点的增加。”
曙光公司产品副总经理王璟
此外,HPC对虚拟化技术的“爱”的理由不仅于此。在陈文光看来,虚拟化技术对提高HPC的可用性更为 有益。HPC规模大了以后,最大的挑战便是可用性。现在国内的百万亿次计算机,平均故障时间大概在10~100小时之间,这对于跑上一周的作业应用就具有 很大的挑战。怎么办?陈文光告诉记者,解决此类问题通常要做CheckPoint(检查点),把中间结果存下来,然后在从最近一个检查点重新启动应用。而 检查点传统的做法是需要用户自己写程序,这种做法要求比较高,因为会涉及到众多边界问题,具有相当的难度。“而虚拟机却为我们提供了这样一种可能,虚拟机 能够提供一个很干净的边界,我们可以把这个状态很好地保存下来”。
不过,陈文光同时表示,由于HPC应用和CheckPoint的复杂性,到今天为止,清华大学对此仍在进一步研究当中,目前还没有一个非常完善的解决方案。“尽管如此,‘虚拟机+CheckPoint’仍为提供HPC程序可用性提供了可能”。
对“HPC云”似乎不是那么支持的张振宇提出了些自己的见解。他认为,尽管虚拟化技术致力于“去耦合”,但HPC应用比较特别,HPC应用与底层平台之间其实是非常紧密的“紧耦合”关系,不同的HPC应用对底层的要求有较大的差别。例 如,石油行业HPC应用对网络延迟的要求不高,而对带宽要求很高,因为它是对地震波反射的方式来收集海量数据进行分析,数据载入时间往往大于数据处理时 间。相比之下,模拟汽车碰撞试验的HPC应用就对网络延迟的要求很高。这就意味着,适合跑石油业HPC应用的HPC平台,很可能就不适合跑汽车模拟碰撞试 验的HPC应用。因此,虚拟化技术‘去耦合’的这一优点,在HPC应用上似乎体现不出什么优势,这大概也是张振宇认为目前将云计算引入HPC的需求不是很 大的理由之一。总之,张振宇表示超算中心在建超算平台的时候,无论是沿用传统方式,还是采用云计算方式,都不要指望建一个HPC平台就“通吃”各种HPC 应用。这一点上,张振宇是赞同曾宇的关于超算服务终将形成垂直细分领域的观点。
“谁说云计算一定要虚拟化?”
其实,在记者最初开始试图理清虚拟化、云计算和HPC的关系的时候,朱近之即微笑地反问记者:“谁说云计算一定要虚拟化?在资源共享这个大范围内,虚拟化只是模式的一种,还有很多其它的模式。”
事实上,无论“科教云”还是成都高性能计算云中心都仅将部分资源实施了虚拟化。例如,“科教云”为A、 B、C、D四个区,每个区八十多个计算节点,其中仅A区利用虚拟化技术建立资源共享平台。而IBM当时负责该“科教云”项目的项目经理岳爽告诉记者,之所 以只对一个区部署虚拟化技术,是因为有些HPC用户提出来,由于应用的特殊性或出于安全的考虑,不希望将应用跑在虚拟的资源层。不过,这四个区都是受 IBM的“蓝云”管理平台统一进行资源调度,对外提供超级计算的按需服务。换句话说,无论用户想要获取虚拟的还是非虚拟的计算资源,“蓝云”管理平台都能 统一调度、分配和管理。
英特尔服务器产品经理张振宇
张振宇表示,对这个问题的理解应该追本溯源,去深入理解云计算的内涵。他认为,可以从两个维度来理解云 计算:从服务提供商的角度,云计算其是一种“管理的方法论,能实现对资源更好地管理”;从用户的感受来看,云计算是按需获取服务。用户根本无需在意服务提 供方究竟采用了什么技术。因此,“‘HPC云’准确地说是‘HPCAsService’,”张振宇如此说道。
理想与现实的距离
前景虽然美好,但现实往往是曲折的。在搭建“工业云”的过程中,曾宇坦言也遇到了令其头疼的问题,即工 业PaaS(平台即服务)的构建。曾宇说:“我们希望通过云主机、云存储、弹性计算平台为工业用户提供开发平台服务,缩短企业从创意到实践的过程。然而工 业范畴太大,如何提供透明的工业PaaS设计平台,这个问题到现在也没解决。”
邸瑞华也曾表示,无论是他们自己,还是他们的用户,对安全都还是有一些担忧和顾虑。张振宇表示,现有的 网络带宽环境还不行,那种理想的情况,即HPC用户通过网络上传HPC应用实现起来恐怕够呛。而孙凝晖则认为,不仅是“HPC云”,对整个云计算而言,认 为现在的各种软硬件产品和技术“只能说是凑合用!”
孙凝晖解释说,云计算其实对整个计算机系统都提出很多新的挑战。例如,云计算对服务器I/O吞吐量、计 算访存比的要求就很高。孙凝晖拿城市交通举例说明:“设想一下,如果城市交通全靠火车,是不是灵活性就很欠缺?是不是还需要汽车这种灵活的交通工具?火车 是沿着固定轨道,把一大群人一下子运送到某个地方,而汽车,两三个人想去哪里就哪里。火车这种运输方式就好像高性能计算,一次完成大量的计算任务,而汽车 这种方式,就类似高通量计算(中科院提出的新型计算系统)。云计算不仅需要‘火车’(高性能计算),也需要‘汽车’(高通量计算)。”其次,云计算对互联 网服务软件的要求也比较高,要求有“强动态性”,因为互联网上的请求数量都是忽高忽低的,难以预测的。
“作为科学家,我们关注的是更具有前瞻性的任务,”孙凝晖说道,“云计算作为互联网的新的模式,在未来十年是主流,我们将要研发更适合云计算的计算系统。”
除了学术界,许多IT厂商们也在致力于为云计算的成熟营造技术基础。例如,英特尔一直研究硬件辅助虚拟 化技术,“我们希望将Hypervisor(虚拟机管理程序)变得越来越薄,甚至完全消失掉,从而最大程度地减轻虚拟机的开销。”张振宇说道。此外,英特 尔还将推出集成众核(MIC)架构的芯片产品,旨在帮助加速特定的高度并行化的应用。而曙光已经在高性能计算机产品本身开始逐渐融入云计算的技术需求,例 如曙光开发的云存储、并行存储、并行数据库、云管理等软件,并且在构建更加符合云计算需求的服务器平台。相信随着各项技术的逐渐成熟,我们的IT天空终究 会漂浮起一朵朵美丽而强大的“云”。
Zeuux © 2024
京ICP备05028076号