利用原子鐘授時現已成為資料中心不可或缺的組成部分。目前,通過全球定位系統(GPS)和其他全球導航衛星系統(GNSS)網路傳輸的原子鐘時間已使全球各地的伺服器實現了同步,並且部署在各個資料中心的原子鐘可在傳輸時間不可用時保持同步。
無論是由於系統需求還是合規性,這種出色的同步性能都至關重要,可確保每年在全球範圍內收集的資料(以皆位元組(Zettabyte)為單位)能夠得到有效存儲並用於許多應用。原子的量子性質可保持精確的時間,是確保未來能夠以更快的速度處理更多資料的關鍵所在,而具有諷刺意味的是,就在幾年前,原子的量子性質還被視為提升資料處理能力和速度的最大阻礙。
1965年,Gordon Moore預測IC上的電晶體數量每年翻一倍。這一數字最終被修改為每兩年翻一倍。隨著電晶體密度的增加,速度有了顯著提升,成本和功耗也不斷下降。
在1965年,人們可能很難想像,2021年時在一個半導體上佈置500億個電晶體是一種現實需求,但正如半導體技術隨著時代不斷發展,應用需求也在不斷變化。手機、金融交易和DNA圖繪製等應用都非常依賴單片機每秒可執行的運算次數,而這一數位與晶片上的電晶體數量密切相關。
遺憾的是,由於物理學限制,摩爾定律正在迅速走向終結。隨著晶圓生產工藝節點現已達到10奈米(nm)以下,電晶體的大小僅為矽原子的10到50倍左右。在這個尺度上,原子和自由電子的大小以及量子特性顯著阻礙了電晶體大小的進一步縮減。從本質上講,可以將原子視作推翻這一定律的最終原因。
儘管摩爾定律終將消亡,但是,對提高處理能力的需求卻不斷增加。隨著物聯網(IoT)、資訊流服務、社交媒體貼文和自動駕駛汽車的出現,每天產生的資料量會繼續呈指數增長。
據估計,2021年每天產生的資料量為2.5艾位元組(Exabyte, 縮寫為EB)。當前使用的艾位元組資料庫每秒可處理超過10萬個事務(一個事務包含許多次運算),而在可預見的將來,資料庫的規模和每秒處理的事務數將持續增加。
資料量的這種爆炸式增長,再加上資料必須達到的寫入、讀取、複製、分析、操作和備份速度,這些因素要求資料中心架構師找到一種能夠繞過摩爾定律終結的方法。對於採用分散式資料庫的資料中心,架構師採用了水準擴展方法,即將資料庫分佈在一個集群中的多個伺服器上,而不是整個資料庫駐留在一個伺服器上。
在這種配置下,集群本質上用作一台巨型機器,因此系統的大小和速度現在受到資料中心的外形尺寸而非原子大小的限制。
軟體工程師現在的職業是編寫能夠實現水準擴展的代碼。但是,要使各種軟體都正常工作,所有機器都必須同步,否則會違反因果關係的概念。
什麼是因果關係?舉個最簡單的示例。假設您用兩台攝影機來記錄100公尺短跑的圖像,每台攝影機都有自己的內部時鐘。第一台攝影機位於起跑線上。第二台攝影機位於終點線上。兩個感測器都在進行連續拍攝,並用各自時鐘的時間給每個圖像添加時間戳記。
要確定比賽中獲勝的短跑選手的正式成績,將檢查第一台攝影機的圖像以瞭解第一位選手離開起跑點時的時間點,然後用終點線上的攝影機圖像上該選手沖過終點線時的時間減去該時間戳記。
要實現此目的,兩台攝影機的同步精度必須都達到可接受的偏差水準。如果時鐘的同步精度只有±0.05秒,那麼便無法確定成績為9.6秒的選手是否確實打破了9.58秒的世界紀錄。如果它們與體育場時鐘的同步精度只有±5秒怎麼辦?
想像一下這樣的場景:從體育場的主時鐘觀察,一場比賽正好在下午12:00:00:00開始。第一位選手在下午12:00:09:60時沖過終點線。從體育場主時鐘的角度來看,正式比賽成績是9.6秒。
但是,如果第一台攝影機的時鐘正好快5秒,而第二台攝影機的時鐘正好慢5秒呢?比賽將在下午12:00:05:00正式開始,在下午12:00:04:60結束。比賽將在開始前0.4秒正式結束,這會打破世界紀錄並推翻物理定律,目前的紀錄保持者很有可能會不公正地遭到所有贊助商的棄用。
圖1:時鐘偏差會導致因果關係問題。這種情況下,比賽開始前就正式結束了。
同樣的因果關係原則在資料庫中也十分重要。事務記錄更新必須按照它們發生的順序出現在資料庫中。如果您期望在通過直接取款支付每月房貸之前直接存入自己的工資,而銀行的資料庫沒有按正確的順序記錄這些事務,那麼您可能會被收取透支費。在一台機器上,因果關係錯誤很容易防止,但在多個伺服器上,每個伺服器都有自己的內部時鐘,伺服器必須同步並為每個事務加上時間戳記。
要實現此目的,必須有一個伺服器充當參考時鐘,就像體育場的時鐘,它必須採用最大程度減小每個伺服器時鐘的時間誤差的方式,將時間分配給每個伺服器。每個時間戳記的偏差(比賽中為±5秒)形成一個時間包絡,其長度為時鐘偏差的兩倍(比賽中為10秒)。對於分散式資料庫,一秒內可以容納的非重疊時間包絡數量應當至少與系統預期的每秒事務數量大致相同。
概率、因果關係的關鍵性和實現成本最後都會在最終解決方案中發揮作用,但這種關係是一個很好的起點。時間戳記偏差為±1毫秒的系統將具有2毫秒(ms)的時間包絡,一秒內最多可容納500個非重疊時間包絡。此系統可以支援每秒執行約500個事務。
乙太網路授時技術也稱為網路時間協定(NTP)和精確時間協議(PTP),用於同步資料中心的分散式資料庫中的所有伺服器。這些協定可以確保區域網路能夠以亞毫秒(NTP)或亞微秒(PTP)的偏差來分配時間,從而支持每秒執行數千(NTP)或數百萬(PTP)個事務。
遺憾的是,即使憑藉這些解決方案可以繞過原子帶來的摩爾定律消亡,物理學仍以光速的形式在分散式資料庫的道路上設置了另一個障礙。
試想一下,一個使用PTP進行準確同步的分散式資料庫在加州聖約瑟運行,每秒可輕鬆執行10萬個事務,且不會產生任何因果關係問題。一位資料庫架構師正坐在自己位於紐約的辦公室裡,他的老闆要求他更新大量記錄。
這名架構師希望能夠充分利用其新資料庫並展示系統的能力。他計畫每秒執行10萬個事務。
為了根據請求更新記錄,他創建了一個簡單的事務,即僅當第一個記錄的值大於第二個記錄時,才會將第一個記錄的值與第二個記錄相加。如要達到這一目的,他必須對這兩個記錄發出讀取請求。然後,他在紐約的本地機器對這些值進行比較,然後在需要時向第二個記錄發送寫命令。
完成此操作後,他想要接著執行下一個事務,即將第三個值與新的總和進行比較。如果新的總和大於第三個記錄,那麼將使用第三個記錄替換總和。他想對600萬條記錄重複此操作。由於資料庫每秒能夠處理10萬個事務,他認為此任務將在大約一分鐘內完成。他告訴老闆,他將在五分鐘內更新記錄,然後離開去喝杯咖啡。
喝咖啡的時候,他讀到一個故事,內容是新的100公尺短跑成績是負0.4秒,這違背了物理定律,並且之前的紀錄保持者因為失去了所有的代言費正在起訴體育場負責人。架構師自顧自地笑了起來,認為體育場應該聘請他作為同步專家。
五分鐘後他回到辦公桌前,沮喪地發現他的資料庫更新只完成了不到1,500個事務。他難過地意識到自己的錯誤,並準備將自己的簡歷發給那個體育場,他希望他的PTP部署不會出現同樣的問題。
問題出在哪裡?光速將紐約和聖約瑟之間理論上最快的資料傳輸速度限制在13.7ms。
遺憾的是,現實世界的交易處理速度甚至更慢。即使兩個地點之間有專用的光纖鏈路,光纖的折射率、光纖的實際路徑和其他系統問題也會延長傳輸時間。因此,僅僅從紐約傳輸一次,就需要40到50毫秒的時間才能到達聖約瑟。
但是,此事務中有四個獨特的操作。有兩個可以同時發生的讀操作,隨後必須將它們發送回紐約。往返過程需要80到100毫秒。然後,在對兩個值進行比較後,就會發出寫操作,並且必須發回寫確認以指示寫操作已完成,然後才能開始下一個事務。
突然之間,資料庫每秒能否執行10萬個事務已無關緊要,因為距離將系統每秒的處理能力限制為不超過5個事務。要完成600萬個事務,此系統需要13天的時間,這樣便有足夠的時間再喝幾杯咖啡,甚至更新一份簡歷。這種延遲稱為通信延遲。
但就像摩爾定律一樣,資料庫架構師想出了規避延遲的方法。在使用者附近創建資料庫副本,這樣他們便可隨意使用資料,而不必將信號發送到全國各地。
定期比較和協調複製以確保一致性。在協調過程中,事務時間戳記用於確定事務的實際順序,並且當存在不可協調的差異時(例如事務時間包絡重疊時),有時會回滾記錄。減少時鐘偏差可以減少複製的實例中不可協調的差異數量,因為時間包絡增多會減少重疊的概率。這可提高效率並降低資料損壞的機率。
但現在,時間戳記不僅在每個資料中心內部必須做到精確,在不同的資料中心之間也必須精確,這些資料中心可能相隔數千英里,並通過雲相互連接。由於需要一個偏差極低且在兩個地點均可隨時獲得的外部參考,因此這項任務變得愈加困難。
此時,資料庫架構師以前的敵人原子登場。當原子忙於廢除摩爾定律時,其亞原子粒子卻在忙於自旋。原子核內的中子和質子一直在旋轉,而與此同時電子則一邊忙於圍繞原子核公轉,一邊自旋。這類似於地球在繞太陽公轉的同時自轉。
電子可以圍繞自身的軸順時針或逆時針自旋。考慮到人體內約有7*10^27(7後面有27個零)個原子,所有亞原子粒子都在我們體內自旋,令人驚訝的是我們並沒有一直頭暈目眩。(註:亞原子粒子並不是真的在忙著自旋和公轉,它們實際上是在忙著給我們提供概率波函數和磁相互作用,這會讓我們獲得類似於它們進行自旋和公轉時的結果。但是,如果想到所有的自旋會讓您頭暈目眩,那麼試圖理解量子物理學的現實肯定會更令人厭惡。)
圖2:具有核和價電子的概念性原子,具有核自旋、電子自旋和軌道自旋。
如果電子吸收特定精確頻率的微波輻射,繞電子軸的自旋方向會改變。如果地球上發生這種情況,太陽會突然從東方落下,從西方升起。
原子鐘這種機器專門用於檢測電子自旋狀態,然後通過微波輻射改變方向。頻率變化取決於元素、同位素和電子的激發態。
在機器確定頻率(即所謂的超精細躍遷頻率)後,便可將週期確定為頻率的倒數,這樣便可計算週期數來確定經過的時間。國際上對秒的定義是誘導銫原子軌道外層內電子的超精細躍遷所需的9,192,631,770個輻射週期。
原子鐘是世界上最穩定的商用時鐘。一副紙牌大小的原子鐘稱為晶片級原子鐘(CSAC),其24小時內的漂移為百萬分之一秒,而冰箱大小的原子鐘稱為氫微波激射器,其24小時內的漂移僅為十萬億分之一秒。巧合的是,十萬億分之一也大約是氫原子半徑與百米短跑選手和現已失業的紐約資料中心架構師身高的比值。
憑藉這些原子鐘提供的精度,可以為在東京、倫敦、紐約、廷巴克圖或世界其他任何地方的資料中心運行的分散式資料庫提供大約50萬到500億個非重疊時間包絡。
時間如何從這些原子鐘到達所有資料中心?世界協調時間(UTC)是通過衛星、光纖網路甚至網路分配的全球時間。UTC本身源自位於世界各地的國家實驗室和授時站的一系列高精度原子鐘。UTC的提供組織會收到一份報告,其中載明瞭源自這些時鐘的UTC時間以及它們各自與計算出的UTC的偏移量。然後,這些實驗室和其他設施將時間傳送到世界各地。
UTC報告每月公佈一次,告訴這些國家實驗室他們在上一個月與UTC的微小時間偏移量。從技術上講,直到事發一個月後,我們才知道準確的時間偏差。更糟糕的是,由於地球自轉和我們與可觀測恆星的相對位置的變化,UTC會定期增加額外的秒數,即躍遷秒。雖然這可使地球與宇宙保持一致,但它會引起資料中心和100公尺短跑成績的混亂。
資料中心用來獲取UTC的常用方法有兩種: 通過網路使用公開的NTP時間伺服器,以及通過衛星使用GPS或GNSS網路。雖然在分散式資料庫的早期部署期間,通過網路上的公共NTP時間伺服器進行授時很常見,但固有的性能、可追溯性和安全問題已經促使人們放棄了這種解決方案。
儘管GPS和其他GNSS通常被視為定位和導航系統,但它們實際上是精確授時系統。接收器的位置和時間取決於信號以光速從多個衛星傳輸到接收器的傳輸時間。極具諷刺意味的是,這是物理學原理引發問題的又一個案例(此案例中是光速而不是原子),但也有助於解決問題。
這些衛星有自己的機載原子鐘,這些原子鐘與從地面站傳輸到衛星的UTC同步。利用這種方法獲取UTC可以提供5ns範圍內的時間偏差,從而實現每秒1億個時間包絡。
這種方法比公共NTP伺服器更可靠、更精確,雖然這些信號可能會被太陽風暴或蓄意的信號干擾等事件中斷,但在出現這些信號時,可以在每個單獨的資料中心放置與衛星信號同步的備份時鐘,以便在中斷期間提供所需的偏差水準。
圖3:數據庫事務速率的發展歷程,以及實現和禁用的技術。
隨著未來對獲取、存儲和處理資料的需求不斷增加,我們需要具有極低偏差的新型原子鐘技術和時間傳輸系統。目前,國家授時實驗室正在開發一種新型原子鐘,用於研究電子躍過軌道層時發生的光學躍遷。這些原子鐘的頻率穩定性可達到萬億分之一Hz,最終將用於重新定義秒這個單位。
通過專用光纖鏈路或機載雷射器實現的信號傳輸已經顯著提高了傳輸精度。憑藉這些不斷湧現的創新資料,原子和光將繼續它們之間複雜的愛恨交織關係,從而能夠以更快速度處理越來越多的資料,而不會出現一致性或因果關係問題。
本文刊登於EDN China網站
從無線連接、更快的處理和運算、網路安全機制、更複雜的虛擬實境(VR)到人工智慧(AI)等技術,都將在未來的每一個嵌入式系統中發揮更關鍵功能。「嵌入式系統設計研討會」將全面涵蓋在電子產業最受熱議的「智慧」、「互連」、「安全」與「運算」等系統之相關硬體和軟體設計。
會中將邀請來自嵌入式設計相關領域的研究人員、代表廠商以及專家,透過專題演講、產品展示與互動交流,從元件、模組到系統,從概念設計到開發工具,深入介紹嵌入式系統設計領域的最新趨勢、創新和關注重點,並深入分享關於嵌入式系統設計的經驗、成果以及遇到的實際挑戰及其解決方案。
加入LINE@,最新消息一手掌握!