当前位置:网站首页>什么是异构计算
什么是异构计算
2022-07-29 14:15:00 【思考实践】
通俗点说,异构就是让不同的架构处理器,协同作战,一起工作。例如,让CPU与其核显GPU两个不同架构,联合进行浮点运算,以提高整个处理器性能和工作效率。
基本概念
在异构计算系统上进行的并行计算通常称为异构计算。人们已从不同角度对异构计算进行定义,综合起来我们给出如下定义:异构计算是一种特殊形式的并行和分布式计算,它或是用能同时支持simd方式和mimd方式的单个独立计算机,或是用由高速网络互连的一组独立计算机来完成计算任务。它能协调地使用性能、结构各异的机器以满足不同的计算需求,并使代码(或代码段)能以获取最大总体性能方式来执行。
概括来说,理想的异构计算具有如下的一些要素:
(1)它所使用的计算资源具有多种类型的计算能力,如simd、mimd、向量、标量、专用等;(2)它需要识别计算任务中各子任务的并行性需求类型;(3)它需要使具有不同计算类型的计算资源能相互协调运行;(4)它既要开发应用问题中的并行性,更要开发应用问题中的异构性,即追求计算资源所具有的计算类型与它所执行的任务(或子任务)类型之间的匹配性;(5)它追求的最终目标是使计算任务的执行具有最短时间。
可见,异构计算技术是一种使计算任务的并行性类型(代码类型)与机器能有效支持的计算类型(即机器能力)最相匹配、最能充分利用各种计算资源的并行和分布计算技术。
基本原理
1、异构计算系统。
它主要由以下三部分组成:
①一组异构机器。
②将各异构机器连接起来的高速网络。它可以是商品化网络,也可以是用户专门设计的。
③相应的异构计算支撑软件。
2、异构计算的基本工作原理。
异构计算需求在析取计算任务并行性类型基础上,将具有相同类型的代码段划分到同一子任务中,然后根据不同并行性类型将各子任务分配到最适合执行它的计算资源上加以执行,达到使计算任务总的执行时间为最小。下面通过一个简单例子来说明异构计算的基本工作原理。
假设在某一基准串行计算机上执行某一给定计算任务的时间为ts,其中向量、mimd、simd以及sisd各类子任务所占执行时间的百分比分别为30%、36%、24%和10%。假设某向量机执行上述各类子任务相对于基准串行机的加速比分别为30、2、8和1.25,则在该向量机上执行此任务所需的总时间为
tv=30%ts/30+36%ts/2+24%ts/8+10%ts/1.25=0.30ts,
故相应的加速比为sv=ts/tv=ts/0.3ts=3.33
若上述向量机与其他的mimd机、simd机以及一台高性能工作站(sisd型)构成一个异构计算系统,并假设mimd机、simd机以及工作站执行相匹配子任务的加速比分别为36、24和10,则在该异构计算系统上执行同样任务所需时间就变为
thet=30%ts/30+36%ts/36+24%ts/24+10%ts/10+tc=0.01+0.01+0.01+0.01+0.02=0.06
其中tc为机器间交互开销时间,假设需2%ts时间,则thet=0.06ts,从而相应的加速比为shet=ts/0.06ts=16.67。
由上例可见,异构计算系统可比同构计算系统获取高得多的加速比。这主要是因为同构计算系统中的加速比只是靠并行性开发获取的,而异构计算系统中的加速比除了并行性之外,更主要的是靠开发异构性获得的(即不同类型子任务与相应类型的计算资源相匹配),尽管此时会有相应的交互开销。交互开销越小,异构计算的优越性就越加明显。
参考资料
边栏推荐
猜你喜欢

【pytorch】1.6 tensor 基本运算

Still developing SMS verification code login?Try it (one-click login with your phone number)

TCP和UDP的基本认识

480-82(59、151)

第4章_2——视图的使用

系列文章|云原生时代下微服务架构进阶之路 - Boris

企业需要知道的5个 IAM 最佳实践

Nacos基础教程

面试官:大量请求 Redis 不存在的数据,从而影响数据库,该如何解决?

The key to cracking AI full-process development problems
随机推荐
嵌入式开发经验分享,把学习当作一种兴趣
共享内存 - shmget填坑记
The key to cracking AI full-process development problems
上线前配置
1124. 骑马修栅栏
【LeetCode】593. 有效的正方形
PHP代码审计得这样由浅入深地学
第4章_3——索引的使用
基于降噪自编码器与改进卷积神经网络的采煤机健康状态识别
这个 MySQL bug,99% 的人会踩坑!
这 6 款在线 PDF 转换工具,得试试
mysql datetime格式化日期(mysql start with)
About inner classes
中国互联网科技企业群狼围攻,谷歌终于遭受重挫导致利润大跌,它为推动鸿蒙的发展而后悔...
PytestFixture实战应用+Pytest.ini与conftest.py应用详解+Fixture及yield实现用例前置后置
测试日报怎么写 ?
力扣之顺序表
一篇适合新手的深度学习综述!
一文搞懂JS的原型链
上个厕所的功夫,就把定时任务的三种调度策略说得明明白白