国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

濰坊設(shè)計(jì)網(wǎng)站建設(shè)百度建站云南服務(wù)中心

濰坊設(shè)計(jì)網(wǎng)站建設(shè),百度建站云南服務(wù)中心,免費(fèi)logo在線制作字體,專業(yè)做足球體彩網(wǎng)站【引子】“The Last CPU”(https://doi.org/10.1145/3458336.3465291),ACM上的這一篇論文非常有趣,核心思想是如果計(jì)算機(jī)的體系結(jié)構(gòu)中沒有了CPU,那么,操作系統(tǒng)又會是怎樣的呢?......不敢私藏&am…

?【引子】“The Last CPU”(https://doi.org/10.1145/3458336.3465291),ACM上的這一篇論文非常有趣,核心思想是如果計(jì)算機(jī)的體系結(jié)構(gòu)中沒有了CPU,那么,操作系統(tǒng)又會是怎樣的呢?......不敢私藏,分享給大家。失去了,才可能知道珍惜,試圖減壓的時候不妨去讀一點(diǎn)論文,呵呵。

CPU的設(shè)計(jì)目的很單一,對存儲的內(nèi)存執(zhí)行邏輯操作。協(xié)處理器(如IO通道處理器、中斷控制器、定位點(diǎn)處理器)被添加到系統(tǒng)中,以提供CPU沒有的功能,因?yàn)樗鼈兛梢愿?、更有效地?zhí)行某些特定的任務(wù)。它們通過允許CPU專注于應(yīng)用程序邏輯和一般的系統(tǒng)功能來提高系統(tǒng)性能,而更簡單的協(xié)同處理器則負(fù)責(zé)處理普通的任務(wù)。

64e1b06b2356d227e1c50ebf82599306.jpeg

1. 操作系統(tǒng)可以沒有CPU嗎?

對于高性能的應(yīng)用程序而言,情況是完全相反的。可編程設(shè)備負(fù)責(zé)應(yīng)用程序邏輯,而CPU只需要在這些任務(wù)中支持它們。眾所周知,比起在通用CPU上運(yùn)行的軟件,應(yīng)用程序?qū)S玫挠布梢詧?zhí)行更多的任務(wù)。加速器為許多應(yīng)用程序,如圖像識別、計(jì)算機(jī)視覺,關(guān)鍵值存儲,數(shù)據(jù)倉庫,大數(shù)據(jù),深度學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)等,通常用于降低整體系統(tǒng)成本并提高性能超出通用指令集的能力。

在過去,只有程序中計(jì)算最密集的部分被添加到加速器上。最近,添加整個應(yīng)用程序變得越來越普遍,比如SSD、GPU和FPGA等加速器,而CPU只需要用于初始設(shè)置和錯誤處理。我們相信系統(tǒng)已經(jīng)發(fā)展到CPU是一個可以完全刪除的附件

額外的加速器功能似乎是一個可行的替代方案。為了提高性能,已經(jīng)對基本指令集進(jìn)行了擴(kuò)展,以對通用CPU提供類似加速器的能力,如矢量指令和加密。芯片現(xiàn)在正被用于進(jìn)一步提高CPU的密度和降低制造成本。這些額外的功能使已經(jīng)很復(fù)雜的CPU驗(yàn)證更加復(fù)雜化,需要更多的硅面積,這增加了CPU的基本成本和能源消耗,而這些功能可能從未使用過。此外,發(fā)布CPU的開發(fā)周期可能需要很多年時間,這意味著現(xiàn)有的系統(tǒng)不會容易升級或更改。CPU設(shè)計(jì)的通用方法已經(jīng)開始達(dá)到一些困難的限制。

設(shè)計(jì)用于解決特殊問題的硬件組件正在變得普遍,它們可以做更多的任務(wù),而且通常比通用CPU要快得多。從有效性來看,系統(tǒng)管理類似:一旦關(guān)鍵的處理任務(wù)被加載到其他硬件上,許多cpu就過于強(qiáng)大和昂貴。

以加速器為中心的集中控制系統(tǒng),CPU只處理初始化、協(xié)調(diào)和錯誤處理等普通任務(wù)。分散的控制打破了對昂貴的通用CPU依賴,并可以提高性能??刂迫蝿?wù)可以歸結(jié)為簡單的操作,可以處理在其他硬件上,與加速器和可編程設(shè)備的合作。

操作系統(tǒng)提供了三個關(guān)鍵功能:虛擬化,其中包括多路復(fù)用和地址轉(zhuǎn)換、隔離和資源管理。這些功能從集中式操作系統(tǒng)內(nèi)核轉(zhuǎn)移到一個減少由自管理的硬件組成的傳統(tǒng)模型。缺少的組件是設(shè)備相互協(xié)作所需的系統(tǒng)管理總線。正是這個總線來執(zhí)行對安全敏感的配置,并負(fù)責(zé)任務(wù)生命周期管理(初始化、設(shè)置、拆卸)。引入系統(tǒng)管理總線作為一個專門的控制平面,結(jié)合自管理設(shè)備為一個更簡單的數(shù)據(jù)平面,使從系統(tǒng)中完全刪除CPU。操作系統(tǒng)仍然是控制平面,但不再運(yùn)行在CPU上。

cccf4ca6afb0c26cb44d9d590accc702.jpeg

2. 打破對CPU的依賴

如果沒有了CPU,計(jì)算機(jī)系統(tǒng)中的設(shè)備應(yīng)該具有什么特性呢?

(1)設(shè)備必須是自管理的,設(shè)備必須管理它自己的內(nèi)部狀態(tài)。它必須公開它所提供的服務(wù),并為服務(wù)的每個實(shí)例提供一個單獨(dú)的上下文(多路復(fù)用),以確保應(yīng)用程序之間的隔離。

(2)設(shè)備必須自主通信,設(shè)備必須能夠發(fā)現(xiàn)它所需要的服務(wù)并請求它們,而不依賴于外部實(shí)體來控制它。

每個操作系統(tǒng)的功能——虛擬化(包括多路復(fù)用和地址轉(zhuǎn)換)、隔離和資源管理,都是創(chuàng)建一個安全和可擴(kuò)展的系統(tǒng)所必不可少的。打破對這些功能的責(zé)任,并將它們分配到設(shè)備和總線之間。因此,該系統(tǒng)由系統(tǒng)總線協(xié)調(diào)的自管理設(shè)備組成。下面的說明解釋了如何在硬件組件之間劃分操作系統(tǒng)的職責(zé)。

2.1 設(shè)備的自我管理

一個設(shè)備負(fù)責(zé)運(yùn)行應(yīng)用程序邏輯,并使用其他設(shè)備可能使用的一個或多個資源。一個設(shè)備可以使用任何資源類型的組合(物理內(nèi)存、FPGA塊、GPU核心、存儲空間等),將每個服務(wù)都作為一個服務(wù)來公開。設(shè)備還可以提供系統(tǒng)維護(hù)的管理服務(wù)。例如,在內(nèi)部存儲其應(yīng)用程序的設(shè)備必須公開一個可用于上傳新的二進(jìn)制鏡像的加載服務(wù)。自我管理,意味著設(shè)備必須能夠代表系統(tǒng)中的設(shè)備管理其資源的分配,并以標(biāo)準(zhǔn)化的方式公開它們。要做到這一點(diǎn),每個設(shè)備必須實(shí)現(xiàn)邏輯來將其資源復(fù)用到多個實(shí)例中,提供實(shí)例之間的隔離并處理錯誤條件。

設(shè)備很可能會支持多個客戶端或與任何特定服務(wù)的連接。例如,公開一個系統(tǒng)的智能SSD可以允許多個i由多個應(yīng)用程序同時打開。在這種情況下,設(shè)備必須實(shí)現(xiàn)一種隔離機(jī)制,以防止實(shí)例之間的數(shù)據(jù)泄漏。設(shè)備可以在硬件或軟件中實(shí)現(xiàn)對其資源的隔離。硬件中的細(xì)粒度資源分配已經(jīng)在RDMA控制器及網(wǎng)卡等設(shè)備中實(shí)現(xiàn),在這些設(shè)備中,硬件被劃分為多個獨(dú)立公開和控制的實(shí)例。

軟件共享的方式在設(shè)備包含一個嵌入式CPU中很常見。無論實(shí)現(xiàn)方式如何,該設(shè)備都必須能夠以一種系統(tǒng)和標(biāo)準(zhǔn)的方式公開其功能,以便希望使用該功能的其他設(shè)備易于使用。

VIRTIO是用于從虛擬機(jī)管理虛擬設(shè)備的標(biāo)準(zhǔn)化協(xié)議。VIRTIO可以為從自我管理的設(shè)備中公開資源提供一個理想的接口。與其他協(xié)議類似,它是基于一組內(nèi)存描述符的單向隊(duì)列的。硬件供應(yīng)商已經(jīng)開始生產(chǎn)符合VIRTIO標(biāo)準(zhǔn)的真正設(shè)備了,其主要優(yōu)點(diǎn)是,許多與VIRTIO兼容的設(shè)備都可以使用一個驅(qū)動程序進(jìn)行操作。以標(biāo)準(zhǔn)和一致的方式暴露所有資源和服務(wù),簡化了使用這些設(shè)備所需的邏輯。VIRTIO協(xié)議能夠跨不同級別的抽象(nic、磁盤、控制臺、套接字等)描述廣泛的設(shè)備。所有這些都以一種一致的方式運(yùn)作。

feca3098948ec88c239af5fb5766401e.png

2.2 系統(tǒng)總線

系統(tǒng)總線專門用于設(shè)備間的通信,系統(tǒng)總線(如圖1所示)作為控制平面,使設(shè)備能夠相互控制,但不攜帶數(shù)據(jù)。系統(tǒng)總線只提供了一種用于設(shè)備通信的機(jī)制,并且不包含任何策略,沒有實(shí)體看到整個系統(tǒng),也沒有全局狀態(tài)復(fù)制。該總線使設(shè)備能夠以一種標(biāo)準(zhǔn)的方式通信其資源需求,并使設(shè)備能夠廣播它們的能力,以便其他設(shè)備可以發(fā)現(xiàn)它們。這是通過設(shè)備在總線上發(fā)送消息以請求諸如內(nèi)存分配或打開文件之類的服務(wù)來實(shí)現(xiàn)的,作為一個特權(quán)設(shè)備運(yùn)行,是維護(hù)虛擬化的機(jī)制。

2.2.1 系統(tǒng)初始化

當(dāng)系統(tǒng)啟動時,系統(tǒng)中的所有硬件設(shè)備都會經(jīng)歷一段初始化期間,在此期間它們可以執(zhí)行自檢。當(dāng)設(shè)備確定它運(yùn)行正常時,它將向系統(tǒng)總線發(fā)送一條消息,系統(tǒng)總線將記錄它是活動的。之后,該設(shè)備將加載其應(yīng)用程序,其中可能有很多。應(yīng)用程序可以需要由其他設(shè)備提供的一個或多個服務(wù)。例如,網(wǎng)卡可能需要讀取存儲在SSD上的文件中的數(shù)據(jù)。在設(shè)備可以使用一個資源之前,它必須首先發(fā)現(xiàn)系統(tǒng)中哪些設(shè)備可以提供對該資源的訪問。設(shè)備發(fā)現(xiàn)機(jī)制類似于即插即用套件或USB設(shè)備附件消息中的簡單服務(wù)發(fā)現(xiàn)協(xié)議。

2.2.2 地址翻譯

一個應(yīng)用程序可以分布在許多設(shè)備上,但唯一標(biāo)識它的是它的虛擬地址空間。與在當(dāng)前部署的系統(tǒng)中一樣,地址轉(zhuǎn)換仍然是共享內(nèi)存中數(shù)據(jù)隔離的基石。從安全的角度來看,設(shè)備負(fù)責(zé)自己的映射不是一個好主意,因?yàn)槭軗p的設(shè)備可能會獲得它未被授權(quán)的資源。因此,特權(quán)系統(tǒng)總線有責(zé)任通過更新頁表來創(chuàng)建虛擬-物理映射。同樣,也不能允許資源控制器直接訪問其他設(shè)備的IO MMU,因?yàn)檫@將導(dǎo)致安全漏洞。相反,系統(tǒng)總線只有在特定資源的控制器指示設(shè)備時,系統(tǒng)總線更新設(shè)備的頁表。

2.2.3 內(nèi)存管理

虛擬內(nèi)存管理對于在同一應(yīng)用程序的不同組件之間共享內(nèi)存是必要的,同時保護(hù)該內(nèi)存免受其他應(yīng)用程序的影響。這在很大程度上是通過IOMMU來完成的,它可以從每個設(shè)備中訪問物理內(nèi)存,就像今天通常要做的那樣。在分配內(nèi)存時,系統(tǒng)總線提供了更新虛擬到物理映射的機(jī)制,但不提供策略。映射由內(nèi)存控制器設(shè)置,內(nèi)存控制器在內(nèi)部為每個應(yīng)用程序管理自己的分配表。這些映射被發(fā)送到系統(tǒng)總線,系統(tǒng)總線為請求設(shè)備的IO MMU編寫適當(dāng)?shù)捻摫怼?/p>

2.2.4 協(xié)議支持

通過系統(tǒng)總線進(jìn)行協(xié)調(diào)的設(shè)備將被要求遵守總線協(xié)議。這與遵守現(xiàn)有的總線協(xié)議沒什么不同,例如PCIe。每個設(shè)備都需要符合最低限度的行為來與其他設(shè)備進(jìn)行互操作和共享服務(wù)。操作系統(tǒng)通過控制器特殊的接口與設(shè)備進(jìn)行通信,如USB控制器。設(shè)備和故障控制器已經(jīng)通過設(shè)備上的硬件和軟硬件參與了這些控制協(xié)議。這種通信將被更高層次的協(xié)議所取代,以直接從一個設(shè)備請求服務(wù)。系統(tǒng)總線協(xié)議不會比前面提到的許多現(xiàn)有控制協(xié)議有更復(fù)雜的計(jì)算量或者更復(fù)雜的邏輯。因此,目前存在的大多數(shù)設(shè)備和控制器將不需要對其硬件需求進(jìn)行重大更改,以支持系統(tǒng)總線。

701c56906ce2d6cbabd85ff15a71276e.jpeg

3. 數(shù)據(jù)平面

接下來,可能需要互連的兩個不同的功能:內(nèi)存訪問數(shù)據(jù)平面和設(shè)備連接控制平面。從系統(tǒng)設(shè)計(jì)和性能的角度來看,這些功能應(yīng)該是分開的。在傳統(tǒng)的系統(tǒng)中,CPU負(fù)責(zé)在初始化過程中設(shè)置地址空間。由于我們不能依賴于CPU,所以在設(shè)置虛擬地址空間之前,必須有一個獨(dú)立的尋址設(shè)備的方法。PCIe通過通過物理地址(總線、設(shè)備、功能)尋址設(shè)備,通過標(biāo)準(zhǔn)的節(jié)點(diǎn)空間和BAR區(qū)域提供內(nèi)存訪問和一定程度的設(shè)備協(xié)調(diào),部分地實(shí)現(xiàn)了這兩個功能。如果大多數(shù)設(shè)備將支持多個虛擬地址空間(每個應(yīng)用程序一個),那么他們必須能夠選擇每個內(nèi)存操作所使用的虛擬地址空間。內(nèi)存總線必須具有高吞吐量和低延遲,而系統(tǒng)管理總線則不需要。

另一方面,系統(tǒng)管理總線必須能夠處理消息,這樣它才能代表應(yīng)用程序更新管理表。雖然設(shè)計(jì)一個包含這兩種功能(高速內(nèi)存訪問和消息解碼)的總線并不是不可能的,但我們沒有看到一個令人信服的理由來組合它們。有許多現(xiàn)有的系統(tǒng)互連似乎是很好的候選者,如PCIe、CCIX、openCAPI 和CXL。

3.1 通知

通知是一種讓設(shè)備表示需要注意的方法。這可能是由正常操作引起的,例如通知一些請求的數(shù)據(jù)已經(jīng)準(zhǔn)備好了。它也可以用來表示一個錯誤的條件,例如作為由于無效的虛擬地址而導(dǎo)致的DMA事務(wù)失敗。對CPU的通知通常使用中斷發(fā)送,但也可以通過互連作為內(nèi)存寫入到一個特殊地址的方式發(fā)送。這類似于用于實(shí)現(xiàn)PCI的MSI(消息信號中斷)的方法。

3.2 緩存一致性

在沒有CPU的系統(tǒng)中,緩存一致性具有不同的意義。高速緩存的目的是通過避免對主存的昂貴訪問來提高CPU的性能。將緩存視為屬于內(nèi)存層次結(jié)構(gòu)是很方便的,這掩蓋了大多數(shù)緩存駐留在同一個物理包中的事實(shí)。因此,對于沒有CPU的系統(tǒng),必須仔細(xì)考慮緩存和緩存一致性的位置和目的。由于緩存是設(shè)備的私有的,如果設(shè)備只使用內(nèi)存與其他設(shè)備共享數(shù)據(jù),緩存將不會提供太多好處。設(shè)備和應(yīng)用程序肯定會繼續(xù)使用大量的RAM,并將大量利用設(shè)備中的緩存層次結(jié)構(gòu)(例如GPU)。然而,緩存一致性只在依賴于不同處理單元之間的隱式內(nèi)存共享的編程模型中。許多分布式系統(tǒng)都依賴于顯式的消息傳遞,并完全丟棄一致性。第2節(jié)中提到的大多數(shù)互連都支持緩存一致性消息,但不需要它們。簡而言之,每個設(shè)備都可以根據(jù)其硬件能力和應(yīng)用程序的需要來選擇是否參與系統(tǒng)的高速緩存一致性。

ed5265efb324c5717519abc3f5b907ae.jpeg

4. 無CPU 操作系統(tǒng)的暢想

某些智能網(wǎng)卡和智能ssd可以相對容易地通過監(jiān)控軟件進(jìn)行增強(qiáng),沒有的硬件組件是系統(tǒng)總線。為了完成這個無CPU 操作系統(tǒng),需要一個獨(dú)立的內(nèi)存控制器和互連控制器,類似于英特爾的內(nèi)存控制器Hub。

暢想一下,可以在CPU上運(yùn)行的軟件中模擬系統(tǒng)總線的操作。每個自我管理的設(shè)備都會像往常一樣,從系統(tǒng)總線發(fā)送和接收消息,但這些消息將通過共享內(nèi)存通過隧道傳輸?shù)杰浖M器。該模擬器會攔截任何內(nèi)存分配消息,并相應(yīng)地重新編程IO MMU。模擬器還需要扮演任何還無法嵌入到設(shè)備中的資源監(jiān)視器的角色:例如,內(nèi)存控制器。

構(gòu)建一個模擬的無CPU系統(tǒng),將允許回答關(guān)于這類系統(tǒng)的可行性、安全性和性能問題。

為了嘗試描述系統(tǒng)如何工作,描述了一個假設(shè)的鍵值存儲應(yīng)用程序?qū)⑷绾卧跊]有CPU的系統(tǒng)上工作。數(shù)據(jù)(鍵和值)存儲在一個由智能SSD托管的文件中,而操作(獲取、插入、更新等),在智能網(wǎng)卡中進(jìn)行處理。網(wǎng)卡通過監(jiān)聽套接字或RDMA,通過網(wǎng)絡(luò)向其他機(jī)器公開一個接口連接。

圖2顯示了初始化序列,在NIC中運(yùn)行的KVS應(yīng)用程序連接到SSD以訪問其數(shù)據(jù)文件。網(wǎng)卡通過系統(tǒng)總線發(fā)送一條廣播消息(包含文件名),以發(fā)現(xiàn)是哪個存儲服務(wù)擁有該文件。SSD響應(yīng)說它可以為該文件訪問服務(wù)。網(wǎng)卡發(fā)送請求以打開服務(wù)(包括授權(quán)令牌)以訪問該文件。SSD響應(yīng)了連接詳細(xì)信息和所需的共享內(nèi)存量。網(wǎng)卡向內(nèi)存控制器(包括虛擬地址)發(fā)送一個請求,要求其分配共享內(nèi)存。在收到來自內(nèi)存的響應(yīng)后,系統(tǒng)總線對屬于網(wǎng)卡的IO MMU進(jìn)行編程,允許其訪問指定的虛擬地址的共享內(nèi)存。網(wǎng)卡向系統(tǒng)總線發(fā)送另一條消息,以授予SSD對共享內(nèi)存的訪問權(quán)限。然后,網(wǎng)卡可以通過使用虛擬地址編程SSD中的VIRTIO隊(duì)列來建立連接。

IO MMU通過將設(shè)備訪問的所有內(nèi)存訪問轉(zhuǎn)換為虛擬內(nèi)存空間來保護(hù)內(nèi)存。要創(chuàng)建共享內(nèi)存區(qū)域,必須為IO MMU進(jìn)行編程,以便將兩個設(shè)備使用的虛擬地址映射到相同的物理地址。在帶有CPU的系統(tǒng)中,操作系統(tǒng)內(nèi)核負(fù)責(zé)內(nèi)存管理,因?yàn)樗總€進(jìn)程的地址空間的映射,并且能夠執(zhí)行特權(quán)任務(wù)。一個應(yīng)用程序?qū)⒄{(diào)用一個系統(tǒng)調(diào)用上為內(nèi)核創(chuàng)建一個共享的內(nèi)存映射。

在沒有CPU的情況下,內(nèi)存控制器負(fù)責(zé)跟蹤每個設(shè)備的物理內(nèi)存分配,可以更新映射的系統(tǒng)總線。設(shè)備發(fā)送一條控制消息,而不是系統(tǒng)調(diào)用。一旦該操作被內(nèi)存控制器授權(quán),系統(tǒng)總線就會執(zhí)行該操作。對內(nèi)存區(qū)域的訪問可以由擁有該區(qū)域的設(shè)備授予給另一個設(shè)備,但必須首先由內(nèi)存控制器授權(quán)。

ad6fc349581a47130d998a5ce1998f8c.jpeg

5. 暢想中的問題與挑戰(zhàn)

操作系統(tǒng)是非常復(fù)雜的系統(tǒng),無CPU 的操作系統(tǒng)也不例外。

5.1 訪問控制

如果需要細(xì)粒度的訪問控制,則訪問控制服務(wù)可以由智能存儲控制器提供,例如智能SSD。這將大致相當(dāng)于在Linux上的“登錄”程序和“密碼”文件。對單個文件的訪問控制由系統(tǒng)服務(wù)在提供該服務(wù)的設(shè)備上實(shí)現(xiàn)。希望打開文件的用戶將通過控制臺應(yīng)用程序輸入命令,該應(yīng)用程序?qū)⒃趶奈募到y(tǒng)服務(wù)請求文件時使用該用戶的標(biāo)識符。類似地,加載服務(wù)(將微代碼、加密軟件或應(yīng)用程序代碼加載到設(shè)備)也可以在替換敏感數(shù)據(jù)之前使用相同的身份驗(yàn)證服務(wù)。

5.2 錯誤處理

將應(yīng)用程序加載到各種加速器之后,如何解決處理編程中的錯誤呢?

現(xiàn)有系統(tǒng)依賴于CPU和操作系統(tǒng)來處理各種不指定的錯誤。對于無CPU 的操作系統(tǒng),必須更精確地確定將發(fā)生的錯誤類型,以及如何處理它們??苫謴?fù)的錯誤是指那些不需要重置設(shè)備的錯誤。當(dāng)轉(zhuǎn)換硬件無法綁定映射時,或者當(dāng)試圖訪問沒有正確權(quán)限的內(nèi)存時,就會導(dǎo)致頁錯誤。在一個沒有CPU的操作系統(tǒng)中,IO MMU會將任何故障發(fā)送到其附加的設(shè)備上。每個設(shè)備都將負(fù)責(zé)適當(dāng)?shù)靥幚碜约旱墓收?#xff0c;重置服務(wù)或停止應(yīng)用程序。故障模型并不比在具有集中式CPU的系統(tǒng)中更糟糕。主要的不同是錯誤處理的責(zé)任已經(jīng)轉(zhuǎn)移到設(shè)備本身,而不是一個外部實(shí)體。

類似地,如果資源出現(xiàn)致命錯誤,則該設(shè)備將負(fù)責(zé)處理該錯誤本身。它必須向使用該資源的任何使用者發(fā)送消息,然后重置該資源,應(yīng)用程序的邏輯要負(fù)責(zé)從這個場景中恢復(fù)。如果整個設(shè)備發(fā)生故障,則資源總線必須向系統(tǒng)中可能正在使用該故障設(shè)備的資源的所有其他設(shè)備發(fā)送消息??偩€還可以向故障設(shè)備發(fā)送重置信號,試圖重新啟動它。

5.3 系統(tǒng)維護(hù)

應(yīng)用程序可以在正常操作期間寫入日志文件。系統(tǒng)操作員可能希望定期查看這些日志,以收集統(tǒng)計(jì)數(shù)據(jù)或調(diào)整一些參數(shù)。這樣的機(jī)器很可能會被部署為數(shù)據(jù)中心中的服務(wù)器,而不會有一個本地控制臺。如果將許多這樣的系統(tǒng)部署在一個數(shù)據(jù)中心中,那么遠(yuǎn)程操作將是一個不錯的選擇,因?yàn)橐粋€遠(yuǎn)程控制臺可以用于管理許多無CPU的系統(tǒng),可以通過網(wǎng)絡(luò)由另一臺機(jī)器通過遠(yuǎn)程訪問服務(wù)查看這些日志。用戶身份驗(yàn)證可以通過運(yùn)行在任何設(shè)備上的身份驗(yàn)證服務(wù)來執(zhí)行。

5.4 可編程性

對于一個不尋常的操作系統(tǒng)來說,最大的問題可能是如何對它進(jìn)行編程。需要注意的是,編寫一個應(yīng)用程序,以在可編程設(shè)備上運(yùn)行,該設(shè)備可以使用來自一個或多個其他設(shè)備的服務(wù)。這些應(yīng)用程序是在具有開發(fā)環(huán)境的機(jī)器上開發(fā)的。由于每個設(shè)備都可以有一個不同指令集或?qū)崿F(xiàn)語言,因此將需要多個工具鏈。

然而,在許多情況下,開發(fā)過程將只針對一個設(shè)備。以上面的KV-store應(yīng)用程序?yàn)槔?#xff0c;所有應(yīng)用程序邏輯都將被編譯為在smartNIC上運(yùn)行。smartNIC的開發(fā)環(huán)境將包括一個庫,它封裝了系統(tǒng)總線的功能,并提供服務(wù)發(fā)現(xiàn)、資源分配等功能。這取決于系統(tǒng)中的其他設(shè)備(SSD、內(nèi)存控制器等)能夠以適當(dāng)?shù)姆绞焦_所需的資源。

保護(hù)措施依賴于虛擬內(nèi)存來防止對另一個應(yīng)用程序的內(nèi)存做未經(jīng)授權(quán)的訪問。設(shè)備的自身來提供在運(yùn)行在同一設(shè)備上的應(yīng)用程序之間的隔離。在設(shè)計(jì)諸如文件系統(tǒng)等常用服務(wù)時,肯定還會出現(xiàn)其他安全問題。這與為NFS服務(wù)設(shè)計(jì)安全模型沒什么不同,向遠(yuǎn)程設(shè)備公開了文件的抽象。

6. 小結(jié)

對更高性能的需求正在推動系統(tǒng)設(shè)計(jì)向?qū)iT的硬件方向發(fā)展。單個設(shè)備正在快速發(fā)展以進(jìn)行自我管理,放松了對CPU和傳統(tǒng)操作系統(tǒng)的依賴。

無CPU的操作系統(tǒng)僅僅是一個思想實(shí)驗(yàn),一個系統(tǒng)中完全刪除CPU。如此劇烈的變化迫使我們以一種新的方式考慮系統(tǒng)設(shè)計(jì),并就如何管理這樣的一個系統(tǒng)產(chǎn)生影響。然而,如果CPU不再是現(xiàn)有操作系統(tǒng)的中心組件,會從根本上改變軟件在CPU上的編寫方式嗎?當(dāng)然,實(shí)際上有些問題在CPU上更容易解決。

160a5f09f1db89659cad26d96b170ba4.jpeg

【關(guān)聯(lián)閱讀】

  • 一種編譯器視角下的python性能優(yōu)化

  • 操作系統(tǒng)中的系統(tǒng)抽象

  • 溫故知新:從計(jì)算機(jī)體系結(jié)構(gòu)看操作系統(tǒng)

  • 從操作系統(tǒng)看Docker

  • 感知人工智能操作系統(tǒng)

  • Linux 內(nèi)核裁剪框架初探

  • IoT中的Linux選擇

  • 嵌入式Linux的網(wǎng)絡(luò)連接管理

  • 老曹眼中的Linux基礎(chǔ)

  • 計(jì)算機(jī)體系結(jié)構(gòu)的一知半解

  • 計(jì)算機(jī)網(wǎng)絡(luò)的元認(rèn)知、實(shí)踐與未來

  • 機(jī)器學(xué)習(xí)與微分方程的淺析

http://aloenet.com.cn/news/45004.html

相關(guān)文章:

  • css網(wǎng)站背景模糊百度seo服務(wù)公司
  • 如何提升網(wǎng)站訪問速度文章推廣平臺
  • 網(wǎng)站開發(fā)需要幾個人網(wǎng)站開發(fā)流程是什么
  • 用dw做網(wǎng)站 的過程seo薪酬
  • 購物網(wǎng)站設(shè)計(jì)開題報(bào)告微商軟文范例大全100
  • 網(wǎng)站制seopc流量排名官網(wǎng)
  • wordpress 所有文章優(yōu)化seo
  • 前端做網(wǎng)站是什么流程代運(yùn)營公司
  • 重慶網(wǎng)站優(yōu)化公司惠州seo計(jì)費(fèi)管理
  • 做創(chuàng)意ppt網(wǎng)站有哪些方面網(wǎng)絡(luò)seo首頁
  • saas 做網(wǎng)站合肥網(wǎng)絡(luò)營銷公司
  • 國外黃岡網(wǎng)站推廣西安發(fā)布最新通知
  • 韓國免費(fèi)行情網(wǎng)站的推薦理由seo優(yōu)化方式包括
  • 自己組裝電腦做網(wǎng)站服務(wù)器不受國內(nèi)限制的瀏覽器
  • 做網(wǎng)站自適應(yīng)框架他達(dá)那非片能延時多久
  • 貴德網(wǎng)站建設(shè)公司專業(yè)網(wǎng)站優(yōu)化
  • 內(nèi)衣網(wǎng)站建設(shè)詳細(xì)方案seo官網(wǎng)優(yōu)化詳細(xì)方法
  • 大連網(wǎng)站建設(shè)酷網(wǎng)seo網(wǎng)站快速排名外包
  • 鎮(zhèn)江網(wǎng)站建設(shè)yubei021快速建站哪個平臺好
  • 國外做兼職的網(wǎng)站企業(yè)品牌網(wǎng)站營銷
  • wordpress評論樓廣州百度seo排名
  • 如何給網(wǎng)站做宣傳aso優(yōu)化費(fèi)用
  • 永州做網(wǎng)站費(fèi)用做百度線上推廣
  • 莆田交友網(wǎng)站市場惠州網(wǎng)站建設(shè)方案推廣
  • 東莞專業(yè)網(wǎng)站建設(shè)推廣seo屬于什么
  • 如何簡述網(wǎng)站建設(shè)流程seo是什么?
  • 網(wǎng)站整體運(yùn)營思路競價(jià)推廣托管服務(wù)
  • 車輛對比那個網(wǎng)站做的好免費(fèi)網(wǎng)絡(luò)推廣的方法
  • 昆明利于優(yōu)化的網(wǎng)站河南自助建站seo公司
  • 佛山營銷網(wǎng)站建設(shè)seo快速工具