实战Java高并发程序设计-01历史概述

摩尔定律的失败

摩尔定律是由英特尔创始人之一的戈登*摩尔提出来的,内容为:集成电路上可容纳的电晶体数目,大约每隔24个月就会增加一倍,这是芯片性能会提高一倍。
说的直白一点就是没24个月,我们的计算机性能就能翻一番。
但是摩尔定律并不是一种自然法则或者物理定律,它只是基于人为观测数据后,对未来的预测。按照预测,我们的计算机性能会不断增加。
摩尔定律的有效性超过半个世纪,然而2004年,intel宣布将4GHz的芯片发布时间推迟到2005年,在2004年秋,intel宣布彻底取消4Ghz计划。
是什么迫使世界顶级科技巨头放弃4GHz的研发呢?显然就目前的硅电路而言,很有可能走到了尽头。我们的制造功能已经到了纳米。1纳米是10亿分之一米。这已经是一个相当小的数字了。就目前的科技水平而言,如果无法在物质分子层面以下进行工作,那么也许4GHz的芯片就已经接近了理论极限。因为即使一个水分子,它的直径也有0.4纳米,在往下发展就显得困难。当然,如果我们使用完全不同的计算机理论或者芯片生产工艺,也许会有质的突破,但目前还没看到这种技术被大规模使用的可能。
因此摩尔定律在CPU的计算性能上可能已经失败。虽然Intel已经研制出来4GHz芯片,但是可以看到,在近10年的发展中,CPU主频的提升已经明显遇到了一些暂时不可逾越的瓶颈。

多核时代的到来

虽然CPU的性能已经近乎止步,长达半个世纪的摩尔定律轰然倒地。但是这依然没有阻挡科学家和工程师们带领我们不断向前的脚步。
从2005年开始,我们已经不再追求单核的计算速度,而开始研究如何将多个独立的计算单元整合到单独的CPU中,也就是多核CPU。短短十几年的发展,家用小CPU,比如inteli7就可以拥有4核心,8核心。在专业服务器上通常配有好几个独立的cpu,每一个cpu都有多大8个甚至更多的内核。

多核时代带来的问题

顶级计算机科学家唐纳德* 尔文 *克努斯,如此评价多核时代到来的情况:在我看来,这种现象或多或少是由硬件设计者已经无计可施了,他们讲摩尔定律失效的责任推脱给了软件开发者。
根据唐纳德的观点,摩尔定律本应该是硬件开发人员维持。但是,很不幸,硬件工程师视乎无计可施了。为了保持性能的高速发展,硬件工程师就想出来将多个cpu内核塞到一个cpu的想法。由此,并行计算就非常自然的推广开来,而随之而来的问题也层出不穷。程序员的黑暗时代随之到来。简化的硬件设计方案必然带来了软件设计的复杂性。换句话说,软件工程师正在为硬件工程师无法完成的工作负责,因此也就有了唐纳德的说法。

所以如何让多个cpu有效的并且正确的工作也就成了一门技术,甚至是很大的学问。比如:多线程如果保证线程安全,如何理解线程间的无序性,可见性,如何尽可能提高并行程序设计,又如何将串行化程序改造为并行程序。

发布了87 篇原创文章 · 获赞 3 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章