<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>中文 &#187; epointfj</title>
	<atom:link href="http://software.intel.com/zh-cn/blogs/author/epointfj/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/zh-cn/blogs</link>
	<description></description>
	<lastBuildDate>Mon, 28 May 2012 13:40:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>关于多核编程的一些想法</title>
		<link>http://software.intel.com/zh-cn/blogs/2009/08/26/400002202/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2009/08/26/400002202/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 06:25:49 +0000</pubDate>
		<dc:creator>epointfj</dc:creator>
				<category><![CDATA[博客征文专栏]]></category>
		<category><![CDATA[多核]]></category>
		<category><![CDATA[硬件]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2009/08/26/400002202/</guid>
		<description><![CDATA[因为一个朋友最近出了一本关于多核的书，所以关注了一下多核软件技术。 虽然多核技术近几年一直算是软件界的热点，但是多核编程平民化在编程环境关键技术还没有得到突破，但是相信很快就会有突破性的发展。另外，应用软件往多核迁移过程中存在选择SMP还是AMP架构的问题，这对大部分软件设计者都是一个难以抉择的问题，因为这两种架构在编程环境支撑上还没有一方有压倒性的优势，而且大家似乎还无法判断哪种架构更是未来几年的发展趋势。 绝大部分软硬件中间件公司采用的策略都是两种架构同时支撑，没有重点的方案最稳妥，但是往往也浪费了大量人力财力，带来的结果也往往是平庸无奇的表现，可以随着多核浪潮起伏，但是注定无法站到浪尖上。 这里大胆做一个预测：在未来5年，SMP架构将取得突破，从而在后面5~10年开始逐渐成为多核时代的主要软件架构。 并行编程有两个著名的定律：Amdahl定律和Gustafson定律，从这两个定律推断多核的发展前景似乎会得出不同的结论：前者悲观，后者乐观，但是他们都揭示了一个影响多核软件加速比的至关重要因素－－串行比例，而影响串行比例更本质的因素则是“共享冲突”问题，因为多个核上的任务存在共享所以会导致串行比例增加，而串行比例增加使得并行化的效果变得不明显。人们在多核时代费劲精力解决的问题就是如何尽量减少共享的影响，最大限度发挥并行的威力。 回到SMP和AMP架构上来，哪种架构更好地解决了共享带来的串行化比例增加问题呢？ 表面上看似乎AMP架构能做到软件串行化的比例更小。（睡觉，待续：后面从三个层次的“共享冲突”分析）]]></description>
			<content:encoded><![CDATA[<p>因为一个朋友最近出了一本关于多核的书，所以关注了一下多核软件技术。</p>
<p>虽然多核技术近几年一直算是软件界的热点，但是多核编程平民化在编程环境关键技术还没有得到突破，但是相信很快就会有突破性的发展。另外，应用软件往多核迁移过程中存在选择SMP还是AMP架构的问题，这对大部分软件设计者都是一个难以抉择的问题，因为这两种架构在编程环境支撑上还没有一方有压倒性的优势，而且大家似乎还无法判断哪种架构更是未来几年的发展趋势。</p>
<p>绝大部分软硬件中间件公司采用的策略都是两种架构同时支撑，没有重点的方案最稳妥，但是往往也浪费了大量人力财力，带来的结果也往往是平庸无奇的表现，可以随着多核浪潮起伏，但是注定无法站到浪尖上。</p>
<p>这里大胆做一个预测：在未来5年，SMP架构将取得突破，从而在后面5~10年开始逐渐成为多核时代的主要软件架构。</p>
<p>并行编程有两个著名的定律：Amdahl定律和Gustafson定律，从这两个定律推断多核的发展前景似乎会得出不同的结论：前者悲观，后者乐观，但是他们都揭示了一个影响多核软件加速比的至关重要因素－－串行比例，而影响串行比例更本质的因素则是“共享冲突”问题，因为多个核上的任务存在共享所以会导致串行比例增加，而串行比例增加使得并行化的效果变得不明显。人们在多核时代费劲精力解决的问题就是如何尽量减少共享的影响，最大限度发挥并行的威力。</p>
<p>回到SMP和AMP架构上来，哪种架构更好地解决了共享带来的串行化比例增加问题呢？</p>
<p>表面上看似乎AMP架构能做到软件串行化的比例更小。（睡觉，待续：后面从三个层次的“共享冲突”分析）</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2009/08/26/400002202/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

