惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - JonsonXP

IT大师路线图,你还差多远? 团队决策的三大法宝 从主频之争到多核之争,摩尔定律还能走多远? 太阳能手机充电器毕设,51代码,附正文 JonsonXP is Back 推荐几个.NET开源图表组件 Asp.net未处理异常的2种解决方式 DATAGRID实现数据筛选分类汇总的数据显示 ASP.NET控件 C#中获取文件或目录的Icon 使用Visual C#实现断点续传 为服务器控件添加javascript客户端事件 在ASP.NET中动态创建柱状图和饼图 总结:Connection大全 Page Events: Order and PostBack 用DataBinder绑定索引器 DataGrid 自定义分页 在用户控件中撰写JS时控件的客户端ID问题 正则表达式语法
多核,个人计算并行时代才刚刚开始(Parallel Computing)
JonsonXP · 2009-05-21 · via 博客园 - JonsonXP

多核,个人计算并行时代才刚刚开始

(Parallel Computing) 

01101220559s

  按照前言的约定,JonsonXP在这个系列的第二篇聊聊并行的历史。

  2005年Intel推出第一款个人双核处理器以来,4年中Intel和AMD两大厂商已经将处理器内核数量从双核,扩展到4核,今年六月AMD即将发布6核皓龙处理器伊斯坦布尔。而这种内核数扩充的步伐在未来会越来越快,AMD已经承诺2010发布基于32nm技术12核处理器。

  前一篇《从主频之争到多核之争,摩尔定律还能走多远?》从IC设计的角度上探讨了CPU走入多核,以并行寻求性能提升的必然。其实,并行技术早已悄悄附体历代CPU,本文简单聊一下并行的浪漫史和未来。

俗套的开场白,什么是多核?

  想起这个话题,还是因为07年有过一段AMD和Intel关于真假多核争执不休的事情。我们先看看如今维基百科上对多核处理器的定义:

multi-core processor (or chip-level multiprocessorCMP) combines two or more independent cores (normally a CPU) into a single package composed of a single integrated circuit (IC), called a die, or more dies packaged together.

  挑重点的说。多核处理器,1.要集成多个独立内核;2.这些内核是在一个封装内的,但可以是位于不同晶片。

插曲(可跳过此段):这样定义也是因为当年刚发布双核时的争议。Intel的EE840解决方案是将位于不同晶片的两个P4处理器包在了一个封装里,共享前端总线,并用外部的北桥芯片来做二级缓存仲裁机构。而AMD的架构,是两颗Venice内核做到一个晶片上,缓存的仲裁机构也在片内。因此AMD曾诋毁Intel生产假双核概念。但根据如今多核的定义,他们只是两种不同架构而已。并且Intel按照自己的发展路线,如今core i7已经解决了从前的很多问题。

流水线到超线程到多核,不同层面的并行

  流水线(Pipeline)是将一条指令的执行分成多个步骤,比如取指令、译码、执行等等,每个机构就像车间流水线中的一道工序,一条指令取出来,马上送入译码器,紧接着取下一条指令。一条流水线上可以同时处理多条指令,只不过大家排好队分别处于不同的阶段,在同一时间上好多指令在并行,所以叫时间并行。

  超线程(Hyper-threading),如果流水线是在时间上充分利用了各个单元,不让他们闲下来,而超线程则是将这种理念更进一步,试图再在空间上充分利用每个单元的每个部分。比如执行单元在执行加法指令的时候,其他处理单元(Process Element)是空闲的,完全可以同时再执行一个乘法。使用了超线程的处理核心,对外显示为两个逻辑内核来获得多条进程进行处理。Intel的超线程技术几乎将一个核心的性能发挥到了最大。

  多核(MultiCore)的发展是处理器并行的归宿,也是真正意义上的可持续发展的CPU并行处理方向。因为无论是流水线还是超线程,都是对单核心运算潜力的挖掘,性能的提升总会榨干或者很难继续榨的一天。另一个很大的不同是,流水线和超线程只需要CPU内部优化,上层程序不需要任何改动即可坐享有性能提升;而多核应用中,编译器和软件中的并行算法会占有更重要的地位。可是一旦变革完成,实现完整可扩充的多核架构,就可以不断的添加内核和改良软件算法迎来按级数增长的性能大提升时代。

并行,一切才刚刚开始

  记得双核伊始的时候,曾有一期《程序员》专题讨论双核处理器和并行软件设计方法,感觉未来的软件工程师一定要懂得如何为多核处理器写程序才可以。但4年过去了,对于大部分软件工程师好像一切都没有什么改变。但大多数人还没察觉,我们正在经历着整个计算架构的变革,美国实验室的小伙子们,早就开始研究如何高效利用1000个内核的处理器海洋(Sea of processors),微软正在向.net framwork添加更完善的并行类库和支持,云计算、虚拟化市场也正野心勃勃准备迎接真正多核时代的爆发性发展。个人计算并行的时代,才刚刚开始而已。

  宝图已然在手,是空等未来,还是乘风破浪?