TWI710954B - 超融合基礎架構的資料快取方法與節點、機器學習框架及檔案系統代理程式 - Google Patents
超融合基礎架構的資料快取方法與節點、機器學習框架及檔案系統代理程式 Download PDFInfo
- Publication number
- TWI710954B TWI710954B TW108126666A TW108126666A TWI710954B TW I710954 B TWI710954 B TW I710954B TW 108126666 A TW108126666 A TW 108126666A TW 108126666 A TW108126666 A TW 108126666A TW I710954 B TWI710954 B TW I710954B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- program
- calculation
- cache
- node
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/144—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/156—Query results presentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Library & Information Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本文說明了一種超融合基礎架構的資料快取方法與節點、機器學習框架及檔案系統代理程式。此資料快取方法使運算程式通知執行節點預先取得運算過程中所需的運算資料;之後執行節點根據運算程式的通知而取得此運算資料並將其放入快取記憶體;最後,在運算程式通知執行節點放棄此運算資料的時候,執行節點根據運算程式的通知而將此運算資料自快取記憶體中移除。
Description
本發明是有關於一種資料快取方法,特別是有關於一種超融合基礎架構的資料快取方法與節點、機器學習框架及檔案系統代理程式。
超融合基礎架構(Hyper-Converged Infrastructure,HCI),是一種整合多個機台為一個虛擬檔案伺服中心的系統。對內,在這種系統中,許多各自具有儲存裝置的機台會被整合在一起;對外,這些機台會以虛擬機台為核心並以單一的軟體定義方式來規劃底層硬體,再向用戶提供需要的資源。由於使用者無須面對複雜的資源調度等問題,所以超融合基礎架構的利用也正逐日增加。
除了作為檔案伺服系統使用之外,各機台本身所具備的運算能力也可以被用來進行其它的運算,例如可以用來執行虛擬機器(Virtual Machine)或者執行機器學習的訓練等等。在某些情況下,例如要執行機器學習的訓練程式(例如:深度學習)的時候,用來進行訓練的機台會需要使用到大量的訓練資料。前述的訓練資料極有可能被分散在許多其它的機台中,因此訓練機台就必須花費許多時間從其它機台取得訓練資料。為了減少取得資料所花費的時間對於訓練時程的影響,通常都會希望能夠加快資料取得的速度,而其中常見的一種加速方式就是利用快取軟體根據資料的存取熱度來決定是否要將存取過的資料及其鄰近資料放入快取記憶體中,藉此加速未來對這些資料的存取速度。然而,機器學習的訓練過程中所使用到的資料通常具有數量龐大、多次重複以及每次重複時的資料使用順序難以預測等特性,因此如何預先將資料放入快取記憶體以及要將哪些資料從快取記憶體中移除以釋放空間存放其它快取資料等等,對於快取軟體而言都是亟需被解決的問題。
有鑑於此,本說明提供了一種超融合基礎架構的資料快取方法及節點,其採用了特殊的快取資料處理方式,使得在節點中運算的程式可以得到良好的資料快取服務。
從一個方面來看,本說明提供了一種超融合基礎架構的資料快取方法,適用於包含多個節點的超融合基礎架構中,這些節點中用來執行運算程式的執行節點向這些節點中的資料節點取得儲存在此資料節點中且於執行運算程式時所需的運算資料,且此執行節點包括一個讀寫速度快於機械式硬碟的快取記憶體。此資料快取方法使運算程式通知執行節點預先取得前述的運算資料,執行節點則根據運算程式的通知而從前述的資料節點取得此運算資料,並將此運算資料放入快取記憶體中;另外,此資料快取方法也使運算程式通知執行節點放棄此運算資料,執行節點則根據運算程式的通知而將此運算資料自快取記憶體中移除。
在一個實施例中,上述的運算程式為機器學習的訓練程式。
在一個實施例中,前述的運算程式利用呼叫機器學習框架所提供的指令而與運行於執行節點中的檔案系統代理程式進行溝通。
在一個實施例中,前述使運算程式通知執行節點預先取得前述的運算資料,包括從運算程式發出通知信號至運行於執行節點中的檔案系統代理程式以通知此檔案系統代理程式根據通知信號取得運算資料及將取得的運算資料儲存到快取記憶體中。
在一個實施例中,前述使運算程式通知執行節點放棄此運算資料,包括從運算程式發出通知信號至運行於執行節點中的檔案系統代理程式以通知此檔案系統代理程式根據通知信號從前述的快取記憶體中移除此運算資料。
從另一個方面來看,本說明提供了一種融合基礎架構的節點,其適用於超融合基礎架構中。此節點包括一個處理模組、一個快取記憶體以及一個資料傳輸介面模組。處理模組適於執行運算程式,此運算程式讀取並處理運算資料;資料傳輸介面模組電性耦接至處理模組,快取記憶體電性耦接至資料傳輸介面模組。其中,在運算程式使用此運算資料之前,運算程式通知處理模組進行取得此運算資料的操作,處理模組通過資料傳輸介面模組從儲存裝置中取得運算資料並將所取得的運算資料儲存至快取記憶體中以供運算程式使用;當運算資料被儲存在快取記憶體之中且運算程式不需要使用此運算資料時,運算程式通知處理模組進行捨棄運算資料的操作,且處理模組根據運算程式的通知而將運算資料從快取記憶體中移除。
在一個實施例中,上述的儲存裝置在節點的內部。
在一個實施例中,上述的儲存裝置在節點的外部。
在一個實施例中,上述的快取記憶體包括至少一個固態磁碟。進一步的,還可以將前述固態磁碟組成磁碟陣列。
在一個實施例中,上述的快取記憶體包括至少一個儲存級記憶體。進一步的,還可以將前述儲存級記憶體組成磁碟陣列。
從另一個方面來看,本說明提供了一種機器學習框架,其特徵在於包括:提供一個快取寫入指令,當運算程式呼叫此快取寫入指令時,機器學習框架根據運算程式呼叫快取寫入指令時提供的寫入參數以要求檔案系統代理程式將對應於此寫入參數的資料存入快取記憶體中;以及提供一個快取刪除指令,當運算程式呼叫此快取刪除指令時,機器學習框架根據運算程式呼叫快取刪除指令時提供的刪除參數以要求前述檔案系統代理程式將對應於此刪除參數的資料自快取記憶體中刪除,其中,快取記憶體的讀寫速度快於機械式硬碟。
在一個實施例中,前述對應於寫入參數的資料,包括:一個完整的檔案、一個目錄內的所有檔案及子目錄的內容,或記載於一個檔案中的所有檔案。
從另一個方面來看,本說明提供了一種檔案系統代理程式,其特徵在於包括:當被要求的時候,將一個完整的檔案、一個目錄中的所有檔案與所有子目錄之下的所有檔案,或記載於一個檔案中的所有檔案存入快取記憶體中;以及當被要求的時候,將一個完整的檔案、一個目錄內的所有檔案及子目錄的內容,或記載於一個檔案中的所有檔案自該快取記憶體中移除。其中,快取記憶體的讀寫速度快於機械式硬碟。
根據上述,本說明所提供的超融合基礎架構的資料快取方法與節點、機器學習框架,及檔案系統代理程式直接根據所執行的程式的指令來決定將哪些資料放入到快取記憶體或將哪些資料從快取記憶體中移除,所以此資料快取方法及節點不需要運行複雜的快取預測機制。因此,除了能使節點有更多運算資源提供給程式運行使用之外,也能使在節點中運算的程式得到良好的資料快取服務。
請參照圖1,其為根據本發明一實施例的超融合基礎架構的系統方塊示意圖。在本實施例中,假設超融合基礎架構(Hyper-Converged Infrastructure,HCI)10包括三個節點12、14與16,並且這三個節點透過網路18而被連結在一起。如圖所示,節點12包括一個處理模組120、一個快取記憶體122、一個資料傳輸介面模組124以及一個儲存裝置126,處理模組120電性耦接至資料傳輸介面模組124,資料傳輸介面模組124進一步電性耦接到快取記憶體122與儲存裝置126。類似的,節點14包括一個處理模組140、一個快取記憶體142、一個資料傳輸介面模組144以及一個儲存裝置146,處理模組140電性耦接至資料傳輸介面模組144,資料傳輸介面模組144進一步電性耦接到快取記憶體142與儲存裝置146;節點16包括一個處理模組160、一個快取記憶體162、一個資料傳輸介面模組164以及一個儲存裝置166,處理模組160電性耦接至資料傳輸介面模組164,資料傳輸介面模組164進一步電性耦接到快取記憶體162與儲存裝置166。雖然在本實施例中的三個節點的電路架構相同,但實際上節點14與16的電路架構也可以與節點12的電路架構不同,這並不影響本案技術的施行。本說明中的節點泛指包括上述電路架構的電子裝置,例如工作站或個人電腦等,但不以此為限。此外,本實施例及後續實施例中提到的快取記憶體指的是讀寫速度比機械式硬碟還快的儲存裝置,例如包括一個以上的固態硬碟(Solid State Disk,SSD)或者一個以上的儲存級記憶體的儲存裝置,或者是包括一個以上的固態硬碟或者一個以上的儲存級記憶體的磁碟陣列。類似的,前述的儲存裝置166則可以是包括一個以上的機械式硬碟的磁碟陣列。
當節點12需要執行某些功能的時候,提供相關功能的運算程式130會被載入到處理模組120並開始於處理模組120之中執行運算程式130所載的指令。為了正常運作,運算程式130有時候會需要獲得一些原本不記載於運算程式130中的資料(後稱運算資料)。在這種時候,運算程式130會通知處理模組120以使處理模組120到適當的位置去取得這些運算資料以便運算程式130使用。
當處理模組120接到運算程式130的通知而開始進行取得運算資料的操作之後,處理模組120會先尋找運算資料的位置。一般來說,超融合基礎架構10會由一個主控制裝置(未繪示於圖中)來保存各資料的儲存位置,所以處理模組120先透過向主控制裝置詢問來獲知運算資料的儲存位置。以圖1所示的內容為例,主控制裝置所紀錄的儲存位置會包括:資料D1被儲存在節點12、資料D2被儲存在節點14、資料D3被儲存在節點14與16,以及資料D4被儲存在節點16等內容。舉例來說,假若處理模組120要取得的運算資料是資料D2,處理模組120經過詢問主控制裝置之後可以得知必須向節點14要求取得資料D2。
在一個實施例中,承繼以上假設,當獲知資料D2被儲存在節點14的資訊之後,處理模組120就會經過資料傳輸介面模組124以及網路18而向節點14發出取得資料D2的要求。當資料D2被從節點14送到資料傳輸介面模組124之後,資料傳輸介面模組124就會將接收到的資料D2儲存到快取記憶體122。
在另一個實施例中,假若運算程式130所要使用的運算資料是資料D1,那麼處理模組120在詢問主控制裝置之後發現資料D1就儲存在節點12之中,於是處理模組120就可以經過資料傳輸介面模組124直接從儲存裝置126中取得資料D1並將其儲存在快取記憶體122中,並在運算程式130要求取得資料D1的時候將資料D1提供給運算程式130使用。
值得注意的,運算程式130可以一次要求將多個檔案放入快取記憶體122之中,並且以一個檔案接著一個檔案的方式來進行讀取。於是,在處理模組120取得的多個檔案中,如果取得的檔案是運算程式130正要讀取的檔案,那麼處理模組120在使資料傳輸介面模組124將此檔案儲存到快取記憶體122的同時,也會使資料傳輸介面模組124將同一個檔案提供給運算程式130;相對的,如果取得的檔案只是運算程式130要求放入快取記憶體122但目前還沒提出讀取要求的,那麼處理模組120就會使資料傳輸介面模組124將此檔案儲存到快取記憶體122中以備後續取用。在檔案已經被存放於快取記憶體122的狀況中,一旦運算程式130要求要讀取這一個檔案,處理模組120就可以控制資料傳輸介面模組124直接將存放在快取記憶體122之中的對應檔案提供給運算程式130而不需要再次進行先詢問主控制裝置而後取得對應資料的過程。
在將運算資料儲存到快取記憶體122以後,一旦處理模組120接收到運算程式130通知表示已經可以捨棄此運算資料,那麼處理模組120就會根據運算程式130的通知而控制資料傳輸介面模組124將此運算資料從快取記憶體122之中移除,藉此增加快取記憶體122的空餘空間以便儲存其它的資料。在不同的狀況中,運算資料可以是一個完整的檔案、一個目錄內的所有檔案及子目錄的內容,或是記載於一個檔案中的所有檔案。也就是說,本發明是以檔案而不是以資料區塊作為最小的完整單元來進行快取操作。
更詳細的說,在處理模組120中除了運算程式130之外,還可以同時執行一個檔案系統代理程式。請參照圖2,其為根據本發明一實施例在處理模組中同時運行運算程式與檔案系統代理程式時的程式關係示意圖。在本實施例中,處理模組200中同時運行了運算程式210與檔案系統代理程式220,運算程式210與檔案系統代理程式220之間可以雙向傳遞信號,而檔案系統代理程式220與資料傳輸介面模組230之間也可以雙向傳遞信號。在運作的過程中,運算程式210可以利用通知信號REQ要求檔案系統代理程式220將一到多個檔案儲存到快取記憶體(未繪示於圖2)中,或者也可以利用通知信號REQ要求檔案系統代理程式220提供一到多個檔案至運算程式210以供使用。檔案系統代理程式220根據通知信號REQ而得知需要取得哪些檔案,並據此經過資料傳輸介面模組230取得對應的檔案。假如通知信號REQ要求的是將取得的檔案儲存在快取記憶體中,則檔案系統代理程式220會使資料傳輸介面模組230將這些檔案儲存到快取記憶體中;相對的,假如通知信號REQ要求的是將取得的檔案提供給運算程式210,則檔案系統代理程式220就會將取得的檔案提供給運算程式210以供使用。
藉由引入獨立的檔案系統代理程式220,運算程式210可以專心在處理資料的運算進而得到較高的運算效率。此外,不需要在運算程式210中加入檔案處理的功能,也可以使運算程式210的內容更為簡潔,同時降低在記憶體中所佔的空間。
在一個特定的實施例中,機器學習訓練程式可以被當成上述的運算程式而運作於處理模組之中。以下詳細說明以機器學習訓練程式作為運算程式的實施方式。
請參照圖3,其為根據本發明一實施例以機器學習訓練程式作為運算程式時的程式關係示意圖。在本實施例中,處理模組300同時運行了機器學習訓練程式310與檔案系統代理程式320。其中,機器學習訓練程式310是建構在機器學習框架312上,其利用呼叫機器學習框架312所提供的指令而實現與檔案系統代理程式320之間的信號雙向傳遞;檔案系統代理程式320與資料傳輸介面模組330之間也可以雙向傳遞信號;資料傳輸介面模組330與圖1所示的快取記憶體122、142與162之間亦可雙向傳遞信號。
具體的,在本實施例中的機器學習框架312基本上可以使用現有的機器學習框架,例如:TensorFlow,並且另外加上一些特別的功能。舉例來說,機器學習框架312除了提供一般機器學習框架所擁有的指令之外,還進一步提供了一個快取寫入指令及一個快取刪除指令。當呼叫機器學習框架312的快取寫入指令時,機器學習訓練程式310應同時提供對應的一個寫入參數;機器學習框架312根據此寫入參數而要求檔案系統代理程式320將相對應的資料(例如寫入參數中指明的一個完整檔案、寫入參數中指明的目錄內的所有檔案及子目錄的內容,或寫入參數中指明的檔案中所記載的所有檔案)存入到圖1所示的快取記憶體中。類似的,當呼叫機器學習框架312的快取刪除指令時,機器學習訓練程式310應同時提供對應的一個刪除參數;機器學習框架312根據此刪除參數而要求檔案系統代理程式320將相對應的資料(例如刪除參數中指明的一個完整檔案、刪除參數中指明的目錄內的所有檔案及子目錄的內容,或刪除參數中指明的檔案中所記載的所有檔案)自圖1所示的快取記憶體中刪除。
在本實施例中,機器學習訓練程式310藉由呼叫機器學習框架312的指令而從機器學習框架312發出通知信號(如圖2中的通知信號REQ)到檔案系統代理程式320,而檔案系統代理程式320則根據所接收到的通知信號取得對應的資料。為了符合本實施例中機器學習框架312的資料需求,檔案系統代理程式320在接收到通知信號的時候,會根據通知信號中的要求(例如根據前述的寫入參數或刪除參數而指定的檔案等)而將一個完整的檔案、一個目錄中的所有檔案與所有子目錄之下的所有檔案,或記載於一個檔案中的所有檔案存入到快取記憶體中,或根據通知信號中的要求而將對應的資料自快取記憶體中移除。
接下來請參照圖4,其為根據本發明一實施例的超融合基礎架構的資料快取方法的流程圖。在本實施例中是以機器學習訓練程式為例來進行說明。首先,由處理模組120開始執行機器學習訓練程式(步驟S200),接下來,機器學習訓練程式會指定要將一組訓練資料儲存到快取記憶體中以方便後續進行訓練(步驟S202)。在這之後,機器學習訓練程式還會指定取得一組特定的檔案以供目前訓練之用(步驟S206)。在步驟S202中,機器學習訓練程式會指定要放入到快取記憶體中的檔案的相關資訊(例如檔案名稱或目錄名稱)以供處理模組取得對應的檔案;類似的,在步驟S206中,機器學習訓練程式也會指定目前需要的檔案的相關資訊(例如檔案路徑名稱)以供處理模組取得對應的檔案。
回應於步驟S202的要求,處理模組會控制將所取得的訓練資料存放到快取記憶體中(步驟S204)。相對的,回應於步驟S206的要求,處理模組會控制將所取得的特定檔案(可能是從任一個節點或從快取記憶體中取得)提供給機器學習訓練程式(步驟S208)。接下來,機器學習訓練程式會決定以哪一種順序來利用這些特定檔案進行訓練(步驟S210)。在每一筆內容的訓練過程結束之後,機器學習訓練程式會先判斷這一筆內容是否已經是目前被提供到機器學習訓練程式內的檔案中的最後一筆還沒訓練過的內容(步驟S212)。假如還有其它筆還沒經過訓練的內容,那麼流程就會回到步驟S210以使機器學習訓練程式對下一筆內容來進行訓練;相對的,假如已經完成對於目前被提供到機器學習訓練程式內的檔案中的每一筆內容的訓練,那麼流程就會進到步驟S214並由機器學習訓練程式判斷是否要從先前要求放入到快取記憶體中的訓練資料來進行下一輪的訓練。假若還要進行下一輪的訓練,流程就回到步驟S206而使機器學習訓練程式再次指定要取得的檔案;相對的,假若已經不再就這一份訓練資料進行下一輪的訓練,機器學習訓練程式就可以通知處理模組120進行捨棄此份訓練資料的操作(步驟S216),並且處理模組120就可以根據機器學習訓練程式的通知而將所要捨棄的訓練資料自快取記憶體122移除(步驟S218)。
在一個實施例中,機器學習訓練程式可以將訓練資料分成好幾個部分,而且每一個部分包含一個以上的檔案(也就是上述的一組特定的檔案)。如上所述,機器學習訓練程式在步驟S206會要求處理模組提供其中一個部分的訓練資料,並在步驟S208取得這一個部分的訓練資料之後開始進行對應的訓練(步驟S210)。在每訓練過一個檔案之後,機器學習訓練程式會判斷目前在機器學習訓練程式中的那一部份的訓練資料裡是否還有其它檔案需要進行訓練。若還有其它檔案需要進行訓練,那麼步驟S212的判斷結果就會為「否」並使流程回到步驟S210以進行下一個檔案的訓練;相對的,若已經沒有其它檔案需要進行訓練,那麼步驟S212的判斷結果就會為「是」並使流程進入到步驟S214。在步驟S214中,機器學習訓練程式判斷是否還需要取得先前要求處理模組存放到快取記憶體中的訓練資料的其它部分來進行訓練。在機器學習訓練程式認為這些訓練資料中還有任何部分需要取來進行訓練的時候,步驟S214的判斷結果就會為「否」並使流程回到步驟S206而取得訓練資料中需要被用來訓練的那一個部分;相對的,在機器學習訓練程式認為已經不再需要使用這些訓練資料來進行訓練的時候,步驟S214的判斷結果就會為「是」並使流程進入到步驟S216與S218而捨棄現在儲存在快取記憶體中的訓練資料。
應該注意的是,機器學習訓練程式可以在不同時間點不止一次的從快取記憶體取用同一個檔案。或者,從另一個角度來看,儲存在快取記憶體中的檔案被機器學習訓練程式取用的順序與次數可以由機器學習訓練程式依照事先設定的規則來決定。例如,機器學習訓練程式可以被設計成以訓練資料中的所有檔案各被取用一次以進行訓練為一次完整訓練過程,並以完成重複特定次數的完整訓練過程為步驟S214的判斷結果為「是」的條件,藉此決定何時要從快取記憶體中移除訓練資料。
一般來說,上述用來執行機器學習訓練程式的可以是用來當成節點的個人電腦或伺服器裡的中央處理器。但是,由於在進行機器學習的訓練時必須耗費極高的計算量,所以在環境可以允許的情況下,機器學習訓練程序中所需要進行的一部份運算過程可以被安排到圖形處理單元(Graphic Processing Unit,GPU)中來進行。為了達成此功能,前述的處理模組可以同時包含中央處理器、圖形處理單元,以及經過處理模組執行而完成必要功能的相關程式。
根據上述,本說明所提供的超融合基礎架構的資料快取方法與節點、機器學習框架,及檔案系統代理程式直接根據所執行的程式的指令來決定將哪些資料放入到快取記憶體或將哪些資料從快取記憶體中移除,所以此資料快取方法及節點不需要運行複雜的快取預測機制。而且因為資料已經存放在本地節點的快取中,因此可以避免網路存取造成的延遲。甚至於,前述的快取記憶體還可以選用快速非揮發性記憶體(Non-Volatile Memory Express,NVMe)介面的快取裝置,更進一步減少資料存取的回應時間。因此,除了可以使節點有更多運算資源提供給程式運行使用之外,也可以使在節點中運算的程式得到良好的資料快取服務。
10:超融合基礎架構
12、14、16:節點
18:網路
120、140、160、200、300:處理模組
122、142、162:快取記憶體
124、144、164、230、330:資料傳輸介面模組
126、146、166:儲存裝置
130、210:運算程式
220、320:檔案系統代理程式
310:機器學習訓練程式
312:機器學習框架
D1、D2、D3、D4:資料
REQ:通知信號
S200~S218:本發明一實施例的施行步驟
圖1為根據本發明一實施例的超融合基礎架構的系統方塊示意圖。
圖2為根據本發明一實施例在處理模組中同時運行運算程式與檔案系統代理程式時的程式關係示意圖。
圖3為根據本發明一實施例以機器學習訓練程式作為運算程式時的程式關係示意圖。
圖4為根據本發明一實施例的超融合基礎架構的資料快取方法的流程圖。
S200~S218:本發明一實施例的施行步驟
Claims (15)
- 一種超融合基礎架構的資料快取方法,適用於包含多個節點的一超融合基礎架構中,該些節點中用來執行一運算程式的一執行節點向該些節點中的一資料節點取得儲存在該資料節點中且於執行該運算程式時所需的一運算資料,該執行節點包括讀寫速度快於機械式硬碟的一快取記憶體,該資料快取方法的特徵在於包括:在需要取得該運算資料時,使該運算程式通知該執行節點預先取得該運算資料;該執行節點根據該運算程式的通知而從該資料節點取得該運算資料,並將該運算資料放入該快取記憶體;在該運算資料儲存在該快取記憶體中且決定不使用該運算資料時,使該運算程式通知該執行節點放棄該運算資料;以及該執行節點根據該運算程式的通知而將該運算資料自該快取記憶體中移除。
- 如申請專利範圍第1項所述的資料快取方法,其中該運算程式為機器學習訓練程式。
- 如申請專利範圍第2項所述的資料快取方法,其中該運算程式利用呼叫一機器學習框架所提供的指令而與運行於該執行節點中的一檔案系統代理程式進行溝通。
- 如申請專利範圍第1項所述的資料快取方法,其中使該運算程式通知該執行節點預先取得該運算資料,包括: 從該運算程式發出一通知信號至運行於該執行節點中的一檔案系統代理程式以通知該檔案系統代理程式根據該通知信號取得該運算資料並放入該快取記憶體中。
- 如申請專利範圍第1項所述的資料快取方法,其中使該運算程式通知該執行節點放棄該運算資料,包括:從該運算程式發出一通知信號至運行於該執行節點中的一檔案系統代理程式以通知該檔案系統代理程式根據該通知信號從該快取記憶體中移除該運算資料。
- 一種超融合基礎架構的節點,適用於一超融合基礎架構中,該節點的特徵在於包括:一處理模組,適於執行一運算程式,該運算程式讀取並處理一運算資料;一資料傳輸介面模組,電性耦接至該處理模組;以及一快取記憶體,電性耦接至該資料傳輸介面模組,其中,在該運算程式使用該運算資料之前,該運算程式通知該處理模組進行取得該運算資料的操作,該處理模組通過該資料傳輸介面模組從一儲存裝置中取得該運算資料,並通過該資料傳輸介面模組將該運算資料儲存至該快取記憶體中以供該運算程式使用;其中,當該運算資料被儲存在該快取記憶體之中且該運算程式不需要使用該運算資料時,該運算程式通知該處理模組進行捨棄該運算資料的操作,且該處理模組根據該運算程式的通知而通過該資料傳輸介面模組將該運算資料從該快取記憶體中移除。
- 如申請專利範圍第6項所述的節點,其中該儲存裝置在該節點的內部。
- 如申請專利範圍第6項所述的節點,其中該儲存裝置在該節點的外部。
- 如申請專利範圍第6項所述的節點,其中該快取記憶體包括至少一固態磁碟。
- 如申請專利範圍第9項所述的節點,其中該快取記憶體所包括的該至少一固態磁碟組成磁碟陣列。
- 如申請專利範圍第6項所述的節點,其中該快取記憶體包括至少一儲存級記憶體。
- 如申請專利範圍第11項所述的節點,其中該快取記憶體所包括的該至少一儲存級記憶體組成磁碟陣列。
- 如申請專利範圍第3項所述的資料快取方法,其中該機器學習框架包括:提供一快取寫入指令,當一運算程式呼叫該快取寫入指令時,該機器學習框架根據該運算程式呼叫該快取寫入指令時提供的一寫入參數以要求該檔案系統代理程式將對應於該寫入參數的資料存入該快取記憶體中;以及提供一快取刪除指令,當該運算程式呼叫該快取刪除指令時,該機器學習框架根據該運算程式呼叫該快取刪除指令時提供的一刪除參數以要求該檔案系統代理程式將對應於該刪除參數的資料自該快取記憶體中刪除, 其中,該快取記憶體的讀寫速度快於機械式硬碟。
- 如申請專利範圍第13項所述的資料快取方法,其中對應於該寫入參數的資料,包括:一個完整的檔案、一目錄內的所有檔案及子目錄的內容,或記載於一個檔案中的所有檔案。
- 如申請專利範圍第3項所述的資料快取方法,其中該檔案系統代理程式包括:當被要求的時候,將一個完整的檔案、一個目錄中的所有檔案與所有子目錄之下的所有檔案,或記載於一個檔案中的所有檔案存入該快取記憶體中;以及當被要求的時候,將一個完整的檔案、一個目錄內的所有檔案及子目錄的內容,或記載於一個檔案中的所有檔案自該快取記憶體中移除,其中,該快取記憶體的讀寫速度快於機械式硬碟。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108126666A TWI710954B (zh) | 2019-07-26 | 2019-07-26 | 超融合基礎架構的資料快取方法與節點、機器學習框架及檔案系統代理程式 |
US16/934,048 US11755534B2 (en) | 2017-02-14 | 2020-07-21 | Data caching method and node based on hyper-converged infrastructure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108126666A TWI710954B (zh) | 2019-07-26 | 2019-07-26 | 超融合基礎架構的資料快取方法與節點、機器學習框架及檔案系統代理程式 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI710954B true TWI710954B (zh) | 2020-11-21 |
TW202105173A TW202105173A (zh) | 2021-02-01 |
Family
ID=74187560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108126666A TWI710954B (zh) | 2017-02-14 | 2019-07-26 | 超融合基礎架構的資料快取方法與節點、機器學習框架及檔案系統代理程式 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI710954B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020258A (zh) * | 2012-12-21 | 2013-04-03 | 中国科学院计算机网络信息中心 | 一种采用多核集群的lda模型的训练方法及系统 |
CN205680247U (zh) * | 2016-04-19 | 2016-11-09 | 陈进民 | 细胞/卷积神经网络智能视觉驾驶疲劳监测加速器 |
TW201804336A (zh) * | 2016-07-27 | 2018-02-01 | 阿里巴巴集團服務有限公司 | 分散式儲存及運算系統 |
TW201913416A (zh) * | 2017-08-31 | 2019-04-01 | 美商美光科技公司 | 索引鍵值結構樹資料庫 |
-
2019
- 2019-07-26 TW TW108126666A patent/TWI710954B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020258A (zh) * | 2012-12-21 | 2013-04-03 | 中国科学院计算机网络信息中心 | 一种采用多核集群的lda模型的训练方法及系统 |
CN205680247U (zh) * | 2016-04-19 | 2016-11-09 | 陈进民 | 细胞/卷积神经网络智能视觉驾驶疲劳监测加速器 |
TW201804336A (zh) * | 2016-07-27 | 2018-02-01 | 阿里巴巴集團服務有限公司 | 分散式儲存及運算系統 |
TW201913416A (zh) * | 2017-08-31 | 2019-04-01 | 美商美光科技公司 | 索引鍵值結構樹資料庫 |
Also Published As
Publication number | Publication date |
---|---|
TW202105173A (zh) | 2021-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11645183B1 (en) | User interface for correlation of virtual machine information and storage information | |
WO2016082793A1 (zh) | 高速缓存cache存储器系统及访问缓存行cache line的方法 | |
JP2004192292A (ja) | プリフェッチアプライアンスサーバ | |
JP6090431B2 (ja) | 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム | |
CN104580437A (zh) | 一种云存储客户端及其高效数据访问方法 | |
CN104035938A (zh) | 一种性能持续集成数据处理的方法及装置 | |
JP2013186770A (ja) | データ処理装置 | |
CN105095495B (zh) | 一种分布式文件系统缓存管理方法和系统 | |
JP2013254419A (ja) | 情報処理装置 | |
CN106021544B (zh) | 数据库分布式连接池管理方法和系统 | |
CN107220248B (zh) | 一种用于存储数据的方法和装置 | |
US20180165018A1 (en) | Partial storage of large files in distinct storage systems | |
TWI710954B (zh) | 超融合基礎架構的資料快取方法與節點、機器學習框架及檔案系統代理程式 | |
US11755534B2 (en) | Data caching method and node based on hyper-converged infrastructure | |
US9405786B2 (en) | System and method for database flow management | |
WO2024156239A1 (zh) | 视频流传输方法、装置、电子设备及存储介质 | |
CN110955461B (zh) | 计算任务的处理方法、装置、系统、服务器和存储介质 | |
US20230367757A1 (en) | Streams using persistent tables | |
US12056352B2 (en) | Memory control for data processing pipeline optimization | |
CN116760821A (zh) | 一种分布式文件下载方法、系统、电子设备及存储介质 | |
CN113806013B (zh) | 一种存储链路清理方法、装置、设备及介质 | |
US11288070B2 (en) | Optimization of low-level memory operations in a NUMA environment | |
KR100622621B1 (ko) | 운영-대기(Active-Standby) 모드로이중화된 IP 통신 시스템에서 주 시스템과 부 시스템간구성 데이터를 동기화하기 위한 방법 및 그 시스템 | |
CN117240811B (zh) | 一种数据报文处理方法及系统 | |
CN107844258A (zh) | 数据处理方法、客户端、节点服务器及分布式文件系统 |