新四季網

多核存儲裝置及多核環境的跟蹤日誌輸出處理方法

2023-04-23 17:59:46 2

多核存儲裝置及多核環境的跟蹤日誌輸出處理方法
【專利摘要】本發明適用於存儲【技術領域】,提供了一種多核環境的跟蹤日誌輸出處理方法,所述方法包括:每個核的跟蹤日誌生成時,對跟蹤日誌數據進行打包,並加入時間戳信息,所述時間戳信息用於標識跟蹤日誌記錄的先後順序;為多個核各配置一無鎖循環緩存結構和靜態緩存結構,分別用於暫存所述跟蹤日誌的指針,以及暫存每個核生成的跟蹤日誌及對應的時間戳;根據所述跟蹤日誌的指針獲取所述跟蹤日誌的時間戳信息,並根據時間戳信息對不同靜態緩存結構的跟蹤日誌進行排序處理;定時器中斷時,對所述跟蹤日誌輸出處理。本發明還相應提供一種實現上述方法的多核存儲裝置。藉此,本發明可以使緩存操作和輸出操作同時進行,減少調度次數,提高資源利用率。
【專利說明】多核存儲裝置及多核環境的跟蹤日誌輸出處理方法

【技術領域】
[0001]本發明涉及存儲【技術領域】,尤其涉及一種多核存儲裝置及多核環境的跟蹤日誌輸出處理方法。

【背景技術】
[0002]Trace log (跟蹤日誌)是存儲系統中的用戶常用進程之一。現有技術中一般是通過在存儲區域申請一塊trace log記錄緩衝區,在程序執行的過程中將trace log記錄寫入緩衝區,最後由一個優先級最低的任務負責trace log記錄的輸出。
[0003]上述方法有以下不利之處:1)當多個core同時向trace log記錄緩衝區寫入trace log記錄時必須先獲取鎖,所以需要等待其他Core釋放鎖;2)在優先級最低的任務所在的Core做trace log記錄輸出時,需要對trace log記錄緩衝區加鎖,通過加鎖的方式避免trace log記錄管理出現不一致的問題,但這種方式將直接導致其他Core此時如果有trace log記錄產生,那麼必須等待優先級最低的任務釋放鎖。
[0004]綜上可知,現有技術在在實際使用上顯然存在不便與缺陷,所以有必要加以改進。


【發明內容】

[0005]針對上述的缺陷,本發明的目的在於提供一種多核存儲裝置及多核環境的跟蹤日誌輸出處理方法,可以減少調度次數,提高資源利用率。
[0006]為了實現上述目的,本發明提供一種多核環境的跟蹤日誌輸出處理方法,所述方法包括:
[0007]每個核的跟蹤日誌生成時,對所述跟蹤日誌的數據進行打包,並加入時間戳信息,所述時間戳信息用於標識跟蹤日誌記錄的先後順序;
[0008]為多個核各配置一無鎖循環緩存結構和靜態緩存結構,所述無鎖循環緩存結構用於暫存所述跟蹤日誌的指針,所述靜態緩存結構用於暫存每個核生成的跟蹤日誌及對應的時間戳;
[0009]根據所述跟蹤日誌的指針獲取所述跟蹤日誌的時間戳信息,並根據時間戳信息對不同靜態緩存結構的跟蹤日誌進行排序處理;
[0010]定時器中斷時,對所述跟蹤日誌輸出處理。
[0011]根據本發明的多核環境的跟蹤日誌輸出處理方法,根據時間戳信息對不同靜態緩存結構的跟蹤日誌進行排序處理步驟包括:
[0012]預設一時間戳緩存結構;
[0013]將不同跟蹤日誌的時間戳信息讀取到所述時間戳緩存結構,每個跟蹤日誌的時間戳信息只讀取一次;
[0014]將所述時間戳信息按大小排序處理。
[0015]根據本發明的多核環境的跟蹤日誌輸出處理方法,所述定時器中斷時,對所述跟蹤日誌輸出處理步驟具體為:
[0016]定時器中斷時,將時間戳最小的跟蹤日誌輸出。
[0017]根據本發明的多核環境的跟蹤日誌輸出處理方法,每個所述跟蹤日誌對應一個唯一的時間戳信息。
[0018]根據本發明的多核環境的跟蹤日誌輸出處理方法,所述跟蹤日誌的輸出處理由負載最小的核完成,其它核可以同步產生跟蹤日誌。
[0019]本發明還提供一種多核存儲裝置,其特徵在於,包括:
[0020]日誌處理模塊,用於每個核的跟蹤日誌生成時,對所述跟蹤日誌的數據進行打包,並加入時間戳信息,所述時間戳信息用於標識跟蹤日誌記錄的先後順序;
[0021]緩存配置模塊,用於為多個核各配置一無鎖循環緩存結構和靜態緩存結構,所述無鎖循環緩存結構用於暫存所述跟蹤日誌的指針,所述靜態緩存結構用於暫存每個核生成的跟蹤日誌及對應的時間戳;
[0022]日誌排序模塊,用於根據所述跟蹤日誌的指針獲取所述跟蹤日誌的時間戳信息,並根據時間戳信息對不同靜態緩存結構的跟蹤日誌進行排序處理;
[0023]日誌輸出模塊,用於定時器中斷時,對所述跟蹤日誌輸出處理。
[0024]根據本發明的多核存儲裝置,所述日誌排序模塊包括:
[0025]設置子模塊,用於預設一時間戳緩存結構;
[0026]讀取子模塊,用於將不同跟蹤日誌的時間戳信息讀取到所述時間戳緩存結構,每個跟蹤日誌的時間戳信息只讀取一次;
[0027]排序子模塊,用於將所述時間戳信息按大小排序處理。
[0028]根據本發明的多核存儲裝置,所述日誌輸出模塊用於定時器中斷時,將時間戳最小的跟蹤日誌輸出。
[0029]根據本發明的多核存儲裝置,每個所述跟蹤日誌對應一個唯一的時間戳信息。
[0030]根據本發明的多核存儲裝置,所述跟蹤日誌的輸出處理由負載最小的核完成,其它核可以同步產生跟蹤日誌。
[0031]本發明通過在每個核生成的trace log中加入時間戳信息,使其可以方便的進行識別與分類。並且每個核對應配置有無鎖的循環緩存結構和靜態緩存結構,分別用於暫存所述跟蹤日誌的指針,及暫存每個核生成的跟蹤日誌及對應的時間戳,通過時間戳信息可以方便的對各跟蹤日誌進行排序,並在定時器定時中斷時,即可以將trace log記錄輸出到外設。本發明產生trace log記錄時不需加鎖,提高了 CPU資源的利用率,並且通過在裝置內對trace log進行排序可減少對trace log的調度次數。

【專利附圖】

【附圖說明】
[0032]圖1是本發明的多核存儲裝置結構示意圖;
[0033]圖2是本發明的日誌排序模塊結構示意圖;
[0034]圖3是本發明一實施例的跟蹤日誌處理流程示意圖;
[0035]圖4是本發明一實施例的時間戳緩存結構示意圖;
[0036]圖5是本發明一實施例的跟蹤日誌排序處理示意圖;
[0037]圖6是本發明的多核環境的trace log輸出處理方法流程圖;
[0038]圖7是本發明一實施例的跟蹤日誌排序流程圖;
[0039]圖8是本發明另一實施例的跟蹤日誌排序輸出處理流程圖。

【具體實施方式】
[0040]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
[0041]參見圖1,本發明提供了一種多核存儲裝置,該多核存儲裝置100包括日誌處理模塊10、緩存配置模塊20、日誌處理模塊30以及日誌輸出模塊40,其中:
[0042]日誌處理模塊10,用於每個核的跟蹤日誌生成時,對跟蹤日誌數據進行打包,並加入時間戳信息,所述時間戳信息用於標識跟蹤日誌記錄的先後順序,且每個跟蹤日誌對應一個唯一的時間戳信息。
[0043]對應於圖3中的Stepl, trace log記錄產生階段,對trace log數據進行打包,力口入時間戳信息,以標識trace log記錄的先後順序。
[0044]緩存配置模塊20,用於為多個核各配置一無鎖循環緩存結構(fifo)和靜態緩存結構,所述無鎖循環緩存結構用於暫存所述跟蹤日誌的指針,所述靜態緩存結構用於暫存每個核生成的跟蹤日誌及對應的時間戳。
[0045]對應於圖3中的Step2,每個Core都分配了一個支持無鎖操作的循環buffer (fifoO?fifo 3)和一個trace log buffer (靜態緩存結構)。無鎖操作的循環buffer用來承載 trace log 記錄在 trace log buffer 中的指針。trace log buffer 用來承載 trace log記錄的頭信息和trace log數據。當產生trace log記錄的時候,CPU就將trace log的頭信息(包括時間戳信息)和數據存到trace log buffer中,並把該trace log記錄指針壓入循環buffer。
[0046]日誌排序模塊30,用於根據所述跟蹤日誌的指針獲取所述跟蹤日誌的時間戳信息,並根據時間戳信息對不同靜態緩存結構的跟蹤日誌進行排序處理。
[0047]對應於圖3中的Step3。無鎖操作的循環buffer內的trace log記錄指針是按時間有序的,但不同core的循環buffer之間的trace log記錄的順序是未知的。為了保證trace log的輸出的順序正確,trace log必須進行排序。
[0048]優選的是,結合圖2,日誌排序模塊30包括:
[0049]設置子模塊31,用於預設一時間戳緩存結構。如圖4所示,本發明通過定義tracelog timestamp (時間戳)buffer,每條trace log記錄的時間戳只會被讀取一次,在tracelog timestamp buffer中完成排序,藉此減少fifo不必要的讀操作。
[0050]讀取子模塊32,用於將不同跟蹤日誌的時間戳信息讀取到所述時間戳緩存結構,每個跟蹤日誌的時間戳信息只讀取一次。
[0051]排序子模塊33,用於將所述時間戳信息按大小排序處理,如圖5所示,藉此使不同無鎖操作的循環buffer內的trace log記錄也有序排列。
[0052]日誌輸出模塊40,用於定時器中斷時,對所述跟蹤日誌輸出處理。需要說明的,定時器中斷時,日誌輸出模塊40將時間戳最小的trace log進行輸出處理,且優選的,輸出處理由負載最小的核完成,其它核可以同步產生跟蹤日誌。外設處於空閒狀態時即接收時間戳最小的trace log。
[0053]本發明適用於固態硬碟控制器在多核環境下並且PC側外設終端無法通過tracelog記錄的相關信息進行先後排序的情況,通過無鎖操作結構,以及在存儲裝置內排序,實現了多核環境trace log記錄從產生到輸出無加解鎖操作,消除了因為加解鎖導致的core之間的等待,提高了 CPU資源的利用率。
[0054]參見圖6,本發明提供了一種多核環境的trace log輸出處理方法,其可以通過如圖1所示的存儲裝置100實現,該方法包括:
[0055]步驟S601,每個核的跟蹤日誌生成時,對跟蹤日誌數據進行打包,並加入時間戳信息,所述時間戳信息用於標識跟蹤日誌記錄的先後順序,且每個跟蹤日誌對應一個唯一的時間戳信息。對應於圖3中的Stepl, trace log記錄產生階段,對trace log數據進行打包,加入時間戳信息,以標識trace log記錄的先後順序。
[0056]步驟S602,為多個核各配置一無鎖循環緩存結構(fifo)和靜態緩存結構,所述無鎖循環緩存結構用於暫存所述跟蹤日誌的指針,所述靜態緩存結構用於暫存每個核生成的跟蹤日誌及對應的時間戳。對應於圖3中的Step2,每個Core都分配了一個支持無鎖操作的循環buffer (fifo O?fifo 3)和一個trace log buffer (靜態緩存結構)。無鎖操作的循環 buffer 用來承載 trace log 記錄在 trace log buffer 中的指針。trace log buffer用來承載trace log記錄的頭信息和trace log數據。當產生trace log記錄的時候,CPU就將trace log的頭信息(包括時間戳信息)和數據存到trace log buffer中,並把該trace log記錄指針壓入循環buffer。
[0057]步驟S603,根據所述跟蹤日誌的指針獲取所述跟蹤日誌的時間戳信息,並根據時間戳信息對不同靜態緩存結構的跟蹤日誌進行排序處理。對應於圖3中的Step3。無鎖操作的循環buffer內的trace log記錄指針是按時間有序的,但不同core的循環buffer之間的trace log記錄的順序是未知的。為了保證trace log的輸出的順序正確,trace log必須進行排序。
[0058]步驟S604,定時器中斷時,對所述跟蹤日誌輸出處理。需要說明的,定時器中斷時,將時間戳最小的trace log進行輸出處理,且優選的,輸出處理由負載最小的核完成,其它核可以同步產生跟蹤日誌。外設處於空閒狀態時即接收時間戳最小的trace log。
[0059]優選的,結合圖7,步驟S603具體包括:
[0060]步驟S6031,預設一時間戳緩存結構。如圖4所示,本發明通過定義trace logtimestamp (時間戳)buffer,每條trace log記錄的時間戳只會被讀取一次,在trace logtimestamp buffer中完成排序,藉此減少fifo不必要的讀操作。
[0061]步驟S6032,將不同跟蹤日誌的時間戳信息讀取到所述時間戳緩存結構,每個跟蹤日誌的時間戳信息只讀取一次。
[0062]步驟S6033,將所述時間戳信息按大小排序處理,如圖5所示,藉此使不同無鎖操作的循環buffer內的trace log記錄也有序排列。
[0063]對於具體的排序及輸出流程,如圖8所示,其通過檢測FIFO中的指針,將指針指向的log的時間戳存入到時間戳緩存結構,並在其中排序,讀出一次trace log時,將隊列頭的指針(時間戳最小)指向的trace log讀出,外設空閒時即輸出到外設。圖8中Pop操作的功能為讀出一個記錄,Peek操作的功能為只讀一個記錄。在本發明中,trace log記錄輸出功能由負載最小的Core來完成,在trace log輸出的時候,其他的Core可以同步產生trace log 記錄。
[0064]綜上所述,本發明通過在每個核生成的trace log中加入時間戳信息,使其可以方便的進行識別與分類。並且每個核對應配置有無鎖的循環緩存結構和靜態緩存結構,分別用於暫存所述跟蹤日誌的指針,及暫存每個核生成的跟蹤日誌及對應的時間戳,通過時間戳信息可以方便的對各跟蹤日誌進行排序,並在定時器定時中斷時,即可以將trace log記錄輸出到外設。本發明產生trace log記錄時不需加鎖,提高了 CPU資源的利用率,並且通過在裝置內對trace log進行排序可減少對trace log的調度次數。
[0065]當然,本發明還可有其它多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬於本發明所附的權利要求的保護範圍。
【權利要求】
1.一種多核環境的跟蹤日誌輸出處理方法,其特徵在於,所述方法包括: 每個核的跟蹤日誌生成時,對所述跟蹤日誌的數據進行打包,並加入時間戳信息,所述時間戳信息用於標識跟蹤日誌記錄的先後順序; 為多個核各配置一無鎖循環緩存結構和靜態緩存結構,所述無鎖循環緩存結構用於暫存所述跟蹤日誌的指針,所述靜態緩存結構用於暫存每個核生成的跟蹤日誌及對應的時間戳; 根據所述跟蹤日誌的指針獲取所述跟蹤日誌的時間戳信息,並根據時間戳信息對不同靜態緩存結構的跟蹤日誌進行排序處理; 定時器中斷時,對所述跟蹤日誌輸出處理。
2.根據權利要求1所述的多核環境的跟蹤日誌輸出處理方法,其特徵在於,根據時間戳信息對不同靜態緩存結構的跟蹤日誌進行排序處理步驟包括: 預設一時間戳緩存結構; 將不同跟蹤日誌的時間戳信息讀取到所述時間戳緩存結構,每個跟蹤日誌的時間戳信息只讀取一次; 將所述時間戳信息按大小排序處理。
3.根據權利要求1所述的多核環境的跟蹤日誌輸出處理方法,其特徵在於,所述定時器中斷時,對所述跟蹤日誌輸出處理步驟具體為: 定時器中斷時,將時間戳最小的跟蹤日誌輸出。
4.根據權利要求1所述的多核環境的跟蹤日誌輸出處理方法,其特徵在於,每個所述跟蹤日誌對應一個唯一的時間戳信息。
5.根據權利要求1?4任一項所述的多核環境的跟蹤日誌輸出處理方法,其特徵在於,所述跟蹤日誌的輸出處理由負載最小的核完成,其它核可以同步產生跟蹤日誌。
6.一種多核存儲裝置,其特徵在於,包括: 日誌處理模塊,用於每個核的跟蹤日誌生成時,對所述跟蹤日誌的數據進行打包,並加入時間戳信息,所述時間戳信息用於標識跟蹤日誌記錄的先後順序; 緩存配置模塊,用於為多個核各配置一無鎖循環緩存結構和靜態緩存結構,所述無鎖循環緩存結構用於暫存所述跟蹤日誌的指針,所述靜態緩存結構用於暫存每個核生成的跟蹤日誌及對應的時間戳; 日誌排序模塊,用於根據所述跟蹤日誌的指針獲取所述跟蹤日誌的時間戳信息,並根據時間戳信息對不同靜態緩存結構的跟蹤日誌進行排序處理; 日誌輸出模塊,用於定時器中斷時,對所述跟蹤日誌輸出處理。
7.根據權利要求6所述的多核存儲裝置,其特徵在於,所述日誌排序模塊包括: 設置子模塊,用於預設一時間戳緩存結構; 讀取子模塊,用於將不同跟蹤日誌的時間戳信息讀取到所述時間戳緩存結構,每個跟蹤日誌的時間戳信息只讀取一次; 排序子模塊,用於將所述時間戳信息按大小排序處理。
8.根據權利要求6所述的多核存儲裝置,其特徵在於,所述日誌輸出模塊用於定時器中斷時,將時間戳最小的跟蹤日誌輸出。
9.根據權利要求8所述的多核存儲裝置,其特徵在於,每個所述跟蹤日誌對應一個唯一的時間戳信息。
10.根據權利要求6?9任一項所述的多核存儲裝置,其特徵在於,所述跟蹤日誌的輸出處理由負載最小的核完成,其它核可以同步產生跟蹤日誌。
【文檔編號】G06F12/08GK104461931SQ201410407250
【公開日】2015年3月25日 申請日期:2014年8月18日 優先權日:2014年8月18日
【發明者】周大鵬 申請人:記憶科技(深圳)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀