首页 > 其他分享 >高性能计算(HPC)的背景和简介

高性能计算(HPC)的背景和简介

时间:2024-01-10 17:39:01浏览次数:25  
标签:计算力 运算 简介 高性能 集群 计算 HPC

前言

此篇开始,逐步积累和记录HPC相关内容的点滴。

高性能计算(HPC)的背景和简介

什么是高性能计算

高性能计算(英语:High Performance Computing,缩写HPC) 是指利用聚集起来的计算能力来处理标准工作站无法完成的数据密集型计算任务。

集群

首先是 “大量高性能计算硬件堆叠而成的计算集群”,也就是说通常不止一台。为什么不止一台呢?因为就目前的计算机科技水平而言,一台计算机的计算力是非常有限的,而提升单台机器的计算力难度是比较大的,相较之下更简单粗暴的办法就是采用更多的机器,将它们组合到一起,这听上去颇有些暴力美学的味道,集群将一组松散集成的计算机软件和 / 或硬件连接起来高度紧密地协作完成计算工作。

并行

然后是 “特定的计算任务”,当机器不止一台的时候,想让它们完成同一个任务,这个任务就需要具备一些特殊性。想象一下如果将你写了一段代码或者一个脚本,假设一共 100 行代码,你将这段代码简单粗暴地拆分成两个 50 行的文件,分别拿到两台机器上各自运行,会发生什么?显然是无法工作的。那什么样的程序或者代码才能在集群上运行呢?通常该程序需要支持并行运算或者是互不干涉的进行分布式运算。集群的并行运算与我们在拥有多核处理器的单台计算机上并行运行的多线程程序有一些类似,不过集群上的并行运算更复杂一些,因为这些程序运行在不同的机器上,通常并不会直接包含其他同时运行的程序的上下文,而是通过某些特殊的通讯协议来协同作业。或者它们本就是互相不相关的独立作业,每个作业各自完成自己的工作,不必等待其他作业完成后才可以运行,互相之间也没有锁或者资源竞争。只有这样才能充分的利用集群的性能。

并行计算(parallel computing)一般是指许多指令得以同时进行的计算模式。在同时进行的前提下,可以将计算的过程分解成小部分,之后以并发方式来加以解决。

电脑软件可以被分成数个运算步骤来运行。为了解决某个特定问题,软件采用某个算法,以一连串指令运行来完成。传统上,这些指令都被送至单一的中央处理器,以循序方式运行完成。在这种处理方式下,单一时间中,只有单一指令被运行 (processor level: 比较微处理器,CISC, 和 RISC,即流水线 Pipeline 的概念,以及后来在 Pipeline 基础上以提高指令处理效率为目的的硬件及软件发展,比如 branch-prediction, 比如 forwarding,比如在每个运算单元前的指令堆栈,汇编程序员对 programm code 的顺序改写)。并行运算采用了多个运算单元,同时运行,以解决问题。

高性能

最后一个关键词是 “高性能”,这就有别于一般的分布式计算(不过它们也有很多相通之处)。不知道大家是否有了解过一些分布式计算的项目,它们召集一些志愿者贡献出自己电脑空闲的计算力,一起为一些科学计算做出贡献,这些节点对于计算节点的性能没有特别严格的限制,甚至可以不限制硬件平台,如果你愿意参与你就可以为这些计算项目贡献一点力量,这是一种更加松散的架构。而高性能运算更加强调性能,包括计算单元(CPU、GPU、FPGA 等)、内存、存储、网络等等一系列的硬件都应该具备很强的性能,所以高性能运算还会涉及到异构计算、并行文件系统、高速网络等等。

高性能计算能做什么

高性能计算实际上服务于我们的日常生活之中,只是它的存在感很低。举个最简单的例子,天气预报。气象预测实际上应该叫做气象模拟计算,简单的说就是把收集到的大量数据(你可以尽可能想象它的大),通过一些科学的计算模型进行模拟计算并推演,以此为基础来推断未来的天气。如果没有足够强大的计算力,这显然是一项无法完成的任务。提高计算力能够提高模拟计算的速度和精度,这也是为什么这些年天气预报越来越准,能预报的时间越来越长的重要原因。HPC 还能应用到各种领域,例如:

  • 科学计算:例如生物科学上计算 DNA 序列、化学上有机化学分子计算、物理学中复杂的模型推演、数学中复杂的计算等等。
  • 工业领域:基于现代力学理论的数值仿真技术广泛应用于航天航空、汽车、船舶、机械、建筑、电子等行业领域。
  • 人工智能:计算能力的提升和可获得的数据的增加是深度学习的两个关键驱动因素,近些年非常热门的人工智能相关技术都依赖庞大的计算力。

除此之外,计算金融、国防科技、医学成像、图像编解码、大数据分析等等各种领域都是 HPC 的用武之地。HPC 系统最常见的用户是科学研究人员,工程师和学术机构以及一些政府机构。可以说一切需要计算力解决问题的地方,都可以使用 HPC 成倍的提升效率。

需要学些什么

集群中的计算力需要有一个合理规范的调度系统,负责分配作业调度, 提高集群资源使用率。所以我们需要了解学习 HPC 集群调度系统。目前常见的 HPC 集群作业调度系统有 Altair 公司的PBS、开源的Slurm和 IBM 公司的LSF,这个系列中主要围绕Slurm进行介绍。

集群中运行的任务具备一些特殊性,要想发挥出集群的优势,作业需要支持并行运算,或者在集群上运行不相互依赖的分布式作业,所以会简单介绍并行计算以及一些分布式计算相关的知识和技巧。

大量的设备需要有一个高效可靠的监控和管理系统,所以我也会了解一些分布式监控系统以及一些常见的集群运维手段和工具。

概括一下大概有以下内容:

  • 集群调度系统
  • 并行计算及部分应用
  • 集群监控及管理
  • 云及容器技术

【星猿杂谈】:在这里我们共同探索科技新趋势,分享积累的点滴,从编程语言到系统架构,从人工智能到高性能计算,我们追求技术的进步,同时珍视分享的力量。欢迎关注我们,在技术的精彩世界中一起遨游,发现更多未知!

标签:计算力,运算,简介,高性能,集群,计算,HPC
From: https://blog.51cto.com/u_16502870/9182860

相关文章

  • 高性能计算在生物信息学研究中的地位
    1.背景介绍生物信息学是一门研究生物数据的科学,它涉及到生物学、计算机科学、数学、统计学等多个领域的知识和技术。随着生物科学的发展,生物信息学也在不断发展和进步,成为生物科学研究的重要一部分。高性能计算在生物信息学研究中发挥着越来越重要的作用,因为生物信息学研究中涉及的......
  • python第一节:简介、下载、安装​
    第一节:简介、下载、安装简介:Python的创造者吉多·范罗苏姆。Python是一款易于学习、跨平台语言、免费和开源、的编程语言。有丰富的第三方模块库,应用领域非常广泛。常用于数据采集、数据分析和计算、数据挖掘、人工智能等。下载:下载地址:https://www.python.org/安装:先选中下面两......
  • Rust权威指南阅读笔记(一)Rust简介与安装
    参考:Windows10配置Rust开发环境|jonssonyan'Websitewin10安装Rust+VSCode配置Rust环境-鱼又悲-博客园(cnblogs.com)1.1Rust简介1.2安装Rusthttps://www.rust-lang.org/zh-CN/tools/install下载RUSTUP-INIT.EXE并运行如遇到:componentdownloadfailedforcli......
  • 大语言模型优化方法简介:Prompt、RAG、Fine-tuning
    GPT、LLama、Gemini等大语言模型虽展现出强大能力,但在实际应用中仍有问题,例如在准确性、知识更新速度和答案透明度方面,仍存在挑战。论文“Retrieval-AugmentedGenerationforLargeLanguageModels:ASurvey(面向大语言模型的检索增强生成技术:调查)”https://arxiv.org/abs/231......
  • Apache SeaTunnel:探索下一代高性能分布式数据集成工具
    大家下午好,我叫刘广东,然后是来自ApacheSeaTunnel社区的一名Committer。今天给大家分享的议题是下一代高性能分布式海量数据集成工具,后面的整个的PPT,主要是基于开发者的视角去看待ApacheSeaTunnel。后续所有的讲解主要是可能会硬核偏技术一点,主要是ApacheSeaTunnel流程当中的一......
  • Flink 简介
    ApacheFlink是一个分布式流处理器,具有直观和富有表现力的API,可实现有状态的流处理应用程序。它以容错的方式有效地大规模运行这些应用程序。Flink于2014年4月加入Apache软件基金会作为孵化项目,并于2015年1月成为顶级项目。从一开始,Flink就拥有一个非常活跃且不断增长的用户和贡......
  • 雷达脉冲简介
    脉冲雷达图1:雷达运行时间测量脉冲雷达发射短而强的脉冲,并在静默期接收回波信号。与 连续波雷达相比,发射器在测量完成之前关闭。该方法的特点是雷达脉冲调制具有非常短的传输脉冲(通常传输脉冲持续时间为τ≈0.1…1µs)。发射脉冲之间有非常大的脉冲暂停Τ>>τ,这被称......
  • MySQL高性能优化规范建议总结
    1、优先选择符合存储需要的最小的数据类型,因为存储字节越小,占用也就空间越小,性能也越好。a.某些字符串可以转换成数字类型存储比如可以将IP地址转换成整型数据。b.对于非负型的数据(如自增ID,整型IP,年龄)来说,要优先使用无符号整型来存储。c.小数值类型(比如年龄、状态表......
  • 大数据处理:高性能计算在数据挑战中的应用
    1.背景介绍大数据处理是指利用计算机科学和应用技术来处理和分析大规模、高速、多源、不确定性和复杂性高的数据集。大数据处理的核心挑战是如何在有限的时间和资源内,高效地处理和分析这些复杂的数据。高性能计算(HighPerformanceComputing,HPC)是一种计算机科学技术,旨在解决那些......
  • 无涯教程-Redis - 简介
    Redis是一个使用ANSIC编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。从2015年6月开始,Redis的开发由RedisLabs赞助,而2013年5月至2015年6月期间,其开发由Pivotal赞助。在2013年5月之前,其开发由VMware赞助。根据月度排行网站DB-Engines.com的数据,Redis是最流行的......