【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别

这篇具有很好参考价值的文章主要介绍了【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 超算

超级计算机(Supercomputer)是一种计算力极强的计算机,学术界通常称这一领域为高性能计算(High-Performance Computing)。超级计算机主要为最顶尖的科学研究服务,包括核聚变模拟、石油勘探、量子力学、气候模拟、癌症研究、基因组学、分子动力学、飞机和航天器空气动力学、量化金融、计量经济和当前火热的各类民用人工智能。简而言之,超算(超级计算机)主要用于处理复杂的科学计算、模拟和大规模数据处理等任务,具备出色的计算性能和处理能力

从实现上来看,超级计算机是一种高性能计算集群,集群有众多计算节点,通常由大量的处理器、高速互联网络和大容量存储器组成。集群由众多计算节点组成,由集群管理系统通过高速IB网或专用网络将多个计算机节点连接在一起,统一调度管理,从而实现强大的计算功能。

当前,多数高性能计算系统都是通过加持GPU来实现超高性能的,也就是常说的GPU运算,不同于CPU,GPU一般集成了上千个核心于一体,具备普通CPU无法比拟的浮点计算性能,因此非常适用于图像处理、虚拟现实和计算机仿真等一类科学领域的应用,近几年发展火热的人工智能、机器学习等技术应用背后也是依靠GPU运算在做支撑。

从实际使用上看,并不是将成千上万个CPU和GPU都拿过来跑一个任务,也不是某一个人独占,而是按需所取,使用一种叫做调度器的软件来分配计算资源。超级计算机上的CPU和GPU等计算资源更像是城市中的共享单车,服务方先提供好一批计算资源放置在那里,使用方如有需求,向调度器申请,如有闲置的资源则分配给需求方。超算中心提供一个共享的资源池,每个用户每次占用部分资源,多个用户在调度器的调度下按照一定的规则排队。当然,这个资源池越大,每个用户能够获得的资源就会越多,排队等待的时间也就越短,加上一些合理的编程优化,每个计算任务的耗时就会越短,以此加速科研进程。


补充1:CPU与GPU的特点与优势

  • 首先,CPU在处理逻辑和控制流方面表现出色,而GPU在并行计算和数据密集型任务方面具备强大的计算能力。将CPU和GPU融合在一起,可以充分发挥它们的优势,提供更全面、更强大的计算能力。
  • 其次,CPU和GPU的融合可以减少数据传输和通信的开销。通常情况下,GPU作为加速器与CPU之间需要频繁进行数据传输,这会导致较大的延迟和能耗。通过将CPU和GPU融合在一起,可以实现更紧密的协作和数据共享,减少数据传输的需求,提高计算效率和性能。
  • 第三,融合CPU和GPU还可以简化系统架构和编程模型。当前,使用GPU进行加速计算需要使用专门的编程模型(如CUDA或OpenCL),并且需要管理CPU和GPU之间的数据传输和同步。然而,将CPU和GPU融合在一起,可以使用统一的编程模型,简化编程和系统管理的复杂性。
  • 最后,融合CPU和GPU还可以降低系统成本和功耗。独立的CPU和GPU需要占用额外的硬件资源和能源消耗。而将它们融合在一起,可以节省硬件成本、减少系统功耗,提高能源效率。

补充2:超算vs云计算
超算与云计算有些相似,但不同的地方在于:

  • 云计算一般将一台物理机上安装多台虚拟机,用户在一个虚拟机资源池上申请资源;
  • 超算上的程序一般直接跑在物理机上。

虚拟机会导致性能的损耗,其优点在于将资源划分的粒度更细,虚拟机资源能够的到充分利用物理机的优势在于硬件性能可以100%提供给使用者,缺点是如果使用不当,会造成硬件资源的浪费

近年来,随着虚拟化技术的成熟,虚拟机的损耗越来越小,超算也在往虚拟化方向发展,超算和云计算之间界线似乎不那么明显。


2. 高性能计算

高性能计算(High Performance Computing,HPC)是指利用超级计算机或高性能计算机来解决需要大量计算资源和高速数据处理的问题。高性能计算侧重于提供强大的计算能力和高效的数据处理能力,通常运行复杂的科学模型、大规模的数值模拟和数据分析等任务。

  • 高性能计算(High Performance Computing,HPC)是一种计算领域的技术和方法,旨在利用超级计算机或高性能计算机解决需要大量计算资源和高速数据处理的复杂问题。
  • 高性能计算的主要目标是提供强大的计算能力和高效的数据处理能力,以应对科学、工程、商业和其他领域中日益增长的计算需求。它通常用于处理大规模的、计算密集型的任务,涉及复杂的模拟、建模、仿真、优化和数据分析等应用。

高性能计算通常依赖的计算机系统具有以下特点:

  1. 高度并行化:高性能计算系统能够同时执行多个计算任务,利用并行处理来提高计算速度和效率。它可以包括多个处理器、多个计算节点、多核处理器、加速器(如GPU)等,以支持并行计算。
  2. 大规模存储器:高性能计算通常需要处理大规模的数据集。因此,它需要具备大容量和高带宽的存储系统,以存储和访问海量数据。
  3. 高速互联网络:高性能计算系统中的计算节点需要通过高速互联网络进行通信和数据交换。这样可以实现节点之间的数据共享、协作和任务调度。
  4. 高性能软件和编程模型:高性能计算需要使用高效的算法和优化技术来充分发挥硬件的计算能力。并行编程模型如MPI(Message Passing Interface)和OpenMP(Open Multi-Processing)等被广泛用于高性能计算应用的开发和优化。

3. 并行计算

并行计算(Parallel Computing)是指同时执行多个计算任务,以便更快地完成工作。可分为时间并行空间并行。时间并行即利用多条流水线同时作业,空间并行是指使用多个处理器执行并发计算,以降低解决复杂问题所需要的时间。

并行计算过程涉及将一个大型计算问题分成多个小问题,然后在多个处理单元(通常是 CPU 核心或多个计算机)上同时处理这些小问题。这种方式可以显著提高计算速度和效率,尤其是在需要处理大规模数据或复杂数学模型的情况下。并行计算可应用于各种规模的计算系统,包括超级计算机、多核处理器、GPU等。通常,我们可以认为并行计算是高性能计算的学术上的叫法

为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。并行计算主要目的在于两个方面: 
(1) 加速求解问题的速度。
(2) 提高求解问题的规模。
【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别,分布式与并行计算,云计算,超算,高性能计算,分布式计算,并行计算,网格计算
为提高计算效率,并行计算处理问题一般分为以下三步: 
(1)将工作分离成离散独立部分,有助于同时解决;  
(2)同时并及时地执行多个程序指令;   
(3)将处理完的结果返回主机经一定处理后显示输出。

并行计算需满足的基本条件

  1. 并行计算机。并行计算机至少包含两台或两台以上处理机,这此处理机通过互联网络相互连接,相互通信。
  2. 应用问题必须具有并行度。也就是说,应用可以分解为多个子任务,这些子任务可以并行地执行。将一个应用分解为多个子任务的过程,称为并行算法的设计。
  3. 并行编程。在并行计算机提供的并行编程环境上,具体实现并行算法,编制并行程序并运行该程序,从而达到并行求解应用问题的目的。

补充3:串行计算方式vs并行计算方式
【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别,分布式与并行计算,云计算,超算,高性能计算,分布式计算,并行计算,网格计算
从上图可以看出,串行计算必须按步骤一步一步计算才能出来最终结果。而并行计算则要将问题分成N多个子任务,每个子任务并行执行计算。而每个子任务是非独立的,每个子任务的计算结果决定最终的结果。这个和分布式计算不同。


4. 分布式计算

分布式计算(Distributed Computing)是指将计算任务分布到多台计算机或计算节点上进行并行计算的方法。分布式计算系统通常由多个独立的计算节点组成,通过网络进行通信和协作。分布式计算可通过利用多台计算机的计算资源来解决大规模的计算问题,提高计算效率和吞吐量。


补充4:并行计算与分布式计算的区别
并行计算更多的是为了解决高性能计算的问题,更多的强调计算性能;分布式计算一般是为了解决任务量大的计算问题。并行计算是在同一台计算机上同时处理多个任务,而分布式计算是将任务分发到多个计算机或节点上。

  • 并行计算一般用于解决需要大量计算的问题,如生命科学研究中的分子动力学分析、地质勘探中的地震建模、成像、转位等,这些计算任务数量不多,但每个任务都需耗费极强的计算能力。
  • 分布式计算一般应用于超大任务量的场景,如当今非常流行的hadoop分布式系统就非常适合用来处理海量数据,淘宝的分布式系统TFS(Taobao File System)每天都可以处理千万乃至上亿次的订单等。

【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别,分布式与并行计算,云计算,超算,高性能计算,分布式计算,并行计算,网格计算


5. 网格计算

网格计算是一种计算基础设施,它结合了分布在不同地理位置的计算机资源以实现共同目标。多台计算机上所有未使用的资源都汇集在一起,可供单个任务使用。组织使用网格计算来执行大型任务或解决在单台计算机上难以完成的复杂问题。

例如,气象学家使用网格计算进行天气建模。天气建模是一种计算密集型问题,需要执行复杂的数据管理和分析。在单台计算机上处理大量天气数据不仅缓慢,而且相当耗时。为此,气象学家在地理上分散的网格计算基础设施上运行分析并结合结果。
【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别,分布式与并行计算,云计算,超算,高性能计算,分布式计算,并行计算,网格计算
从效率上看,使用网格计算,可以将一个庞大而复杂的任务分解为多个子任务。多台计算机可以同时处理子任务,这使网格计算成为一种高效的计算解决方案。
从成本来看,网格计算适用于现有硬件,这意味着可以重复使用现有计算机。可以在访问多余的计算资源的同时节省成本。还可以经济高效地访问云中的资源。
灵活性方面,网格计算不限于特定的建筑物或位置。可以建立一个跨越多个区域的网格计算网络。这使得不同国家的研究人员可以使用相同的超级计算能力进行协作。

网格计算中需要有哪些组件?

  1. 节点。网格计算网络上的计算机或服务器称为节点。每个节点向网格网络提供未使用的计算资源,例如 CPU、内存和存储。同时,还可以使用节点执行其他不相关的任务。网格计算中的节点数量没有限制。存在三种主要类型的节点:控制节点提供者节点用户节点
  2. 网格中间件。网格中间件是一种专门的软件应用程序,它将网格操作中的计算资源与高级应用程序连接起来。例如,它处理用户对网格计算系统的额外处理能力的请求。 它控制用户对可用资源的共享,以防止网格计算机不堪重负。网格中间件还提供防止网格计算中出现资源滥用的安全性。
  3. 网格计算架构。网格体系结构表示网格计算机的内部结构。以下层广泛存在于网格节点中:
    • 顶层由高级应用程序组成,例如执行预测建模的应用程序。
    • 第二层,也称为中间件,管理和分配应用程序请求的资源。
    • 第三层由可用的计算机资源组成,例如 CPU、内存和存储。
    • 底层允许计算机连接到网格计算网络。

网格计算有哪些类型?

  • 计算网络。计算网格由高性能计算机组成。它使研究人员可以使用计算机的综合计算能力。研究人员使用计算网格计算来执行资源密集型任务,例如数学模拟。
  • 拾遗网络。虽然与计算网格类似,但 CPU 拾遗网格包含许多常规计算机。拾遗一词描述了在常规计算机网络中搜索可用计算资源的过程。当其他网络用户访问计算机执行与网格无关的任务时,网格软件会在这些节点空闲时使用它们。拾遗网格也称为 CPU 拾遗或循环拾遗。
  • 数据网络。数据网格是连接多台计算机以提供大数据存储容量的网格计算网络。可以像在本地计算机上一样访问存储的数据,而不必担心数据在网格上的物理位置。

补充5:分布式计算与网格计算的比较
分布式计算用于在任一时间实现单一目标。相比之下,网格计算并没有协同性,而是在其网络上为多个相关的子任务分配资源。一个网格计算网络可能包含几个分布式计算系统。


6. 集群计算

集群计算描述了由同构计算机组成的网络系统。同构计算机具有相同的硬件和软件。可以将它们连接到高速本地网络以创建运行类似任务的计算机集群。中央服务器可以控制和协调机器


补充6:集群计算与网格计算的比较
集群计算具有稳定和特定的硬件、任务和控制结构,而网格计算则在资源共享方面具有灵活性。网格网络上的计算机独立工作,没有义务共享资源。它们有一个资源管理器,在运行时共享未使用的资源。


7. 云计算

云计算(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现

云计算的基本原理是,通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。

小结

超算是一种大型高性能计算系统,高性能计算是解决大规模问题的计算方式,并行计算和分布式计算是实现高性能计算的两种方式。文章来源地址https://www.toymoban.com/news/detail-740815.html

相关资料

  1. 什么是网格计算?
  2. 分布式计算、网格计算和云计算
  3. 《并行与分布式处理》

到了这里,关于【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 企业如何构建高性能计算云?

    HPC是推动科学和工程应用发展的重要组成部分。除了将处理器向Exascale迈进之外,工作负载的性质也在不断变化—从传统的模拟和建模到混合工作负载,包括企业内部和云应用,还需要整合、吸收和分析来自无数物联网传感器的数据。同时,随着HPC基础设施上的人工智能工作

    2024年02月03日
    浏览(52)
  • 高性能计算与AI融合成为刚需|什么是高性能计算?应用领域有哪些?与人工智能的关系梳理

    本文一部分转载自杨净 整理自 MEET2023量子位 算力的需求,远比以往来得更为猛烈。甚至有人直呼:得算力者得未来。 元宇宙、AIGC、AI for Science的涌现,又给高性能计算(HPC)平添了好几把火。 在诸多挑战与机遇共存交织的当下,这一领域泰斗中国工程院院士、清华大学计算

    2024年02月08日
    浏览(68)
  • 从零开始学架构-计算高性能

            高性能是每个程序员的追求,无论做一个系统、还是写一组代码,都希望能够达到高性能的效果。而高性能又是最复杂的一环,磁盘、操作系统、CPU、内存、缓存、网络、编程语言、数据库、架构等,每个都可能影响系统的高性能,一行不恰当的 debug 日志,一个

    2023年04月24日
    浏览(93)
  • 高性能计算HPC笔记(一):概论

    学习自: B站北京大学Linux俱乐部:https://space.bilibili.com/3461562830424779 学习视频:北大未名超算队 高性能计算入门讲座(一):概论 这里PPT中有个问题:客户端只上传公钥给服务器,私钥是自己保留的。 概念 SISD:用一个线程去执行一条指令。 SIMD:使用单个instruction来操作多条

    2024年01月19日
    浏览(60)
  • 【高性能计算】opencl安装及相关概念

    异构计算是一种利用多种不同类型的计算资源来协同解决计算问题的方法。它的核心思想是将不同特性和能力的计算设备(例如CPU、GPU、FPGA等)组合在一起,以充分发挥它们在不同类型的工作负载和任务中的优势。 传统的计算模型通常依赖于单一类型的处理器,如中央处理

    2024年02月11日
    浏览(57)
  • Intel oneAPI——让高性能计算触手可及

    在人工智能兴起的今天,大规模、高性能计算已成为社会发展的刚需。动辄千万节点规模的社交网络、交通网络,语言聊天模型中的大规模神经网络,以及航空航天等涉及大规模计算的场景,都少不了并行计算的支持。并行计算是一种一次可执行多个指令的算法,目的是提高

    2024年02月01日
    浏览(64)
  • 【高性能计算】监督学习之支持向量机分类实验

    叙述支持向量机算法的基本思想; 描述支持向量机算法的整个分类过程; 利用支持向量机对给定数据集进行分类识别; 对比支持向量机在不同参数设定下的分类性能; 对支持向量机算法的分类性能进行评估。        支持向量机(Support Vector Machine,简称SVM)是一种常见的机

    2024年02月10日
    浏览(63)
  • 高性能云计算构架与实践7-nova安装配置

    1创建nova_api、nova、novacell0数据库,创建nova_api、nova、novacell0用户并授权,密码是123456.      2重启数据库 Systemctl restart mariadb 3创建nova用户,输入密码123456 添加admin角色到nova用户 openstack role add --project admin --user nova admin 创建服务实体 openstack service create --name nova --description \\\"O

    2023年04月10日
    浏览(47)
  • 理解高性能网络技术对云计算的影响

    作者:禅与计算机程序设计艺术 云计算是一个新兴的服务形态,它通过将软件资源池化、软件定义网络以及基础设施即服务(IaaS)等多种形式的服务提供给消费者,将资源和服务的部署自动化,并按需付费的方式将服务运行起来。云计算服务的流行使得各种网络环境的用户都能

    2024年02月03日
    浏览(43)
  • 高性能计算的矩阵乘法优化 - Python + OpenMP实现

    关于上一节读者某些疑问 :为什么你用进程并行不是线程并行? 回答 :由于Python解释器有GIL(全局解释器锁),在单进程的解释器上有线程安全锁,也就是说每次只能一个线程访问解释器,因此Python在语法上的多线程(multithreads)实现是不会提高并行性能的。 这一点和C

    2024年02月15日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包