Facebook工程師開發開源自計時設備 僅需一個PCIe插槽即可工作

大多數人可能沒有意識到我們的設備在多大程度上是由時間驅動的,無論是你的手機、你的筆記本電腦還是網絡伺服器。在大多數情況下,設備保持准確的時間一直是一個深奧的苦差事,由有限的硬體製造商負責處理。雖然這些設備達到了它們的目的,但幾位Facebook的工程師認為必須有一個更好的方法。

因此,他們建立了一個新的更准確的計時設備,它只需要一個PCI Express(PCIe)接口,Facebook將其作為一個開源項目貢獻給了開放計算項目。

Facebook的生產工程師Olag Obleukhov說,在一個基本的層面上,所有的設備只是對NTP計時伺服器進行訪問操作,以確保每個設備都報告相同的時間。他解釋說:”今天幾乎所有的電子設備都使用NTP–網絡時間同步協議–你的手機、手錶、筆記本電腦,到處都有,它們都連接到這些NTP伺服器,它們只是會問伺服器,’現在是什麼時間’,隨後NTP伺服器提供時間,”。

在Facebook開發出一種新的方法之前,基本上有兩種方法來檢查時間。如果你是一個開發者,你可能會使用像NTP這樣的東西作為時間檢查機制,但是像Facebook這樣的公司,在大規模工作時需要一些即使在沒有網際網路連接的情況下也能工作,運行這種封閉式數據中心的公司會有一個叫Stratum One的硬體設備,這是一個大盒子,放在數據中心里,除了充當時間保持者沒有其他工作。

因為這些記時盒是由少數幾家公司自行製作的,它們很牢固也很好用,但很難獲得新的功能。更重要的是,像Facebook這樣的公司無法控制這些盒子,因為它們具有專利性質。Obleukhov和他的同事研究科學家Ahmad Byagowi開始著手解決這個問題,他們尋找一種方法,用現成的部件建立一個PCIe卡,可以把它插入任何有開放插槽的PC中,從而實現同樣的功能。

Facebook工程師開發開源自計時設備 僅需一個PCIe插槽即可工作

Facebook的計時PCI卡

他們在iPad上畫出了第一個設計圖,並開始將這一設想製作成原型。一個時間裝置依賴於幾個關鍵部件:一個GNSS接收器和所謂的高穩定性振盪器。在一篇描述該項目的博文中,Obleukhov和Byagowi維解釋了這兩個部分的作用。

“這一切都從一個GNSS接收器開始,它提供一天中的時間(ToD)以及每秒1個脈沖(PPS)。當接收器得到高穩定性振盪器(如原子鍾或烤箱控制的晶體振盪器)的支持時,它可以提供納秒級精度的時間。這使得在PCIe卡上放一個計時裝置成為可能的一件事是原子鍾/振盪器的微型化進展。

當設計開始形成時,工程師們決定使其具有靈活性,以使工程師們能夠發揮基本設計的作用,並將符合他們需要的任何部件放入其中。有些人可能需要高度復雜的昂貴部件,但根據需求的不同也可以用更便宜的部件。

他們還在早期決定將設計過程開源,並讓開放計算項目參與進來,以便其他公司和工程師能夠為設計做出貢獻。現在已經有十幾家供應商參與了這個項目,並有許多種類似的計時器被製造出來,包括由奧Obleukhov設計的這種PCIe卡片。

來源:cnBeta