共 1,394 篇文章
共 6,621 篇文章及评论
博客分类
Blog Roll
- Association for Computing Machinery TechNews (ACM)
- Go Parallel! (Dr. Dobbs)
- HPCwire (Tabor Communications, Inc.)
- insideHPC (John West)
- Joe Duffy's Weblog (Microsoft)
- Microsoft Parallel Programming Development Center (Microsoft Germany)
- MultiCoreInfo.com
- scalability.org (Scalable Informatics)
- Software Dev Blog (Intel Germany)
- Soft Talk Blog (Intel United Kingdom)
- The Moth (Microsoft)
Archives
帖子来自 epointfj 
关于多核编程的一些想法
作者: epointfj (1 篇文章) 日期: 八月 26, 2009 在 2:25 下午
评论 (1)
因为一个朋友最近出了一本关于多核的书,所以关注了一下多核软件技术。 虽然多核技术近几年一直算是软件界的热点,但是多核编程平民化在编程环境关键技术还没有得到突破,但是相信很快就会有突破性的发展。另外,应用软件往多核迁移过程中存在选择SMP还是AMP架构的问题,这对大部分软件设计者都是一个难以抉择的问题,因为这两种架构在编程环境支撑上还没有一方有压倒性的优势,而且大家似乎还无法判断哪种架构更是未来几年的发展趋势。 绝大部分软硬件中间件公司采用的策略都是两种架构同时支撑,没有重点的方案最稳妥,但是往往也浪费了大量人力财力,带来的结果也往往是平庸无奇的表现,可以随着多核浪潮起伏,但是注定无法站到浪尖上。 这里大胆做一个预测:在未来5年,SMP架构将取得突破,从而在后面5~10年开始逐渐成为多核时代的主要软件架构。 并行编程有两个著名的定律:Amdahl定律和Gustafson定律,从这两个定律推断多核的发展前景似乎会得出不同的结论:前者悲观,后者乐观,但是他们都揭示了一个影响多核软件加速比的至关重要因素--串行比例,而影响串行比例更本质的因素则是“共享冲突”问题,因为多个核上的任务存在共享所以会导致串行比例增加,而串行比例增加使得并行化的效果变得不明显。人们在多核时代费劲精力解决的问题就是如何尽量减少共享的影响,最大限度发挥并行的威力。 回到SMP和AMP架构上来,哪种架构更好地解决了共享带来的串行化比例增加问题呢? 表面上看似乎AMP架构能做到软件串行化的比例更小。(睡觉,待续:后面从三个层次的“共享冲突”分析)
