本文由機器之心經授權轉載自新原理研究所(ID:newprincipia),未經授權禁止二次轉載。
上個世紀三十年代,邱奇和圖靈共同提出了通用計算機的概念[1]。在接下來的十多年裡,因為戰爭需要下的國家推動,計算機得以很快從理論發展成為實體。在眾多成果中以圖靈提出的Pilot ACE計算機以及馮諾依曼提出的儲存式計算機最為突出。
戰爭之後,雖然Pilot ACE計算機執行效率更高,但儲存式計算機以其更出色的可程式設計性獲得了更多電腦科學家的青睞。計算機便以此為基礎開始了近一個世紀的高速發展。
八十年代初的大眾萬萬想不到十年後如此大塊頭的計算機能夠被放到書桌上並快速普及到每個人的家裡。
九十年代的大眾萬萬想不到十年後計算機可以成為我們連線世界的視窗。
千禧年的大眾萬萬想不到十年後計算機也能被握在手裡,並且擁有超乎想象的計算能力。
十年前的大眾萬萬想不到如今的計算機擁有我們無法匹敵的“學習”能力,並在很多方面的表現超過了我們最頂尖的專家。
那麼十年之後的什麼是我們今天想不到的呢?或者我們應該怎麼想象十年後的我們才靠譜呢?
《自然》期刊在2014年刊登了一篇Igor Markov的文章《計算的基本極限的極限》(Limits on Fundamental Limits to Computation) [2]。我們將以此文為基礎並綜合各方面論文,探討計算機的極限以及面對這些極限電腦科學家們所採取的措施。希望這些探討能讓大家在腦海中勾勒出十年後的一個大概的輪廓。
在對這些問題探討之前,我們先對計算機的工作原理做個簡單的介紹。幾十年計算機從不同方向上的發展將整個生態大概分出了四層,如下圖所示。我們將越靠近使用者的層級叫做高層,越靠近計算機硬體本身的層級叫做低層。從高到低,整個生態大概可以被分為應用層、編譯層、架構層和電路層。其中應用和編譯層被歸納為軟體層,而架構和電路層被歸納為硬體層。
應用層
在應用層面上,實際的問題被分類成為各種複雜度。需要說明的是計算機只能解決很少一類的問題,即是用有限記憶體能解決的問題。這類問題被歸類成為PSPACE問題,如下圖所示。
值得注意的是這個歸類只考慮了有限記憶體,並沒有考慮完成它所需要的時間。在此基礎上,各種問題又以解決它所需的時間歸納為各種其他複雜度問題,大致包括:
P類複雜度問題必須在多項式時間 t=nc 內停止並輸出正確的結果,其中n是輸入的長度,c是常數。
例子:一個數是質數嗎?
NP類複雜度問題只要給出一個解,經典計算機就能夠快速驗證給出的解是否正確的所有問題。
例子:想象一個有邊和節點的圖形,例如Facebook的社交網路圖,其中節點是個人,如果兩個人建立好友關係,兩個節點就被一條邊連線。小團體(Clique)是整個圖形的一個子集,其中每一個人都是其他人的朋友,也就是其中任意兩個節點彼此連線。有人或許會問:存在20個人的小團體嗎?50個人呢?100個人呢?尋找這樣的小團體是圖論領域的一個“NP完全”(NP-complete)問題,NP完全意味著這是NP類問題中最複雜的一種。然而,如果給出了一個潛在的答案,比如說50個節點可以或不可以形成一個小團體,那麼問題就迎刃而解了。
NPC類問題是指在多項式時間內,如果所有NP類問題都能被轉化為另一個NP問題,那麼這個轉化後的NP類問題就稱為NP完全問題。NP完全問題滿足兩個條件:1. 本身是NP類問題。2. 所有NP類問題都能規約到該問題。
例子:給一個整數集合,證明是否存在一個非空子集,使得該集合內的數字和為0。
BQP類問題是指在多項式時間內,量子計算機能夠輕易解決,且錯誤機率小於1/3的所有問題。
例子:確定一個整數的質因數。
編譯層
程式設計師在演算法的指導下將問題的解決方案寫成程式。程式透過編譯層裡的編譯器被翻譯成機器能懂的二進位制程式碼。
編譯器在翻譯程式的同時也會進行一系列的最佳化,比如將程式並行,使得程式能夠儘可能快得在硬體上面執行。如下圖所示,如果程式設計師希望計算機做煮飯、洗衣及掃地三項工作,編譯器會先研究可用硬體,發現三件工作的獨立性(煮飯可以用電飯煲、洗衣可以用洗衣機、掃地可以用吸塵器),並對三項任務進行並行最佳化後翻譯成二進位制程式碼。
至此,一個問題的解決方案透過軟體開發及編譯,進入到硬體層面執行。架構層指的是各個硬體單元的功能設計,如下圖所示:
處理器處理來自儲存器和輸入/輸出端的指令,儲存器儲存指令和資料,輸入/輸出端連線計算機使用者。簡單來說,程式以指令的形式被存在儲存器中。處理器透過讀取儲存器中的指令來執行程式。與此同時,處理器也接受來自輸入/輸出端的指令,並給予相應的回覆。這些硬體單元如何排列,各自完成怎樣的工作,就是計算機架構師研究的問題。
電路層
電路層指的是每個硬體單元最底層的硬體設計,透過各種積體電路來實現架構層所設計的功能。由場效應電晶體所組成的開關電路是現代積體電路最主要的組成成分。
傳統的開關電路由MOS場效應電晶體(MOSFET) 製成。MOSFET是具有漏極(Drain)、源極(Source)、柵極(Gate)和襯底(Substrate)的4端子器件。下圖顯示了其三維結構。
柵極和襯底之間由氧化層(二氧化矽)隔開。其工作原理就是在柵極施加一定的電壓後,源極和漏極就會在場效應下聯通,從而實現通路。若柵極上沒有電壓,則源極和漏極斷開,實現斷路。正是無數個這寫通路和短路的組合實現了計算機二進位制0和1的轉換。
最近蘋果和華為相繼釋出了7奈米制程工藝的晶片。這是個什麼概念呢?首先,製程工藝是指積體電路製造時的精度。因為電流在透過柵極時會有損耗,而柵極長度(Length)決定了電流損耗的程度。柵極長度越小,損耗就越小。而上述提到的7nm的製程工藝就是這個柵極的長度。製程工藝越小,電流損耗就越小,所以能在降低功耗的同時提高效能。這也是近幾十年計算機效能高速發展的原因。
在介紹完計算機執行原理之後,我們在後文將透過每個層級,從工程、功耗、時空概念、複雜理論及新興技術這五個方面探討計算機的極限以及面對這些極限電腦科學家們所採取的措施。
參考連結:
[1]. Igor L.Markov, “Limits on Fundamental Limits to Computation”, Nature, vol. 512, pp. 147 - 154
[2]. Herken, R. (ed.) The Universal Turing Machine: A Half-Century Survey 2nd edn (Springer, 2013).
[3]. William. M. Holt, “Moore’s Law: A path going forward”, ISSCC, 2016
[4]. https://en.wikipedia.org/wiki/Photolithography
[5]. X.Ma and G.R. Arce, “Computational Lithography” (Wiley, 2011)
[6]. M.Bohr, “Interconnect scaling — the real limiter to high performance ULSI”, in Proc Int.Elec.Device Meeting, pp. 241-244.
[7]. V. R. Almeida et al, “All optical control of light on a silicon chip”, Nature vol.431, pp. 1081-1084.
[8]. J. A. Davis et. al, “Interconnect limits on gigascale integration in the 21st century”, Proc. IEEE pp.305-324.
[9]. D. Hisamoto et. al, “FinFET — a self aligned double-gate MOSFET scalable to 20nm”, IEEE Trans. Electron. Dev. vol. 47, pp. 2320 - 2325.
[10]. A. Seabaugh, “The tunnelling transistor”, IEEE Spectrum. http://spectrum.ieee.org/semiconductors/devices/the-tunneling-transistor
[11]. Dennard, Robert H.; Gaensslen, Fritz; Yu, Hwa-Nien; Rideout, Leo; Bassous, Ernest; LeBlanc, Andre (October 1974). "Design of ion-implanted MOSFET's with very small physical dimensions", IEEE Journal of Solid State Circuits.
[12]. H. Esmaeilzadeh et. al, “Dark Silicon and the End of Multicore Scaling”, in Porc of ISCA 2011.
[13]. Z. Yeraswork, “3D stacks and security key for IBM in server market”, EE Times, 2013.
[14]. R. Landauer, “Irreversibility and heat generation in the computing process”, IBM journal of research and development, pp. 183 – 191, 1961.
[15]. A. Berut et. al, “ Experimental verification of Landauer’s principle linking information and thermodynamics”, Nature, vol. 483, 187-189, 2012.
[16]. Y. Aharonov and D. Bohm, “Time in the quantum theory and the uncertainty relation for time and energy”, Physics, vol.122, 1649-1658, 1966.
[17]. J. Ren and V.K. Semenov, “Progress with physically and logically reversible superconducting digital circuits”, IEEE Trans. Appl. Supercond. 21, pp. 780 – 786, 2011.
[18]. C. Monroe et. al, “Large scale modular quantum computer architecture with atomic memory and photonic interconnects”, Physics, Rev.A89, 022317, 2014.
[19]. Fisher, D. Your favourite parallel algorithms might not be as fast as you think. IEEE Trans. Comput. 37, 211–213 (1988)
[20]. International Technology Roadmap for Semiconductors (ITRS). http://www.itrs.net/ (2013).
[21]. Shulaker, M. et al. Carbon nanotube computer. Nature 501, 526–530 (2013).
[22]. Simonite, T. Intel’s laser chips could make data centers run better. MIT Technol. Rev. (4 September 2013).
[23]. Nielsen, M. A. & Chuang, I. L. Quantum Computation and Quantum Information (Cambridge Univ. Press, 2011).
[24]. Shin, S. W., Smith, G., Smolin, J. A. & Vazirani, U. How ‘quantum’ is the D-Wave machine? Preprint at http://arxiv.org/abs/1401.7087 (2014).
[25]. Gus eld, D. “Algorithms on Strings, Trees and Sequences,” Computer Science and Computational Biology. Cambridge University Press, 1997.
[26]. Conitzer, V. and sandholm, T. “New Complexity Results about Nash Equilibria,” Games and Economic Behaviour 63, 2 (july 2008), 621–641.
[27]. Fortnow, L. The status of the P versus NP problem. Commun. ACM 52, 78–86 (2009)
[28]. Markov, I. L. Know your limits: a review of ‘limits to parallel computation: P-completeness theory’. IEEE Design Test 30, 78–83 (2013).
[29]. Wiesner, S, “Conjugate Coding”, Sigact news, 18: 78–88, 1983.
[30]. David Deutsch, “Quantum theory, the Church-Turing principle and the Universal Quantum Computer”, Proc. R. Soc. Lond.
[31]. https://en.wikipedia.org/wiki/Quantum_computing
[32]. Shor, Peter W.(1997), "Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer", SIAM J. Comput. 26 (5): 1484–1509
[33]. Scott Aaronson, “The Limit of Quantum,” Scientific Amarican, 2008
[34]. Erico Guizzo, “Loser: D-Wave Does Not Quantum Compute,” IEEE Spectrum, Dec 2009.
[35]. Lov K Grover, “A Fast Quantum Mechanical Algorithm for Database Search,” Quantum Physics, v3, 1996.
[36]. Scott Aaronson, “Forrelation: A Problem that Optimally Separates Quantum from Classical Computing,” STOC’15, June 14–17, 2015, Portland, Oregon, USA.
[37]. Daniel S. Abrams and Seth Lloyd, “Nonlinear Quantum Mechanics Implies Polynomial Solution for NP-complete and #P Problems,” Quantum Physics, Phys.Rev.Lett. 81 (1998) 3992-3995.
[38]. Scott Aaronson and John Watrous, “Closed Timelike Curves Make Quantum and Classical Computing Equivalent,” Quantum Physics, arXiv:08082669.
本文由機器之心經授權轉載自新原理研究所(ID:newprincipia),未經授權禁止二次轉載。