Facebook工程師開發(fā)開源自計時設(shè)備 僅需一個PCIe插槽即可工作
大多數(shù)人可能沒有意識到我們的設(shè)備在多大程度上是由時間驅(qū)動的,無論是你的手機、你的筆記本電腦還是網(wǎng)絡(luò)服務(wù)器。在大多數(shù)情況下,設(shè)備保持準確的時間一直是一個深奧的苦差事,由有限的硬件制造商負責處理。雖然這些設(shè)備達到了它們的目的,但幾位Facebook的工程師認為必須有一個更好的方法。
因此,他們建立了一個新的更準確的計時設(shè)備,它只需要一個PCI Express(PCIe)接口,F(xiàn)acebook將其作為一個開源項目貢獻給了開放計算項目。
Facebook的生產(chǎn)工程師Olag Obleukhov說,在一個基本的層面上,所有的設(shè)備只是對NTP計時服務(wù)器進行訪問操作,以確保每個設(shè)備都報告相同的時間。他解釋說:"今天幾乎所有的電子設(shè)備都使用NTP--網(wǎng)絡(luò)時間同步協(xié)議--你的手機、手表、筆記本電腦,到處都有,它們都連接到這些NTP服務(wù)器,它們只是會問服務(wù)器,'現(xiàn)在是什么時間',隨后NTP服務(wù)器提供時間,"。
在Facebook開發(fā)出一種新的方法之前,基本上有兩種方法來檢查時間。如果你是一個開發(fā)者,你可能會使用像NTP這樣的東西作為時間檢查機制,但是像Facebook這樣的公司,在大規(guī)模工作時需要一些即使在沒有互聯(lián)網(wǎng)連接的情況下也能工作,運行這種封閉式數(shù)據(jù)中心的公司會有一個叫Stratum One的硬件設(shè)備,這是一個大盒子,放在數(shù)據(jù)中心里,除了充當時間保持者沒有其他工作。
因為這些記時盒是由少數(shù)幾家公司自行制作的,它們很牢固也很好用,但很難獲得新的功能。更重要的是,像Facebook這樣的公司無法控制這些盒子,因為它們具有專利性質(zhì)。Obleukhov和他的同事研究科學家Ahmad Byagowi開始著手解決這個問題,他們尋找一種方法,用現(xiàn)成的部件建立一個PCIe卡,可以把它插入任何有開放插槽的PC中,從而實現(xiàn)同樣的功能。
他們在iPad上畫出了第一個設(shè)計圖,并開始將這一設(shè)想制作成原型。一個時間裝置依賴于幾個關(guān)鍵部件:一個GNSS接收器和所謂的高穩(wěn)定性振蕩器。在一篇描述該項目的博文中,Obleukhov和Byagowi維解釋了這兩個部分的作用。
"這一切都從一個GNSS接收器開始,它提供一天中的時間(ToD)以及每秒1個脈沖(PPS)。當接收器得到高穩(wěn)定性振蕩器(如原子鐘或烤箱控制的晶體振蕩器)的支持時,它可以提供納秒級精度的時間。這使得在PCIe卡上放一個計時裝置成為可能的一件事是原子鐘/振蕩器的微型化進展。
當設(shè)計開始形成時,工程師們決定使其具有靈活性,以使工程師們能夠發(fā)揮基本設(shè)計的作用,并將符合他們需要的任何部件放入其中。有些人可能需要高度復雜的昂貴部件,但根據(jù)需求的不同也可以用更便宜的部件。
他們還在早期決定將設(shè)計過程開源,并讓開放計算項目參與進來,以便其他公司和工程師能夠為設(shè)計做出貢獻?,F(xiàn)在已經(jīng)有十幾家供應(yīng)商參與了這個項目,并有許多種類似的計時器被制造出來,包括由奧Obleukhov設(shè)計的這種PCIe卡片。