国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      使用fpga設(shè)置檢查點(diǎn)的制作方法

      文檔序號(hào):6498553閱讀:213來源:國知局
      使用fpga設(shè)置檢查點(diǎn)的制作方法
      【專利摘要】方法、系統(tǒng)以及計(jì)算機(jī)可讀和可執(zhí)行指令被提供用于使用現(xiàn)場可編程門陣列(FPGA)設(shè)置檢查點(diǎn)。使用FPGA設(shè)置檢查點(diǎn)可包括對服務(wù)器內(nèi)容的區(qū)域內(nèi)的數(shù)據(jù)設(shè)置檢查點(diǎn)到存儲(chǔ)器,并且使用FPGA監(jiān)控被設(shè)置檢查點(diǎn)的數(shù)據(jù)。
      【專利說明】使用FPGA設(shè)置檢查點(diǎn)

      【背景技術(shù)】
      [0001] 分布式緩存(Memcached)是提供對象緩存的存儲(chǔ)器中鍵值緩存,并且可用在網(wǎng)絡(luò) 服務(wù)器層中。分布式緩存服務(wù)器為來自數(shù)據(jù)庫的內(nèi)容提供緩存,并且可被放置在前端網(wǎng)絡(luò) 服務(wù)器和后端數(shù)據(jù)庫之間。

      【專利附圖】

      【附圖說明】
      [0002] 圖1是圖示根據(jù)本公開的用于設(shè)置檢查點(diǎn)的方法示例的框圖。
      [0003] 圖2圖示根據(jù)本公開的用于設(shè)置檢查點(diǎn)的示例系統(tǒng)的框圖。
      [0004] 圖3是圖示根據(jù)本公開的處理資源、存儲(chǔ)器資源和計(jì)算機(jī)可讀介質(zhì)的框圖。

      【具體實(shí)施方式】
      [0005] 分布式緩存是一種存儲(chǔ)器中鍵值緩存,其相比于其它緩存方法提供了較高的吞吐 量和/或較低延遲的對象緩存。分布式緩存服務(wù)器可在網(wǎng)絡(luò)服務(wù)器層中發(fā)揮作用,被放置 在前端網(wǎng)絡(luò)服務(wù)器和后端數(shù)據(jù)庫(例如,結(jié)構(gòu)化查詢語言數(shù)據(jù)庫)之間。這些服務(wù)器緩存 來自數(shù)據(jù)庫的內(nèi)容,這減輕了對訪問后端數(shù)據(jù)庫的需求。該緩存降低了前端服務(wù)器的對象 檢索存取的延遲,并且也降低了后端服務(wù)器上的負(fù)荷。
      [0006] 然而,與其它緩存方法相比,緩存(例如,有效地緩存)網(wǎng)絡(luò)層級(jí)處的內(nèi)容會(huì)需要 增加量的存儲(chǔ)器(例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM))容量。在實(shí)際的部署中(例如,社交 網(wǎng)絡(luò)),與其它緩存方法相比,分布式緩存服務(wù)器可具有每個(gè)服務(wù)器較大的存儲(chǔ)器容量(例 如,每個(gè)服務(wù)器超過64GB的存儲(chǔ)器),并且在整個(gè)服務(wù)器集群中具有成千上萬的分布式緩 存服務(wù)器。在這些部署中,通過增加服務(wù)器的數(shù)量和/或增加單個(gè)服務(wù)器的容量,可滿足服 務(wù)器池內(nèi)總存儲(chǔ)器(例如,DRAM)容量的增加。
      [0007] 為了減輕管理負(fù)擔(dān)并減少管理多個(gè)實(shí)體服務(wù)器的所有權(quán)的總成本,部署可增加單 個(gè)服務(wù)器的容量(具體是存儲(chǔ)器密度增加)來代替添加額外的服務(wù)器。然而,重新填充大 緩存所需的時(shí)間量的問題會(huì)成為部署具有這些大存儲(chǔ)器容量的分布式緩存服務(wù)器的障礙。 問題可包括源自分布式緩存服務(wù)器崩潰的臨時(shí)停機(jī)時(shí)間和/或嚴(yán)重的性能下降(例如,由 于緩存丟失和在后端數(shù)據(jù)庫中所引起的負(fù)荷);增加的存儲(chǔ)器容量會(huì)增加分布式緩存服務(wù) 器重新填充其緩存和恢復(fù)其正常運(yùn)行機(jī)制所需的時(shí)間。
      [0008] 如這里進(jìn)一步討論的,對數(shù)據(jù)設(shè)置檢查點(diǎn)(例如,使用現(xiàn)場可編程門陣列(FPGA) 對數(shù)據(jù)設(shè)置檢查點(diǎn))可使得這些分布式緩存服務(wù)器隨著存儲(chǔ)器密度的趨勢而增加存儲(chǔ) 器容量。例如,與其它方法相比,分布式緩存服務(wù)器能使用非易失性存儲(chǔ)器和相干附接 (coherently-attached)的FPGA的組合來提供更快的恢復(fù),而不會(huì)在正常的服務(wù)器運(yùn)行時(shí) 過度地影響性能。
      [0009] 本公開的示例可包括方法、系統(tǒng)以及計(jì)算機(jī)可讀和可執(zhí)行指令和/或邏輯。使用 FPGA設(shè)置檢查點(diǎn)的示例方法可包括:對在服務(wù)器內(nèi)容區(qū)域內(nèi)的數(shù)據(jù)設(shè)置檢查點(diǎn)到存儲(chǔ)器, 并且使用FPGA監(jiān)控被設(shè)置檢查點(diǎn)的數(shù)據(jù)。
      [0010] 在本公開的下列詳細(xì)描述中,參考形成本發(fā)明一部分的附圖,并且在附圖中以圖 示的方式示出本公開的示例可如何實(shí)施。這些實(shí)施例足夠詳細(xì)地被描述,以使得本領(lǐng)域普 通技術(shù)人員能夠?qū)嵤┍竟_的示例,并且應(yīng)當(dāng)理解,還可利用其它示例,且可在不脫離本公 開的范圍的情況下做出過程、電子和/或結(jié)構(gòu)的改變。
      [0011] 本文中的圖遵循以下編號(hào)慣例:其中第一位數(shù)字對應(yīng)于圖號(hào),而其余數(shù)字標(biāo)識(shí)圖 中的元件或組件。不同圖之間的相似元件或組件通過使用相似的數(shù)字來標(biāo)識(shí)。在本文的各 個(gè)示例中示出的元件可以被增加、替換和/或去除,以便提供本公開的多個(gè)附加的實(shí)施例。
      [0012] 此外,圖中提供的元件的比例和相對大小旨在說明本公開的示例,而不應(yīng)構(gòu)成限 制意義。如這里所用的,具體關(guān)于圖中的附圖標(biāo)記,標(biāo)志符"^'、卩"、"1?"和"5"指示這樣標(biāo) 記的多個(gè)具體的特征可以包括在本公開的多個(gè)示例中。而且,如這里所用的,"多個(gè)"元件和 /或特征可指代一個(gè)或多個(gè)這樣的元件和/或特征。
      [0013] 根據(jù)服務(wù)器的性能要求和從故障到恢復(fù)之間平均時(shí)間的預(yù)期,可以以特定的間隔 (例如,由分布式緩存服務(wù)器管理員限定的間隔)來設(shè)置檢查點(diǎn)。通過暫停分布式緩存服 務(wù)器的運(yùn)行、復(fù)制其全部數(shù)據(jù)到非易失性存儲(chǔ)器(例如非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)) 以及允許分布式緩存服務(wù)器重新恢復(fù),來執(zhí)行檢查點(diǎn)。然而,考慮到動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器 (DRAM)的容量(例如,64GB和/或更大)以及非易失性存儲(chǔ)器的寫入帶寬(例如,lGB/s的 寫入帶寬),以這種方式完成完全檢查點(diǎn)會(huì)花費(fèi)比預(yù)期時(shí)間更長的時(shí)間(例如,數(shù)分鐘而不 是數(shù)秒鐘)。
      [0014] 圖1是圖示根據(jù)本公開的設(shè)置檢查點(diǎn)的方法100的示例的框圖。在102,對服務(wù)器 內(nèi)容區(qū)域中的數(shù)據(jù)設(shè)置檢查點(diǎn)到存儲(chǔ)器。在多個(gè)實(shí)施例中,設(shè)置檢查點(diǎn)數(shù)據(jù)到非易失性存 儲(chǔ)器,包括到閃存等。相對于其它的檢查點(diǎn)設(shè)置方法,對存儲(chǔ)器區(qū)域設(shè)置檢查點(diǎn)可提供具有 減少的中斷時(shí)間的檢查點(diǎn)設(shè)置。在一些示例中,可按照區(qū)域?qū)Υ鎯?chǔ)器區(qū)域設(shè)置檢查點(diǎn),這迭 代通過存儲(chǔ)器(例如,全部存儲(chǔ)器)直到設(shè)置了檢查點(diǎn)(例如,直到設(shè)置了全部檢查點(diǎn))。
      [0015] FPGA可用于臨時(shí)鎖定分布式緩存散列表來避免存取、對散列表的特定區(qū)域(例 如,2GB、4GB等)設(shè)置檢查點(diǎn)(例如,讀取和復(fù)制值至存儲(chǔ)器)、解除鎖定、以及允許整個(gè)系 統(tǒng)恢復(fù)。例如,當(dāng)對分布式緩存狀態(tài)的特定區(qū)域(例如,DRAM)設(shè)置檢查點(diǎn)時(shí),采取防范措 施以防客戶端請求改變該區(qū)域的內(nèi)容。例如,在復(fù)制區(qū)域時(shí),"阻擋"和/或"鎖定"客戶端 請求直到該區(qū)域完成復(fù)制。以這種方式來設(shè)置檢查點(diǎn)(例如,降低的時(shí)間量)能防止正常 客戶端請求的中斷。
      [0016] 在特定時(shí)間段過去之后,F(xiàn)PGA能重新鎖定散列表并且對下一個(gè)區(qū)域設(shè)置檢查點(diǎn), 繼續(xù)直到對整個(gè)存儲(chǔ)器設(shè)置了檢查點(diǎn)?;诒旧暾?,可以改變檢查點(diǎn)區(qū)域之間的特定時(shí)間 段(例如,納秒、毫秒或微秒等)。還可以改變?nèi)繖z查點(diǎn)之間的特定時(shí)間段(例如,秒、分、 小時(shí)等)。例如,與具有較輕負(fù)荷的服務(wù)器的分布式緩存部署相比,具有較重負(fù)荷的服務(wù)器 的分布式緩存部署可能需要更長的時(shí)間。在一些示例中,與其它方法相比,F(xiàn)PGA可以在較 短的時(shí)間段內(nèi)鎖定散列表,并且與單個(gè)通過(single pass)檢查點(diǎn)方法相比,F(xiàn)PAG可以導(dǎo) 致減少的中斷時(shí)間,這例如使得在設(shè)置檢查點(diǎn)的同時(shí)保持服務(wù)在線。
      [0017] 在104,使用FPGA監(jiān)控被設(shè)置檢查點(diǎn)的數(shù)據(jù)。FPGA可相干附接和/或聯(lián)接到存儲(chǔ) 器,使得主處理器廣播到存儲(chǔ)器的任何存取都被廣播到FPGA,這允許FPGA自動(dòng)追蹤(例如, 監(jiān)控)和捕獲每個(gè)區(qū)域內(nèi)的存取。在一些示例中,F(xiàn)PGA可捕獲每個(gè)區(qū)域內(nèi)的更新。通過監(jiān) 控每個(gè)區(qū)域,F(xiàn)PGA可維護(hù)每個(gè)檢查點(diǎn)以及全部檢查點(diǎn)的一致性視圖。在多個(gè)示例中,F(xiàn)PGA 位于單獨(dú)的網(wǎng)絡(luò)套接字中(例如,橫貫計(jì)算機(jī)網(wǎng)絡(luò)的進(jìn)程間通信流的不同端點(diǎn))而不是位 于存儲(chǔ)器中。
      [0018] 通過無效與設(shè)置檢查點(diǎn)的區(qū)域相關(guān)的緩存行,相干附接的FPGA能觀測至該區(qū)域 的通信量。FPGA能監(jiān)聽那些緩存行。例如,如果非易失性存儲(chǔ)器不是字節(jié)可尋址的(例如, 閃存),則可以緩沖所捕獲的更新并且寫入日志。該日志能回放已完成的檢查點(diǎn),這允許維 護(hù)一致的狀態(tài)。
      [0019] 如果足夠的更新(例如,特定數(shù)量)發(fā)生在單個(gè)塊,則可將整個(gè)塊重寫到非易失性 存儲(chǔ)器。在一些實(shí)施例中,塊(例如,單元)可包括FPGA將信息寫到其自身本地存儲(chǔ)器的 粒度。例如,如果足夠的更新(例如,日志更新)填滿塊,則FPGA可將該塊寫到非易失性存 儲(chǔ)器(例如,NVRAM)。在一些示例中,足夠的更新可包括足夠的寫入,整個(gè)塊可被編程為記 錄每個(gè)操作的塊。一旦完成檢查點(diǎn)設(shè)置,F(xiàn)PGA可停止監(jiān)聽與檢查點(diǎn)相關(guān)的地址區(qū)域。
      [0020] 如果需要恢復(fù)檢查點(diǎn),則執(zhí)行可使得分布式緩存進(jìn)程請求將數(shù)據(jù)從FPGA存儲(chǔ)器 轉(zhuǎn)移到主存儲(chǔ)器的系統(tǒng)調(diào)用??梢员4妫ɡ?,至存儲(chǔ)器)和提供簿記狀態(tài)(bookke印ing state),包括指向檢查點(diǎn)區(qū)域開始的指針、檢查點(diǎn)的大小和/或分布式緩存散列表開始的 地址等等。在一些示例中,響應(yīng)于服務(wù)器崩潰,利用被設(shè)置檢查點(diǎn)的數(shù)據(jù)來恢復(fù)服務(wù)器。在 一些示例中,附接到FPGA的存儲(chǔ)器僅用于設(shè)置檢查點(diǎn),并且FPGA用于加速設(shè)置檢查點(diǎn)。
      [0021] 在一些實(shí)施例中,監(jiān)控被設(shè)置檢查點(diǎn)的數(shù)據(jù)可包括從檢查點(diǎn)設(shè)置區(qū)域排除過期的 數(shù)據(jù)條目。分布式緩存這樣的系統(tǒng)能使用過期條目的惰性驅(qū)逐(lazy eviction)。例如,不 會(huì)立即驅(qū)逐早于其過期時(shí)間的條目,而改為在下次存取時(shí)進(jìn)行驅(qū)逐。在本公開中,為了降低 寫入到存儲(chǔ)器(例如,非易失性存儲(chǔ)器)的信息量,F(xiàn)PGA會(huì)對從該區(qū)域所讀取的數(shù)據(jù)執(zhí)行 檢查,并且排除早于其過期時(shí)間的任何條目(例如,使用整數(shù)比較)。這可以降低由于寫入 造成的有效期消耗,以及可以降低所消耗的帶寬。
      [0022] 為了減少和/或進(jìn)一步減少寫入的數(shù)據(jù),可對正被設(shè)置檢查點(diǎn)的數(shù)據(jù)應(yīng)用壓縮 (例如,使用比原始表示更少比特的編碼信息)。FPGA能讀取和緩沖特定量的分布式緩存狀 態(tài),在寫入存儲(chǔ)器之前可壓縮該特定量的分布式緩存狀態(tài)。例如,不是讓FPGA將分布式緩 存的DRAM狀態(tài)的內(nèi)容復(fù)制到非易失性存儲(chǔ)器(例如,NVRAM)中,而是該FPGA可將內(nèi)容復(fù) 制到其自身的內(nèi)部緩沖中、壓縮內(nèi)容并且將壓縮的內(nèi)容復(fù)制到非易失性存儲(chǔ)器中。在一些 示例中,通過將其自身存儲(chǔ)器上的內(nèi)容分階段,F(xiàn)PGA能降低鎖定分布式緩存DRAM內(nèi)容(例 如來自客戶端請求)的時(shí)間量。當(dāng)恢復(fù)檢查點(diǎn)時(shí),數(shù)據(jù)可以被解壓縮。壓縮的選擇(例如, 壓縮模型的選擇)可以向服務(wù)器管理員提供選項(xiàng)以平衡存儲(chǔ)器檢查點(diǎn)容量和速度。例如, 與最終檢查點(diǎn)保存相反,在檢查點(diǎn)恢復(fù)時(shí)可回放已記錄的更新。
      [0023] 服務(wù)中斷可通過拆分散列表鎖和向該區(qū)域中增加額外的鎖而降低。因此,能使得 發(fā)生在此時(shí)未設(shè)置檢查點(diǎn)的區(qū)域的存取繼續(xù)進(jìn)行,這降低了整體服務(wù)中斷。例如,F(xiàn)PGA會(huì) 對多個(gè)區(qū)域中之一內(nèi)的分布式緩存散列表鎖進(jìn)行存取。
      [0024] 在一些示例中,F(xiàn)PGA能接收關(guān)于多個(gè)區(qū)域中每個(gè)區(qū)域的散列表和多個(gè)區(qū)域中每個(gè) 區(qū)域內(nèi)的數(shù)據(jù)的信息。例如,F(xiàn)PGA會(huì)對多個(gè)區(qū)域中之一內(nèi)的分布式緩存散列表鎖進(jìn)行存取。
      [0025] 在一些實(shí)施例中,F(xiàn)PGA追蹤對已經(jīng)設(shè)置了檢查點(diǎn)的區(qū)域的更新。為了降低更新的 量,能臨時(shí)地降低在設(shè)置檢查點(diǎn)期間的狀態(tài)改變。例如,正當(dāng)設(shè)置檢查點(diǎn)時(shí),服務(wù)器可避免 更新緩存策略簿記(例如,至少最近使用的列表)。這樣做不會(huì)影響準(zhǔn)確性,并且能降低對 存儲(chǔ)器的寫入量和FPGA追蹤的更新量。
      [0026] 圖2圖示出根據(jù)本公開的用于設(shè)置檢查點(diǎn)的示例系統(tǒng)220的框圖。系統(tǒng)220可包 括FPGA 254和存儲(chǔ)器(例如,非易失性存儲(chǔ)器)256。FPGA 254可相干附接和/或聯(lián)接到 存儲(chǔ)器256,這意味著例如主處理器廣播到存儲(chǔ)器256的存取能廣播到FPGA 254,使得FPGA 254自動(dòng)追蹤(例如,監(jiān)控)和捕獲每個(gè)設(shè)置了檢查點(diǎn)的區(qū)域內(nèi)的存取。
      [0027] 系統(tǒng)220可包括具有存儲(chǔ)器和處理資源的計(jì)算設(shè)備222,指令(例如,計(jì)算機(jī)可 讀指令(CRI)244)存儲(chǔ)在存儲(chǔ)器中并且由處理資源執(zhí)行以對數(shù)據(jù)設(shè)置檢查點(diǎn)。正如此處 所述,計(jì)算設(shè)備222可以是硬件和/或配置為設(shè)置檢查點(diǎn)的程序指令(例如,CRI)的任 意組合。例如,硬件可包括一個(gè)或多個(gè)處理資源250-1、250-2···250-Ν、計(jì)算機(jī)可讀介質(zhì) (CRM) 246等。程序指令可包括存儲(chǔ)在CRM 246上的指令,該指令可由一個(gè)或多個(gè)處理資源 執(zhí)行以實(shí)現(xiàn)一個(gè)或多個(gè)不同功能或此處所述的特定動(dòng)作(例如,檢查點(diǎn)數(shù)據(jù))。
      [0028] 計(jì)算設(shè)備222可包括與處理資源250-1、250-2... 250-Ν通信的CRM 246。CRM 246 可與具有多于或少于250-1、250-2···250-Ν的處理資源的計(jì)算設(shè)備248(例如,.丨avaK應(yīng)用 服務(wù)器等)通信。如此處所述,計(jì)算設(shè)備248可與有形非暫時(shí)性CRM 246通信,該CRM 246存 儲(chǔ)可由一個(gè)或多個(gè)處理資源250-U250-2... 250-N執(zhí)行的一組計(jì)算機(jī)可讀指令(CRI) 244。 CRI 244還可存儲(chǔ)在由服務(wù)器管理的遠(yuǎn)程存儲(chǔ)器中,并且呈現(xiàn)為可下載、安裝和執(zhí)行的安裝 包。計(jì)算設(shè)備248可包括存儲(chǔ)器資源252,并且處理資源250-1、250-2... 250-N可聯(lián)接至存 儲(chǔ)器資源252。
      [0029] 處理資源250-1、250-2... 250-N能運(yùn)行可存儲(chǔ)在內(nèi)部或外部非暫時(shí)性CRM 246上 的CRI 244。處理資源250-U250-2...250-N可運(yùn)行CRI 244以執(zhí)行包括方法100中描述 的功能的各種功能。例如,處理資源250-1、250-2···250-Ν能運(yùn)行CRI 244以對數(shù)據(jù)設(shè)置 檢查點(diǎn)。如此處所用,非暫時(shí)性CRM(例如,CRM 246)可包括易失性和/或非易失性存儲(chǔ) 器。易失性存儲(chǔ)器可包括依靠電源來存儲(chǔ)信息的存儲(chǔ)器,如不同類型的動(dòng)態(tài)隨機(jī)存取存儲(chǔ) 器(DRAM)等。非易失性存儲(chǔ)器可包括不依靠電源來存儲(chǔ)信息的存儲(chǔ)器。非易失性存儲(chǔ)器的 示例可包括如閃存、電可擦除可編程只讀存儲(chǔ)器(EEPR0M)、相變隨機(jī)存取存儲(chǔ)器(PCRAM) 的固態(tài)介質(zhì),如硬盤、磁帶驅(qū)動(dòng)器、軟盤和/或磁帶存儲(chǔ)器之類的磁存儲(chǔ)器,光盤,數(shù)字化通 用盤(DVD),藍(lán)光盤(BD),壓縮盤(CD)和/或固態(tài)驅(qū)動(dòng)器(SSD)等,以及其它類型的計(jì)算機(jī) 可讀介質(zhì)。
      [0030] 非暫時(shí)性CRM 246可以是集成的或者以有線和/或無線的方式可通信地聯(lián)接到計(jì) 算設(shè)備248。例如,非暫時(shí)性CRM 246可以是內(nèi)部存儲(chǔ)器、便攜式存儲(chǔ)器,便攜式盤或與其它 計(jì)算資源相關(guān)聯(lián)的存儲(chǔ)器。
      [0031] CRM 246可經(jīng)由通信路徑242與處理資源250-U250-2...250-N通信。通信路徑 242可相對于與處理資源250-1、250-2...250-N相關(guān)聯(lián)的機(jī)器(例如,計(jì)算設(shè)備248)是本地 的或遠(yuǎn)程的。本地通信路徑242的示例可包括機(jī)器(例如,計(jì)算機(jī))內(nèi)部的電子總線,其中 CRM 246是經(jīng)由電子總線與處理資源250-U250-2...250-N通信的易失性、非易失性、固定 和/或可移除的存儲(chǔ)介質(zhì)之一。這種電子總線的示例可包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)、外圍 組件互連(PCI)、高級(jí)技術(shù)附件(ΑΤΑ)、小型計(jì)算機(jī)系統(tǒng)接口(SCSI)、通用串行總線(USB)、 其它類型的電子總線及其變體。
      [0032] 通信路徑242可以是這樣的,使得CRM 246相對于處理資源250-U250-2...250-N 是遠(yuǎn)程的,如在CRM 246和處理資源(例如,250-U250-2…250-N)之間的網(wǎng)絡(luò)連接中。也 就是說,通信路徑242可以是網(wǎng)絡(luò)連接。這種網(wǎng)絡(luò)連接的示例可包括局域網(wǎng)(LAN)、廣域網(wǎng) (WAN)、個(gè)人局域網(wǎng)(PAN)和因特網(wǎng)等。在這些示例中,CRM 246可與第一計(jì)算設(shè)備相關(guān)聯(lián), 并且處理資源250-1、250-2···250-Ν可與第二計(jì)算設(shè)備(例如,計(jì)算設(shè)備248)相關(guān)聯(lián)。例 如,處理資源250-1、250-2...250,可與〇^ 246通信,其中〇^ 246包括一組指令并且其 中處理資源250-1、250-2···250-Ν被設(shè)計(jì)為執(zhí)行該組指令以對數(shù)據(jù)設(shè)置檢查點(diǎn)。
      [0033] 聯(lián)接至存儲(chǔ)器252的處理資源250-1、250-2···250-Ν可運(yùn)行程序指令以對數(shù)據(jù)設(shè) 置檢查點(diǎn)。聯(lián)接至存儲(chǔ)器252的處理資源250-U250-2··· 250-Ν可運(yùn)行程序指令以接收分 布式緩存服務(wù)器內(nèi)的多個(gè)地址區(qū)域到FPGA來設(shè)置檢查點(diǎn)。在本公開的各種示例中,聯(lián)接至 存儲(chǔ)器252的處理資源250-U250-2··· 250-Ν可運(yùn)行程序指令以周期性地對多個(gè)地址區(qū)域 中的每個(gè)區(qū)域設(shè)置檢查點(diǎn)到非易失性存儲(chǔ)器,并且在本公開的一些示例中,聯(lián)接至存儲(chǔ)器 252的處理資源250-1、250-2··· 250-Ν可運(yùn)行程序指令以使用FPGA自動(dòng)地監(jiān)控多個(gè)地址區(qū) 域中每個(gè)區(qū)域內(nèi)的數(shù)據(jù)。
      [0034] 如此處所使用的,"邏輯"是運(yùn)行這里所描述的動(dòng)作和/或功能等的替代物或附加 的處理資源,其包括硬件(例如,各種形式的晶體管邏輯電路、專用集成電路(ASIC)等),與 在存儲(chǔ)器中存儲(chǔ)的且通過處理可運(yùn)行的計(jì)算機(jī)可執(zhí)行指令(例如,軟件、固件等)相反。
      [0035] 圖3圖示出根據(jù)本公開的在云系統(tǒng)中平衡管理責(zé)任(management duties)的示例 計(jì)算系統(tǒng)322的圖。計(jì)算系統(tǒng)322可包括處理資源350。處理資源350例如可包括圖2中 所示的處理資源250-U250-2...250-N。
      [0036] 處理資源350可經(jīng)由通信路徑342可通信地聯(lián)接至CRM 346。CRM 346可與圖2 中所示的CRM 246相似。CRM 346可包括多個(gè)模塊378、380、382、384、386和388。該多個(gè) 模塊可包括例如可由處理資源350運(yùn)行以執(zhí)行多個(gè)功能的CRI。
      [0037] 鎖定模塊378可例如包括多個(gè)CRI,這些CRI可由處理資源350運(yùn)行以執(zhí)行或?qū)崿F(xiàn) 特定動(dòng)作,或者實(shí)施臨時(shí)地鎖定分布式緩存散列表以防使用FPGA存取的動(dòng)作。
      [0038] 第一檢查點(diǎn)模塊380可包括可由處理資源350運(yùn)行的多個(gè)指令。例如,第一檢查 點(diǎn)模塊380可對分布式緩存服務(wù)器內(nèi)容的第一區(qū)域設(shè)置檢查點(diǎn)到非易失性存儲(chǔ)器,與此同 時(shí),分布式緩存散列表被鎖定。
      [0039] 解除模塊382可包括可由處理資源350運(yùn)行的多個(gè)指令。例如,解除模塊382可 解除鎖定達(dá)一時(shí)間段,并且重鎖模塊384(例如,包括可由處理資源350運(yùn)行的多個(gè)指令) 可重新鎖定分布式緩存散列表。在多個(gè)實(shí)施例中,鎖定模塊378可重新鎖定分布式緩存散 列表。鎖定模塊378和重鎖模塊384可包括例如相同的模塊。例如,在一些實(shí)施例中,計(jì)算 系統(tǒng)322不包括重鎖模塊。
      [0040] 第二檢查點(diǎn)模塊386可包括可由處理資源350運(yùn)行的多個(gè)指令。例如,第二檢查 點(diǎn)模塊386可對分布式緩存服務(wù)器內(nèi)容的第二區(qū)域設(shè)置檢查點(diǎn)到非易失性存儲(chǔ)器,與此同 時(shí),分布式緩存散列表被重新鎖定。在多個(gè)實(shí)施例中,第一檢查點(diǎn)模塊380和第二檢查點(diǎn)模 塊386包括相同的模塊。
      [0041] 監(jiān)控模塊388可例如包括可由處理資源350運(yùn)行的多個(gè)指令。例如,監(jiān)控模塊388 可使用FPGA監(jiān)控在第一和第二區(qū)域內(nèi)設(shè)置了檢查點(diǎn)的數(shù)據(jù),其中FPGA相干附接至非易失 性存儲(chǔ)器。
      [0042] 說明書示例提供對本公開的系統(tǒng)和方法的應(yīng)用和使用的描述。由于在不脫離本公 開的系統(tǒng)和方法的精神和范圍的情況下可進(jìn)行多個(gè)示例,因此此說明書列出了眾多可行示 例配置和應(yīng)用中的一些。
      【權(quán)利要求】
      1. 一種計(jì)算機(jī)實(shí)現(xiàn)的方法,用于使用現(xiàn)場可編程門陣列(FPGA)設(shè)置檢查點(diǎn),該方法包 括: 對在服務(wù)器內(nèi)容的區(qū)域內(nèi)的數(shù)據(jù)設(shè)置檢查點(diǎn)到存儲(chǔ)器;并且 使用所述FPGA監(jiān)控被設(shè)置檢查點(diǎn)的數(shù)據(jù)。
      2. 根據(jù)權(quán)利要求1所述的方法,其中所述FPGA相干聯(lián)接至所述存儲(chǔ)器。
      3. 根據(jù)權(quán)利要求1所述的方法,其中對數(shù)據(jù)設(shè)置檢查點(diǎn)到存儲(chǔ)器進(jìn)一步包括對數(shù)據(jù)設(shè) 置檢查點(diǎn)到非易失性存儲(chǔ)器。
      4. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括:響應(yīng)于所述服務(wù)器崩潰利用所述被設(shè)置 檢查點(diǎn)的數(shù)據(jù)來恢復(fù)所述服務(wù)器。
      5. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括:壓縮所述被設(shè)置檢查點(diǎn)的數(shù)據(jù)。
      6. 根據(jù)權(quán)利要求1所述的方法,其中監(jiān)控所述數(shù)據(jù)進(jìn)一步包括:從所述區(qū)域排除過期 的數(shù)據(jù)條目。
      7. -種非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),存儲(chǔ)可由處理資源執(zhí)行的一組指令,以便: 使用現(xiàn)場可編程門陣列(FPGA)臨時(shí)地鎖定分布式緩存散列表以免存??; 在鎖定所述分布式緩存散列表的同時(shí),對分布式緩存服務(wù)器內(nèi)容的第一區(qū)域設(shè)置檢查 點(diǎn)到非易失性存儲(chǔ)器; 解除所述鎖定達(dá)一時(shí)間段; 重新鎖定所述分布式緩存散列表; 在重新鎖定所述分布式緩存散列表的同時(shí),對所述分布式緩存服務(wù)器內(nèi)容的第二區(qū)域 設(shè)置檢查點(diǎn)到所述非易失性存儲(chǔ)器;以及 使用所述FPGA監(jiān)控在所述第一區(qū)域和所述第二區(qū)域內(nèi)被設(shè)置檢查點(diǎn)的數(shù)據(jù),其中所 述FPGA相干附接至所述非易失性存儲(chǔ)器。
      8. 根據(jù)權(quán)利要求7所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其中所述指令進(jìn)一步是可執(zhí)行 的,以通過追蹤多個(gè)被設(shè)置檢查點(diǎn)的區(qū)域中的每個(gè)區(qū)域的更新來監(jiān)控所述數(shù)據(jù)。
      9. 根據(jù)權(quán)利要求7所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其中所述指令進(jìn)一步是可執(zhí)行 的,以拆分分布式緩存散列表鎖并將附加的分布式緩存散列表鎖增加到多個(gè)被設(shè)置檢查點(diǎn) 的區(qū)域中的每個(gè)區(qū)域。
      10. 根據(jù)權(quán)利要求7所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其中所述指令進(jìn)一步是可執(zhí)行 的,以在設(shè)置檢查點(diǎn)期間臨時(shí)地減少區(qū)域更新。
      11. 根據(jù)權(quán)利要求7所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其中所述指令進(jìn)一步是可執(zhí)行 的,以接收關(guān)于所述多個(gè)區(qū)域中每個(gè)區(qū)域的散列表以及所述多個(gè)區(qū)域中每個(gè)區(qū)域內(nèi)的數(shù)據(jù) 的信息到所述FPGA。
      12. -種系統(tǒng),用于使用現(xiàn)場可編程門陣列(FPGA)設(shè)置檢查點(diǎn),所述系統(tǒng)包括: 存儲(chǔ)器資源;以及 聯(lián)接至所述存儲(chǔ)器資源的處理資源,用以: 接收分布式緩存服務(wù)器內(nèi)的多個(gè)地址區(qū)域到所述FPGA以設(shè)置檢查點(diǎn); 周期性地對所述多個(gè)地址區(qū)域中的每個(gè)設(shè)置檢查點(diǎn)到非易失性存儲(chǔ)器;并且 使用所述FPGA自動(dòng)地監(jiān)控所述多個(gè)地址區(qū)域中的每個(gè)內(nèi)的數(shù)據(jù),其中所述FPGA相干 聯(lián)接至所述非易失性存儲(chǔ)器。
      13. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述處理資源進(jìn)一步聯(lián)接至所述存儲(chǔ)器資源, 以允許所述FPGA訪問所述多個(gè)區(qū)域中的每個(gè)內(nèi)的分布式緩存散列表鎖。
      14. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述處理資源進(jìn)一步聯(lián)接至所述存儲(chǔ)器資源, 以向所述非易失性存儲(chǔ)器保存所述多個(gè)地址區(qū)域中之一開始的指針、地址區(qū)域檢查點(diǎn)的大 小、和分布式緩存散列表開始的地址中的至少一個(gè)。
      15. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述FPGA位于獨(dú)立的網(wǎng)絡(luò)套接字中而不是位于 所述非易失性存儲(chǔ)器中。
      【文檔編號(hào)】G06F13/00GK104272249SQ201280072796
      【公開日】2015年1月7日 申請日期:2012年6月8日 優(yōu)先權(quán)日:2012年6月8日
      【發(fā)明者】凱文·T·林, 阿爾溫·奧楊 申請人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1