多核的未来及面临的问题
既然多核技术能够如此有效的提升运算速度,为什么不早早的就开始发展多核技术,而是在单片的运算频率上面拼来拼去呢?
首先就是软件部分,开发工具没有部署到位的时候,能够合理运用多核技术的应用开发几乎无法进行。
有人悲观地预测,应用开发商们将需要几年时间重新编写程序。一旦确立了一种转换方法,IDE工具厂商将开始推出帮助管理多线程开发复杂性的自动化扩展工具。这两个过程很容易用上3~5年的时间。具有全集成多线程控制结构的商业开发语言应当在5~7年后得到广泛使用。但即使那样,个人用户也不要指望在每次推出新CPU时,桌面应用程序的性能都会马上提升。对于多内核系统来说,拥有桌面上的CPU带宽与能够利用它是两件完全不同的事情。
我们必须清醒地认识到,多核的大众时代尚未到来。对于桌面应用,多核的大众化并不会很快变为现实。大家希望能够利用上多核的高性能,在一般人的理解中,也是如果我用了双核芯片,我的电脑速度就会比原来增加一倍。但是实际上不是这样的。每个应用都能随着越来越多的处理器可供使用而适度地提高性能。正如过去提高时钟速度和应用带宽那样,增加处理器内核的数量同样应当提高性能,为什么对桌面应用就不行呢?
尽管利用并行CPU提高总体软件性能的概念至少已经出现35年了,但是在开发工具方面,使这种方法进入商业市场的东西却非常少。可供程序员迅速开发出来的程序还是单线程的。虽然多内核CPU使你可以将多个应用分配到多个处理器上,但是单个应用的性能仍受到单个处理器的速度的限制。夸张一点的说:不管你有一个处理器还是100个处理器,现今的大部分应用程序性能增加不会很大,因为在任何时刻,每个应用只能运行在一个处理器上。
因此,对多核技术的真正有效应用成为了限制多核处理器在PC上面的普及的瓶颈。
今天的情况正在迅速演变为10年前一幕的重现。需要更多CPU带宽的应用厂商再也不能依靠提高时钟速度来获得更好的性能和功能。多数大规模客户端应用是用C或C++编写的,而且历史上一直被设计为单线程。这使应用的多线程优化是个需要耗费大量劳动力的改写过程。就多内核CPU而言,广泛的桌面性能和功能的改进仍需要几年时间。
为了再一次提高性能和功能,一直依靠CPU时钟速度不断提高的桌面应用厂商现在必须向长期的、痛苦的软件改写投资,这个过程,还是只能够用“痛苦而漫长”这几个字来形容。
结束语
发展多核并不能像发展CPU核心频率那样明显的迅速在桌面应用程序层面看到效果,想要真正在桌面应用上普及,人们还要耐心的等待一段时间。
但是,总体而言,多核技术的应用在未来是一种不可阻挡的趋势和潮流。人们对性能要求的最大化决定多核必将取代单核。这只是一个时间上的问题。