實戰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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章