计算简介
1 一句话介绍
计算即用计算机处理信息的活动。
2 基本概念
- 计算机:由硬件和软件构成的能够处理数据的电子设备。计算机有多种形态,例如服务器、台式机、笔记本电脑、平板、智能手机、可穿戴设备等等。不同形态的计算机硬件、软件配置差异较大,但基本都涵盖了冯·诺依曼计算机模型中的控制器、运算器、存储器、输入设备以及输出设备五要素。
- 通用技术:能横跨整个经济领域,产生多种用途,并能产生巨大技术互补性以及溢出效应的技术。例如5G、人工智能就是通用技术。
3 计算发展历程
计算经历1.0、2.0和3.0时代。
- 计算1.0时代:此阶段以专用计算设备为主。例如大型机、小型机。专用计算设备存在接口、架构封闭的缺点,导致价格贵、应用少、维护成本高。
- 计算2.0时代:此阶段以通用计算设备为主。以X86、ARM架构主导的通用计算设备开放接口,应用生态丰富,大型数据中心随之出现。
- 计算3.0时代:此阶段重点体现全栈全场景的智能计算。计算3.0时代,计算需求多样化。云边端对计算的性能、能耗、时延要求不一,处理的数据类型不一(如文本、图片、音视频等),计算架构需要适应不同的场景,因此CPU、GPU、NPU、FPGA等多种芯片共存的异构计算成为主流。
4 芯片介绍
4.1 芯片定义
芯片即集成电路,通常将模拟集成电路、数字集成电路或混合信号集成电路嵌入微小晶片,由大量晶体管执行运算。一般芯片包含控制单元(Control)、算术逻辑运算单元(ALU)和缓存单元(Cache)。
芯片的核心是指令集和微架构:
- 指令集:上层程序发送给芯片执行的命令集合。例如存取指令、加法指令等。主流指令集有X86、ARM、POWER。
- 微架构:指芯片内部晶体管的组织方式。指令需要有相适应的硬件结构才能高效率的执行。
指令是顶层规范,微架构是具体的物理实现。物理实现的方式有很多种,对指令的执行效率影响很大,反映了芯片设计厂商的实力。
4.2 芯片类型
针对不同的计算场景,组合不同类型的芯片是最优的方案。总体有四种类型的芯片:
- CPU:中央处理器是一类适合复杂逻辑运算的芯片。约70%的晶体管用于构建复杂的控制单元和缓存单元。CPU只能串行执行指令,适合于承载通用软件。ALU的每次计算需要从内存中取数,执行完成后再放回内存。然而内存访问速度比计算速度低,限制了CPU的总吞吐量,这称为冯·诺依曼瓶颈。
- GPU:图形处理器是一类适合简单但是计算吞吐量大的芯片。约70%的晶体管用于构建算数逻辑运算单元。GPU属于通用处理器,支持许多不同应用,同样存在冯·诺依曼瓶颈,只是大量ALU并行计算提高了总体吞吐量。GPU不能单独工作,需要经过CPU调用才能工作。GPU适合于并行计算场景,例如图形梳理。
- NPU:神经网络处理器是一种专用定制芯片(ASIC),适合神经网络计算。NPU芯片 含大量矩阵计算单元,由脉动阵列中乘法器累加组成。因此NPU芯片在矩阵运算过程中无需访问内存,矩阵运算效率更高。谷歌TPU同样是适合于矩阵运算的ASIC芯片。
- FPGA:现场可编程门阵列是一类半定制化芯片,拥有低能耗、高性能、可编程的特性。FPGA的逻辑电路是由可编程逻辑块组成,通过烧入配置文件(可重复),将这些可编程逻辑块通过可编程连接器件连接起来组成特定场景下的芯片。
四类芯片对比如下:
CPU以及GPU都采用冯·诺依曼架构,保持很大的灵活性,即硬件不知道下一步做什么,直到从内存中获得下一条指令;而NPU/TPU上放置大量乘法器及加法器并连接起来,硬件知道下一步需要干啥。即一个乘法器计算完成后直接将结果传给下一个乘法器,无需访问内存。该方式大大简化了冯·诺依曼瓶颈,相应地牺牲了灵活性,基本只使用与大量矩阵运算场景。
4.3 芯片形态
在单块芯片上可集成CPU和外部接口、ROM等部件形成可直接运行代码的功能全面的芯片:
- MCU:微控制器,又称单片机,是芯片级芯片。一般是4位、8位和16位微架构,工作频率不高。强调控制性,对计算性能要求不高。
- SoC:单片系统,是系统级芯片。重视系统集成度,相比于MCU集成了更多的功能模块,可以运行操作系统级代码。
5 通用服务器结构
服务器指为网络用户提供特定服务(数据库、WEB服务、共享文件等)的计算机硬件和软件统称,也称为网络主机。
服务器一般分为大型机、小型机、塔式服务器、刀片服务器、机架服务器以及异构服务器。
服务器关键部件:
- 总线:服务器各部件之间进行数据交换的公共线路。主流是PCIe总线,网卡等部件通过PCIe接口接入总线。
- CPU:服务器的运算与控制核心。
- 内存:又称主存,是CPU直接寻址的存储空间。
- 硬盘:辅助存储器,掉电不丢失数据的长期存储器。
- 网卡:又称网络适配器或网络接口卡NIC,负责接入网络。一般分为PCIe网卡、板载网卡、Mezz网卡和灵活网卡。
- RAID卡:实现RAID功能的板卡。
- 电源:包括ATX和SSI两种标准的电源。
- BIOS/UEFI:BIOS即通电引导阶段运行硬件初始化,为操作系统和程序提供运行时服务的固件;UEFI作为BIOS替代方案,开机速度更快。
- BMC:遵从IPMI规范,负责各路传感器的信号采集、处理、储存,以及各种器件运行状态的监控。
6 计算技术
6.1 异构计算
异构计算,又称异质计算,指使用不同指令集、不同类型芯片、不同架构体系的计算单元组成系统的计算方式。
异构计算的根本目的就是为了补齐CPU计算能力。主要应用于计算密集型场景,例如人工智能。
计算单元 |
CPU |
GPU |
FPGA |
ASIC |
适用场景 |
通用编程 |
适用大批量数据并行计算 |
适用不规则并行计算 |
专用电路 |
优点 |
调度,管理,协调能力强 |
高性能,高能耗,强大的计算能力 |
实时性好,能效比高,调度和管理能力强 |
计算能力强,处理速度快,功耗低,性能强 |
缺点 |
计算能力较弱 |
调度,管理能力弱 |
开发周期长且开发难度大 |
算法是固定的,一旦算法变化就可能无法使用 |
流行异构计算系统 |
CPU + GPU:如AWS,阿里云等的数据中心。 |
|||
CPU + FPGA:如微软的数据中心。 |
||||
CPU + ASIC:如Google数据中心(CPU + TPU),华为数据中心(CPU + Ascend)。 |
6.2 云计算
云计算即通过网络按需从可配置的共享计算资源池中申请计算资源的技术。底层通过KVM等虚拟化技术将单个物理资源从时空维度进行划分,逻辑表示成多份资源;再通过OpenStack等云操作系统将逻辑资源进行资源配置与调度。云计算部署模型有如下三种:
- 公有云:第三方云服务提供商通过互联网提供计算、存储、网络资源,使用方自助按需申请购买资源。
- 私有云:单位自建云平台,以非公开形式托管在自家数据中心。单位拥有完全控制权,单位内部用户认可享受到共享的资源池。
- 混合云:将公有云和私有云结合起来,单位即可以使用本地共享资源池,也可弹性扩容公有云资源。
6.3 高性能计算HPC
单台服务器计算能力不足且存在单点故障,将多台服务器互联构成一个并行或分布式计算的集群可以提高性能以及高可用性。一般包括如下集中类型的集群:
- 高性能集群:即HPC集群,追求高性能。
- 高可用集群:HA集群,一个节点失效其他节点接替,尽可能减少集群的宕机时间。
- 高可扩展性集群:基于负载均衡策略,提高系统吞吐能力以及避免单点故障。
科学研究领域有三大范式:理论(道)、实验(术)、计算(器)。在理论未建立、实验昂贵难以实施时,高性能计算成为科学研究的唯一手段。高性能计算通常基于大规模计算机集群进行并行计算。高性能计算解决方案一般包括计算节点、高速互联网络以及高吞吐量的并行文件系统:
- 计算服务器:一般包含传统MPI节点(瘦节点)、胖节点(多路CPU、大内存服务器)、GPU加速节点(带有通用GPU加速的服务器)
- 高速互联网络:一般采用RDMA技术构建低时延网络,例如RoCE组网。
- 并行文件系统:要求允许一个集群中的多节点同时对同一个文件进行读写,提高并行I/O能力。
- MPI(Message Passing Interface):消息传递接口,用于并行计算中各个计算节点之间的通信。
6.4 边缘计算
边缘计算指在靠近数据源侧(终端)进行计算。云计算是集中化的,距离产生数据的终端较远,无法满足实时性要求较高的计算需求。因此将部分计算下沉到终端边缘,同时还减轻了网络传输压力,云计算中心计算压力。云边端系统计算架构如下图所示:
7 参考
- https://picture.iczhiku.com/weixin/message1609469010232.html
- https://cloud.tencent.com/developer/article/1134575
- https://pdf.dfcfw.com/pdf/H3_AP201811131243999088_1.pdf
- https://www.wpgdadatong.com.cn/blog/detail/71817
- https://www.cnblogs.com/wzx19970918/p/15729142.html
- https://shilicon.com/archives/211
- https://cloud.google.com/tpu/docs/intro-to-tpu?hl=zh-cn
- https://zhuanlan.zhihu.com/p/527939172
- https://baijiahao.baidu.com/s?id=1610560990129941099&wfr=spider&for=pc
- https://cloud.google.com/blog/products/ai-machine-learning/what-makes-tpus-fine-tuned-for-deep-learning
- 点赞
- 收藏
- 关注作者
评论(0)