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

news/2024/5/7 13:42:06/文章来源:https://blog.csdn.net/ARPOSPF/article/details/134157569

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

  • 1. 超算
  • 2. 高性能计算
  • 3. 并行计算
  • 4. 分布式计算
  • 5. 网格计算
  • 6. 集群计算
  • 7. 云计算
  • 小结
  • 相关资料

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) 提高求解问题的规模。
并行计算院里
为提高计算效率,并行计算处理问题一般分为以下三步: 
(1)将工作分离成离散独立部分,有助于同时解决;  
(2)同时并及时地执行多个程序指令;   
(3)将处理完的结果返回主机经一定处理后显示输出。

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

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

补充3:串行计算方式vs并行计算方式
串行计算vs并行计算
从上图可以看出,串行计算必须按步骤一步一步计算才能出来最终结果。而并行计算则要将问题分成N多个子任务,每个子任务并行执行计算。而每个子任务是非独立的,每个子任务的计算结果决定最终的结果。这个和分布式计算不同。


4. 分布式计算

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


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

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

并行计算与分布式计算


5. 网格计算

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

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

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

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

网格计算有哪些类型?

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

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


6. 集群计算

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


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


7. 云计算

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

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

小结

超算是一种大型高性能计算系统,高性能计算是解决大规模问题的计算方式,并行计算和分布式计算是实现高性能计算的两种方式。

相关资料

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_190562.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高等数学啃书汇总重难点(十一)曲线积分与曲面积分

依旧是公式极其复杂恶心的一章,建议是:掌握两种线面积分的计算套路即可,和第8章一样属于同济版教材中最不重要的章节,不会对底层理解做过多考察~ 1.弧长曲线积分的几何意义 2.弧长曲线积分的定义和性质 3.弧长曲线积分的计算方式 …

关于测试组件junit切换testng的示例以及切换方式分享

文章目录 概要首先看看junit和testng的区别实践篇摸拟业务逻辑代码简单对象数据层摸拟类业务逻辑层摸拟类后台任务摸拟类 基于springmockjunit基于springmocktestng 示例的差异点junit与testng的主要变动不大,有以下几个点需要注意注解部分在before,after中testng多出按配置执行…

3 — NLP 中的标记化:分解文本数据的艺术

一、说明 这是一个系列文章的第三篇文章, 文章前半部分分别是: 1 、NLP 的文本预处理技术 2、NLP文本预处理技术:词干提取和词形还原 在本文中,我们将介绍标记化主题。在开始之前,我建议您阅读我之前介绍的关…

Http代理与socks5代理有何区别?如何选择?(一)

了解SOCKS和HTTP代理之间的区别对于优化您的在线活动至关重要,无论您是技术娴熟的个人、现代互联网用户还是企业所有者。在使用代理IP时,您需要先了解这两种协议之间的不同。 一、了解HTTP代理 HTTP(超文本传输协议)代理专门设计…

【三方登录-Apple】iOS 苹果授权登录(sign in with Apple)之开发者配置一

记录一下sign in with Apple的开发者配置 前言 关于使用 Apple 登录 使用“通过 Apple 登录”可让用户设置帐户并使用其Apple ID登录您的应用程序和关联网站。首先使用“使用 Apple 登录”功能启用应用程序的App ID 。 如果您是首次启用应用程序 ID 或为新应用程序启用应用程序…

猫头虎为不同行业精心挑选的MacBook Pro配置指南之深度解析:如何根据行业需求精准选择MacBook Pro配置 - M1, M2, M3系列全面对比

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

[Unity][VR]透视开发系列4-解决只看得到Passthrough但看不到Unity对象的问题

【视频资源】 视频讲解地址请关注我的B站。 专栏后期会有一些不公开的高阶实战内容或是更细节的指导内容。 B站地址: https://www.bilibili.com/video/BV1Zg4y1w7fZ/ 我还有一些免费和收费课程在网易云课堂(大徐VR课堂): https://study.163.com/provider/480000002282025/…

Mybatis—XML配置文件、动态SQL

学习完Mybatis的基本操作之后&#xff0c;继续学习Mybatis—XML配置文件、动态SQL。 目录 Mybatis的XML配置文件XML配置文件规范XML配置文件实现MybatisX的使用 Mybatis动态SQL动态SQL-if条件查询 \<if\>与\<where\>更新员工 \<set\>小结 动态SQL-\<forea…

java基础+数据库基础+系统+JVM问题

的哎的哎 1、基础部分 java线程池 队列的选择 答&#xff1a; SingleThreadPool:适用于多个任务顺序执行的场景。 它使用的是LinkedBlockingQueue<>()&#xff0c;无界的阻塞队列&#xff0c;就意味着会有内存溢出的风险。 FixedThreadPool: 适用于任务量固定耗时长的…

线段树 区间赋值 + 区间加减 + 求区间最值

线段树好题&#xff1a;P1253 扶苏的问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 区间赋值 区间加减 求区间最大。 对于区间赋值和区间加减来说&#xff0c;需要两个懒标记&#xff0c;一个表示赋值cover&#xff0c;一个表示加减add。 区间赋值的优先级大于区间加…

软件测试之接口测试详解

首先&#xff0c;什么是接口呢&#xff1f; 接口一般来说有两种&#xff0c;一种是程序内部的接口&#xff0c;一种是系统对外的接口。 系统对外的接口&#xff1a;比如你要从别的网站或服务器上获取资源或信息&#xff0c;别人肯定不会把数据库共享给你&#xff0c;他只能给…

Flask-SQLAlchemy事件钩子介绍

一、前言 前几天在搜资料的时候无意中看到有介绍SQLAlchemy触发器&#xff0c;当时感觉挺奇怪的&#xff0c;触发器不是数据库层面的概念吗&#xff0c;怎么flask-SQLAlchemy这个ORM框架会有这玩意。 二、SQLAlchemy触发器一个简单例子 考虑到效率博客表中有两个字段&#xf…

在Qt中List View和List Widget的区别是什么,以及如何使用它们

2023年10月29日&#xff0c;周日晚上 目录 List View和List Widget的区别 如何使用QListView 如何使用QListWidget List View和List Widget的区别 在Qt中&#xff0c;QListView 和 QListWidget 是用于显示列表数据的两个常用控件&#xff0c;它们有一些区别和特点。 1. 数…

​学习一下,什么是预包装食品?​

预包装食品&#xff0c;指预先定量包装或者制作在包装材料和容器中的食品&#xff1b;包括预先定量包装以及预先定量制作在包装材质和容器中并且在一定量限范围内具有统一的质量或体积标识的食品。简单说&#xff0c; 就是指在包装完成后即具有确定的量值&#xff0c;这一确定的…

第五章 I/O管理 六、I/O核心子系统

目录 一、核心子系统 1、I/O调度 2、设备保护 二、假脱机技术 1、脱机&#xff1a; 2、假脱机&#xff08;SPOOLing技术&#xff09;&#xff1a; 3、应用&#xff1a; 1.独占式设备&#xff1a; 2.共享设备&#xff1a; 4、共享打印机原理分析 三、总结 一、核心子系…

新恶意软件使用 MSIX 软件包来感染 Windows

人们发现&#xff0c;一种新的网络攻击活动正在使用 MSIX&#xff08;一种 Windows 应用程序打包格式&#xff09;来感染 Windows PC&#xff0c;并通过将隐秘的恶意软件加载程序放入受害者的 PC 中来逃避检测。 Elastic Security Labs 的研究人员发现&#xff0c;开发人员通常…

vscode debug skills

1) VSCode 调试 C/C 代码时&#xff0c;如何显示动态分配的指针数组。 创建一个动态分配的一维数组: int n 10; int *array (int *)malloc(n*sizeof(int)); memset(array, 1, n*sizeof(int)); 如果直接 Debug 时查看 array 指针&#xff0c;并不能看到数组所有的值。 查看…

Linux启动之uboot分析

Linux启动之uboot分析 uboot是什么&#xff1f;一、补充存储器概念1.存储器种类1.norflash - 是非易失性存储器&#xff08;也就是掉电保存&#xff09;2.nandflash - 是非易失性存储器&#xff08;也就是掉电保存&#xff09;3.SRAM - 静态随机访问存储器 - Static Random Acc…

用友 GRP-U8 存在sql注入漏洞复现

0x01 漏洞介绍 用友 GRP-U8 license_check.jsp 存在sql注入&#xff0c;攻击者可利用该漏洞执行任意SQL语句&#xff0c;如查询数据、下载数据、写入webshell、执行系统命令以及绕过登录限制等。 fofa&#xff1a;app”用友-GRP-U8” 0x02 POC: /u8qx/license_check.jsp?kj…

python采集电商jd app搜索商品数据(2023-10-30)

一、技术要点&#xff1a; 1、cookie可以从手机app端用charles抓包获取&#xff1b; 2、无需安装nodejs&#xff0c;纯python源码&#xff1b; 3、搜索接口为&#xff1a;functionIdsearch&#xff1b; 4、clientVersion "10.1.4"同时也支持更高的版本&#xff1b; …