九个母猪与一个母猪的比赛

随着时间流驶,进入二十一世纪了。数字化的年代变化也越来越快, 10年前的梦想,到现在已经越来越变成现实。在最为关注的计算机技术里,也让人最关心的就是CPU。无论是销售商,还是个人用户,都在讨论自己的电脑是多少G的年代。CPU的主频在步步高升,从当初的5M到目前3G多。那么CPU的主频还会提高吗?会超过4G的吗?这个疑问随着CPU的老大INTEL公司没有推出4G的CPU,也说明了CPU已经进入了极限的年代,4G是目前的CPU极限了。当然这里指的4G是普通条件下的4G,而不是带着几百斤极端散热器的工作条件的4G。虽然单个CPU的主频已经到了极限,但摩尔定律还在发挥作用,说明晶体管的数目还在不断地增加。增加的晶体管放到那里去了呢?目前已经是很显然的事情了,就是多核。
 
多个 CPU在服务器里,一直存在的。由于多个CPU独立封装的成本显示比多核封装的成本贵得多,多核在一起,可以共享缓存,可以共享总线等等。CPU发展为多核的时代,说明软件开发也随着多核的到来。在未来几年里,软件又碰到了多核的软件危机了。那么多核的系统一定比单核的系统快吗?也就回到本文的主题“九母猪与一个母猪的比赛”。如果我们假定让九母猪和一个母猪来比赛生一个小猪仔。显然的是九母猪生一个小猪仔的时间跟一个母猪生一个小猪的时间是一样的,没有任何的速度的提高,或者还会变慢。比如不同母猪之间需要讨论生个男猪仔好,还是生个女猪仔好,这样相互的沟通成本急剧上涨,导致效率也下降了。如果我们假定让九母猪生九个小猪仔,一个母猪生九个小猪仔的比赛。显然,就是九母猪大大地胜出来了。但现实世界里,是并行的事情多,还是按顺序的事情多呢?显然取决于不同的目标。在软件开发人员看来,以后的日子里,就是怎么样把九母猪生一个小猪仔的事情变成九母猪生九个小猪仔。当然,在这个变换的过程里,是非常复杂的,需要考虑到在那里是短板,那里不能乱序执行,在提高速度的同时是需要保证结果的正确性。
 
在多核的系统里,操作系统才是真正地运行在多个 CPU上,线程也才是真正的多线程执行。原来很多锁的方法,也许不再适用。原来计算CPU的时间函数也有很多不适用了,可能API也跟着变化。原来多线程的程序,在真正多核的系统,就变得问题百出,运行的结果跟来以前相比是天壤之别。为了适应这种系统,最好的方法,就是组装自己多核的开发系统。现在多核的CPU也便宜了很多,AMD的3600双核才500元,组装一台多核的系统也就6000元已经很好了。为了在多核年代里占有先机,就需要努力去开发多核的系统了,现在已经是时候了。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caimouse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值