北鲲云:浅谈云计算与高性能计算的区别与联系
近年来,随着人工智能、AI 智药等科技领域的火热,以及阿里云、腾讯云、华为云等互联网大厂在各种场景下的成功应用。高性能计算、云计算这类科技领域的词汇也也逐渐进入人们的日常生活。那么,什么是云计算呢?云计算为什么这么火?云计算与高性能计算又有着什么样的渊源?今天我们就详细说一下云计算与高性能计算的区别与联系。
在说云计算就不得不提到传统的高性能计算,高性能计算是也就是许多人都听说过的 HPC(High Performance Computing)。传统高性能计算的范畴是十分宽泛的,包括并行计算、分布式计算、计算机集群以及网格计算。
并行计算,是指一种能够让多条指令同时进行的计算模式。可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算的目的就是提供单处理器无法提供的性能(处理器能力或存储器),使用多处理器求解单个问题。 可以说,并行计算是云计算的初始阶段或者说是萌芽期,它为云计算的发展提供了理论支持。
分布式计算,是研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。在分布式计算的算法中,我们更加关注的是计算机间的通信而不是算法的步骤,因为分布式计算的通信代价比起单节点对整体性能的影响权重要大得多。所以说,分布式计算是网络发展的产物,是由并行计算演化出的新模式:网络并行计算。如果说并行计算为云计算奠定了理论基础,那么分布式计算则是云计算实现的网络技术支持。
计算机集群,是指将一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。简单来说,我们可以把这一组松散的集成的计算机看作是一台计算机。集群系统中的单个计算机被称为节点,通常是通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。
正常情况下,集群计算机比单个计算机(比如,工作站或超级计算机)性价比要高得多。根据组成集群系统的计算机之间体系结构是否相同,集群可分为同构与异构两种。集群计算机按功能和结构可以分为,高可用性集群(High-availability (HA) clusters)、负载均衡集群(Loadbalancing clusters)、高性能计算集群(High-performance (HPC)clusters)、网格计算(Grid computing)。
网格计算是指通过利用多个独立实体或机构中大量异构的计算机资源(处理器周期和磁盘存储),采用统一开放的标准化访问协议及接口,实现非集中控制式的资源访问与协同式的问题求解,以达到系统服务质量高于其每个网格系统成员服务质量累加的总和。
网格计算其实是分布式计算与计算机集群发展到一定阶段后的产物。其目的在于利用分散的网络资源解决密集型计算问题。网格计算与虚拟组织的概念由此产生,它通过定义一系列的标准协议、中间件以及工具包,以实现对虚拟组织中资源的分配和调度。它的焦点在于支持跨域计算与异构资源整合的能力,这使它与传统计算机集群或简单分布式计算相区别。网格计算的发展,为云计算提供了基本的网络框架支持。
了解了以上传统高性能计算的范畴,再来看云计算就很容易理解了。前面我们有说过,并行计算是云计算的理论基础,分布式计算则为云计算的实现提供了网络技术支持。而网格计算是对计算集群的虚拟组织。同时也为为云计算提供了基本的网络框架支持。
因此,目前我们对云计算的基本定义是一致的,即云计算是并行计算、分布式计算和网格计算的发展,或者说是这些概念的商业实现。云计算不但包括分布式计算还包括分布式存储和分布式缓存。分布式存储又包括分布式文件存储和分布式数据存储。
总体而言,云计算具备五个关键特点:①基于分布式并行计算技术;②能够实现规模化、弹性化的计算存储;③用户服务的虚拟化与多级化;④受高性能计算与大数据存储驱动;⑤服务资源的动态化、弹性化。
云计算作为一个颇有前景的行业,不仅可以为用户提供一种全新的体验,而且可以将很多的异构的计算机资源协调在一起,使用户通过网络就可以获取到无限的不受时间和空间限制的资源,更重要的是云计算能够有效节约成本,这也是很多组织采用云产品的原因之一。例如,相比从前高昂的网站服务器托管价格,作为云计算的基础设施部署,云服务器价格相对低廉且具有弹性合理的计费模式。
评论