2013諾貝爾物理學獎背后的計算機技術
近日在《量子雜志》上刊登了一篇文章,講述了量子物理學研究的過程中,各種計算機技術的變遷,作者是物理學的專欄作家,文中并沒有談及專業的計算機技術細節,但也提供給我們一個新的視角去看待近年來計算機技術的發展。以下為譯文:
2013年諾貝爾物理學獎10月8日在瑞典揭曉, 比利時理論物理學家Fran?ois Englert和英國理論物理學家Peter W. Higgs因希格斯玻色子的理論預言獲獎,2012年這一預言在位于瑞士的CERN(歐洲核子中心)粒子物理實驗室中得到了證實。
在CERN的 LHC(大型強子對撞機)中,亞原子顆粒不停高速碰撞,產生新的粒子,四個監視器在持續記錄這些粒子的情況,每秒產生的數據量高達5TB,相當于全球圖書館數據量的總和。這些數據被濾波算法處理后,99%以上的數據都被過濾掉了,但是每年這個系統需要存儲和處理的數據仍然高達25PB。研究組正是在這數以十億計的粒子對撞結果中提取到了希格斯粒子存在的證據。支撐這些數據計算的是遍布全球的160個數據中心,這個分布式網絡的數據傳輸速率***可達10GB/S。LHC解決大數據問題的方法反映了近十年來計算本質的戲劇性變化。
從摩爾定律到多核技術
摩爾定律自1965年被Intel聯合創始人Gordon E. Moore提出以來,就一直主導著計算機產業。根據摩爾定律,集成電路中的晶體管數量每隔兩年會增加一倍,然而目前看來,這個速度是***彈性的。麻省理工學院理論計算機科學家 Scott Aaronson認為“摩爾定律已經基本失效”。
自2005年以來,許多計算能力的增長都來自多核技術帶來的并發性上。更快的處理器固然重要,但已不再居首位。斯坦福大學電氣工程師 Stephen Boyd認為“5年來,處理器速度對于計算能力的提高已經不多了,解決問題的挑戰并不在于如何利用一個超快的處理器,而是如何整合10萬個較慢的處理器”。Aaronson指出簡單地增加并行處理并不能充分解決大數據問題,這些問題更連續,有時可以分割成小任務分配給多個處理器,有時很難做到分割,并且這些處理器也很難得到充分利用。好比是20個人完成一項工作,通常情況下并不能達到20倍的速度。
數據傳輸的問題
研究人員在集成不同架構的數據集時也面臨著挑戰,同時在一個高度分布式的網絡中有效傳輸數據也面臨巨大困難。隨著數據集的規模和復雜性不斷增長,這個問題會變得愈發明顯。據加州科技學會物理學家 Harvey Newman(他的團隊開發了LHC的網格數據中心和橫跨大西洋的網絡系統)。他估計照目前的形勢發展,LHC數據處理系統的計算能力將不能再滿足需求,甚至需要重新設計。
內存與數據傳輸
數據傳輸有時比處理延時更耗時,Aaronson說:“計算機運行慢的原因不一定是微處理器的問題,還有可能是微處理器在等從磁盤傳來的數據。”大數據研究人員更喜歡數據傳輸時間盡可能的少,因為存儲在分布式網絡或云端的數據會使情況惡化。
分布式計算
解決這個問題的方案之一是使用新的模式:除了存儲,分析數據也采用分布式的方法。LHC的方案就類似于這種模式,對撞機中的產生的原始數據被存儲在瑞士的CERN研究設備中,另外還有一份備份數據被按批量劃分并分布到世界各地的數據中心。每個數據中心對各自的數據塊進行處理,然后在處理下一批數據前,將處理結果發送給各地區的計算機。
Boyd的系統基于所謂的 一致性算法,他介紹說:“這是一個數學優化問題,用以前的數據‘教育’這個系統來處理未來的數據。”這個算法在SPAM過濾器中也得到了很好的應用。
當問題變得太大時,一致性優化方法非常有效,數據集被分割成塊,分布在1000個“代理”中分別處理,并產生一個數據模型。關鍵是要滿足臨界條件:每個“代理”的模型可以不同,但***這些模型要達成一致。
在Boyd的系統中,這個過程是迭代的,創建一個反饋環路,所有的代理會共享初始情況的一致狀態,繼而根據新的信息更新各自的模型,并達到新的一致狀態。這個過程不斷重復,直到所有的代理都達成一致。采用這種分布優化的方法可以顯著減小每次需要傳輸的數據量。
量子計算
去年的納帕谷會議上,MIT的物理學家 Seth Lloyd引起了Sergey Brin和Larry Page的關注。在演講中Lloyd提出了一個量子版本的Google搜索引擎,Google在對用戶的搜索關鍵詞情況下,用戶也可以做查詢和收到結果。但是第二天Lloyd被告知這個方案和Google的商業計劃有沖突。Lloyd開玩笑說:“Google想要對他們的每個用戶做到了如指掌”。量子計算機可以提供強大的處理能力,對于某些復雜算法可大幅度提高速度。實際上,Google從一家加拿大公司D-Wave以1500萬美元購買了所謂的量子計算機, 雖然這個項目目前也面臨一些問題。
Aaronson認為量子計算機并不是并行地嘗試所有可能的答案,它與并行處理有著本質上的不同。普通的計算機用0或1來存儲數據,量子計算機有著更多的狀態位。比如,拋硬幣的結果只能是正面朝上或背面朝上。但從技術上來說,在看到結果前,量子狀態下的硬幣正面朝上還是背面朝上是不確定的。
量子學的宏觀解釋:著名的薛定諤貓
一個真正的量子計算機可以將信息編碼為所謂的量子比特——同時為0和1的 疊加態。這樣做可以將處理復雜問題的時間從幾年縮短到幾秒。這種設想很美好,實現起來并不容易,尤其是因為這樣一個設備對外界的干擾非常敏感,輕微的擾動都相當于將拋硬幣的結果“公之于眾”,量子的疊加態也將消失。
然而,Aaronson認為不要對量子計算機報太大期望,即使量子計算能夠實現,它們也僅適用于特定的問題。比如,模擬量子力學系統或用于經典密碼學的密碼破解,然而有一種大數據問題是量子計算可以處理的:對大量的無序數據集進行檢索,例如隨機排列的電話本。
1996年,貝爾實驗室的 Lov Grover提出了這個問題的量子計算算法,但Aaronson說:“真正實現這個算法時,你需要一個原子內存可以在量子疊加態被訪問,同時保證這種訪問不會破壞量子疊加態。”
換而言之,你需要一個量子RAM(A-RAM),Lloyd曾經開發過一個概念原型以及一個用于機器學習的應用程序,他稱之為Q-App。他認為這個系統可以在不查看個人記錄的情況下,找到數據的模式,從而保持原子的疊加態和用戶的隱私。“可以在同一時間高效地訪問這數億條數據,實際上你并沒有訪問這些數據,你只是在訪問它們的共同特征。”
Lloyd認為如果擁有一個足夠大的量子RAM,量子計算尤其適用于在大量的數據集中找出規律的機器學習算法,例如確定某個關鍵字相關聯的集群數據,或擁有共同特性的數據塊。
如果構建一個存儲了地球上所有人基因的數據庫,可以利用Lloyd的量子算法查詢不同基因的共同模式,這個過程中只會訪問一小部分個人數據,并且耗時很少。隨著人類基因組排序成本下降,以及商業基因服務的價格上升,未來很有可能會出現這樣的數據庫。假設一個基因組占60億字節的話,這可能將是全球***的數據集。
數據聚合是未來
谷歌的計算機科學家 Alon Halevy認為大數據領域的最重大突破可能將來自于數據集成——尤其是跨數據集的集成。不管你的計算機速度有多快,或計算機集群做得有多好,真正的問題還是來自于數據層面。例如,一個原始的數據集可能包括成千上萬個遍布全球的表格,看似簡單的全球咖啡生產量查詢操作,后臺整合的復雜度卻出人意料。
NASA噴氣推進實驗室資深計算機科學家兼 Apache軟件基金會董事Chris Mattmann就面臨這樣一個復雜問題,他正在進行一項研究項目,整合兩個不同來源的天氣信息:來自衛星的氣象遙感信息以及計算機模擬的天氣模型輸出。IPCC(政府間氣候變化專門委員會)會對這些天氣模型與遙感數據進行比較,以確定最適合的模型,而這些模型都采用不同類型的數據。
許多研究人員強調有必要開發靈活的工具處理不同類型的數據。Mattmann提到了一個名為Tika的Apache軟件程序,這個程序允許用戶整合1200常用文件類型的數據,但有時需要一些人工干預的工作。最終,Mattmann選擇了一個可以整合不同結構數據集的完全自動化智能軟件。
跨數據集的整合同時也需要一個協調性比較好的分布式網路系統。LHC在加州理工學院的Newman的研究小組負責監控成千上萬的處理器以及十幾個主要網絡鏈接。Newsman預測大數據計算的未來在于各智能代理間的互相協調,在網絡各個節點跟蹤數據的行為,從而識別瓶頸和調度處理任務。每個可能僅僅記錄本地發生的事情,但是會以這種方式向整個網絡共享信息。
Newman說:“不同層級中,成千上萬的代理互相協調,幫助人類理解這個復雜和分布的系統中正在發生的事情。”未來這個數據量將會更大,當這些智能代理達到數十億時,將會形成一個巨大的遍布全球的分布式智能實體。