新四季網

用於分布式系統的主節點和從節點的並行處理方法和設備與流程

2023-09-13 16:30:50 1

本發明總體說來涉及分布式系統的並行計算領域,更具體地說,涉及一種用於分布式系統的主節點和從節點的並行處理方法和設備。
背景技術:
::分布式系統通常由多個節點組成,分布式系統的基本思想是用多個節點來協同求解同一問題,即將被求解的問題分解成若干個部分,各部分均由一個獨立的節點來並行處理。目前,主流的分布式並行處理架構通常不能夠兼容傳統的POSIX(PortableOperatingSystemInterface,可移植作業系統接口)多線程程序,即,無法使傳統的POSIX多線程程序直接運行在分布式系統的多個節點上。技術實現要素:本發明的示例性實施例在於提供一種用於分布式系統的主節點和從節點的並行處理方法和設備,以解決傳統的POSIX多線程程序無法直接運行在分布式系統上的問題。根據本發明示例性實施例的一方面,提供一種用於分布式系統的主節點的並行處理方法,所述方法包括:確定多個子線程中的每個子線程所對應的從節點;將每個子線程的線程信息發送到對應的從節點,以使所述對應的從節點根據接收到的線程信息來恢復每個子線程;從所述從節點接收用於指示所述從節點完成所述恢復的通知;向所述從節點發送用於執行恢復的子線程的控制指令。可選地,所述方法可還包括:檢測主節點的內核數據結構信息是否有改動;如果所述內核數據結構信息發生改動,則向各從節點發送用於指示節點的內核數據結構信息發生改動的廣播,以使各從節點根據所述廣播來修改各自節點的內核數據結構信息。可選地,所述內核數據結構信息可包括子線程的內存映射文件、子線程的線程描述符和子線程的信號列表。可選地,所述方法可還包括:在主節點控制所述多個子線程停止工作。可選地,確定多個子線程中的每個子線程所對應的從節點的步驟可包括:根據預定映射關係表確定所述多個子線程中的每個子線程所對應的從節點,或者,由主節點動態為所述多個子線程中的每個子線程分配對應的從節點。可選地,所述線程信息可包括寄存器狀態和線程描述符,所述線程描述符包括任務名和內存狀態。可選地,所述方法可還包括:響應於從任意一個從節點接收的用於讀取數據的請求,將所述請求所指示的數據或者所述請求所指示的數據的存儲路徑發送給所述任意一個從節點。可選地,所述方法可還包括:根據從任意一個從節點接收的用於數據更新的廣播,將主節點中存儲的與所述廣播所指示的數據對應的數據刪除,並將所述廣播所指示的數據的存儲路徑更新為所述任意一個從節點。可選地,所述方法可還包括:根據從任意一個從節點接收的用於指示節點的內核數據結構信息發生改動的廣播,修改主節點的內核數據結構信息。根據本發明示例性實施例的另一方面,提供一種用於分布式系統的從節點的並行處理方法,所述方法包括:從主節點接收子線程的線程信息;根據接收的所述線程信息恢復所述子線程;向主節點發送用於指示所述從節點完成所述恢復的通知;從主節點接收控制指令;響應於所述控制指令來執行恢復的子線程。可選地,接收的所述線程信息可包括寄存器狀態和線程描述符,所述線程描述符包括任務名和內存狀態。可選地,根據接收的所述線程信息恢復所述子線程的步驟可包括:創建一個新的子線程;將所述寄存器狀態、所述任務名和所述內存狀態賦值給所述新的子線程,以將所述新的子線程恢復為所述子線程。可選地,所述方法可還包括:向主節點發送用於讀取數據的請求,並從主節點接收所述請求所指示的數據,或者從主節點接收所述請求所指示的數據的存儲路徑,從所述存儲路徑指示的節點讀取所述數據。可選地,向主節點發送用於讀取數據的請求的步驟可包括:檢測本地是否存儲了在執行所述子線程過程中所需的數據;如果本地存儲了所述數據,則從本地讀取所述數據;如果本地沒有存儲所述數據,則向主節點發送用於讀取數據的請求。可選地,所述方法可還包括:向所有節點發送用於指示數據更新的廣播,以使主節點將所述廣播所指示的數據的存儲路徑更新為所述從節點。可選地,所述方法可還包括:檢測所述從節點的內核數據結構信息是否有改動;如果所述內核數據結構信息發生改動,則向所有節點發送用於指示節點的內核數據結構信息發生改動的廣播,以使各節點根據所述廣播來修改各自節點的內核數據結構信息。可選地,所述內核數據結構信息可包括子線程的內存映射文件、子線程的線程描述符和子線程的信號列表。可選地,所述方法可還包括:根據從任意一個節點接收的用於指示節點的內核數據結構信息發生改動的廣播,修改所述從節點的內核數據結構信息。根據本發明示例性實施例的再一方面,提供一種用於分布式系統的主節點的並行處理設備,所述設備包括:線程處理單元,根據預定映射關係表,確定多個子線程中的每個子線程所對應的從節點,並將每個子線程的線程信息發送到對應的從節點,以使所述對應的從節點根據接收到的線程信息來恢復每個子線程;接收單元,從所述從節點接收用於指示所述從節點完成所述恢復的通知;發送單元,向所述從節點發送用於執行恢復的子線程的控制指令。可選地,所述設備可還包括:檢測單元,檢測主節點的內核數據結構信息是否有改動,其中,如果所述內核數據結構信息發生改動,則發送單元可向各從節點發送用於指示節點的內核數據結構信息發生改動的廣播,以使各從節點根據所述廣播來修改各自節點的內核數據結構信息。可選地,所述內核數據結構信息可包括子線程的內存映射文件、子線程的線程描述符和子線程的信號列表。可選地,線程處理單元可控制所述多個子線程停止工作。可選地,線程處理單元可根據預定映射關係表確定所述多個子線程中的每個子線程所對應的從節點,或者,可動態為所述多個子線程中的每個子線程分配對應的從節點。可選地,所述線程信息可包括寄存器狀態和線程描述符,所述線程描述符包括任務名和內存狀態。可選地,發送單元可還響應於從任意一個從節點接收的用於讀取數據的請求,將所述請求所指示的數據或者所述請求所指示的數據的存儲路徑發送給所述任意一個從節點。可選地,所述設備可還包括:路徑更新單元,根據從任意一個從節點接收的用於數據更新的廣播,將主節點中存儲的與所述廣播所指示的數據對應的數據刪除,並將所述廣播所指示的數據的存儲路徑更新為所述任意一個從節點。可選地,所述設備可還包括:內核數據結構更新單元,根據從任意一個從節點接收的用於指示節點的內核數據結構信息發生改動的廣播,修改主節點的內核數據結構信息。根據本發明示例性實施例的再一方面,提供一種用於分布式系統的從節點的並行處理設備,所述設備包括:信息接收單元,從主節點接收子線程的線程信息;線程恢復單元,根據接收的所述線程信息恢復所述子線程;發送單元,向主節點發送用於指示所述從節點完成所述恢復的通知;指令接收單元,從主節點接收控制指令;執行單元,響應於所述控制指令來執行恢復的子線程。可選地,信息接收單元可接收的所述線程信息包括寄存器狀態和線程描述符,所述線程描述符包括任務名和內存狀態。可選地,線程恢復單元可創建一個新的子線程,將所述寄存器狀態、所述任務名和所述內存狀態賦值給所述新的子線程,以將所述新的子線程恢復為所述子線程。可選地,發送單元可還向主節點發送用於讀取數據的請求,其中,可還包括數據讀取單元,從主節點接收所述請求所指示的數據,或者從主節點接收所述請求所指示的數據的存儲路徑,從所述存儲路徑指示的節點讀取所述數據。可選地,所述設備可還包括:第一檢測單元,檢測本地是否存儲了在執行所述子線程過程中所需的數據,其中,如果本地存儲了所述數據,則數據讀取單元可從本地讀取所述數據,如果本地沒有存儲所述數據,則發送單元可向主節點發送用於讀取數據的請求。可選地,發送單元可還向所有節點發送用於指示數據更新的廣播,以使主節點將所述廣播所指示的數據的存儲路徑更新為所述從節點。可選地,所述設備可還包括:第二檢測單元,檢測所述從節點的內核數據結構信息是否有改動,其中,如果所述內核數據結構信息發生改動,則發送單元可向所有節點發送用於指示節點的內核數據結構信息發生改動的廣播,以使各節點根據所述廣播來修改各自節點的內核數據結構信息。可選地,所述內核數據結構信息可包括子線程的內存映射文件、子線程的線程描述符和子線程的信號列表。可選地,所述設備可還包括:內核數據結構更新單元,根據從任意一個節點接收的用於指示節點的內核數據結構信息發生改動的廣播,修改所述從節點的內核數據結構信息。上述用於分布式系統的主節點和從節點的並行處理方法和設備工作效率高,能夠支持在分布式系統上直接運行傳統POSIX多線程程序,提高了分布式系統的兼容性。附圖說明通過下面結合示例性地示出實施例的附圖進行的詳細描述,本發明示例性實施例的上述和其它目的、特點和優點將會變得更加清楚,其中:圖1示出根據本發明示例性實施例的分布式系統中主節點與從節點之間信息交互流程的示意圖;圖2示出根據本發明示例性實施例的分布式系統中讀取數據步驟的流程圖;圖3示出根據本發明示例性實施例的分布式系統中寫數據步驟的流程圖;圖4示出根據本發明示例性實施例的用於分布式系統的主節點的並行處理設備的框圖;圖5示出根據本發明示例性實施例的用於分布式系統的從節點的並行處理設備的框圖。具體實施方式現在,將參照附圖更充分地描述不同的示例實施例,其中,一些示例性實施例在附圖中示出。應理解,分布式系統可包括主節點和至少一個從節點,例如,可從分布式系統包含的所有節點中選擇一個節點作為主節點,分布式系統中除主節點之外的其他節點可作為從節點。在本發明的示例性實施例中將以所述至少一個從節點中的任意一個從節點為例,來詳細介紹主節點與從節點之間的信息交互流程。圖1示出根據本發明示例性實施例的分布式系統中主節點與從節點之間信息交互流程的示意圖。參照圖1,在步驟S10中,主節點確定多個子線程中的每個子線程所對應的從節點。例如,所述多個子線程可首先在主節點上加載並運行,然後主節點再將每個子線程分配到對應的從節點,以使所有節點共同工作,來達到並行處理的目的。在一個示例中,在執行步驟S10之前,主節點可預先設定預定映射關係表,所述預定映射關係表中可包括所述多個子線程與所有從節點之間的映射關係,此時,主節點可根據預定映射關係表,確定每個子線程所對應的從節點(即,確定每個子線程被分配執行的從節點)。在另一示例中,主節點可動態為所述多個子線程中的每個子線程分配對應的從節點。例如,所述多個子線程可首先在主節點上加載並運行,主節點在各子線程運行過程中,動態的將子線程分配給對應的從節點。在步驟S20中,主節點將每個子線程的線程信息發送到對應的從節點,以使所述對應的從節點根據接收到的線程信息來恢復每個子線程。這裡,根據本發明示例性實施例的分布式系統中主節點與從節點之間信息交互流程可還包括:主節點控制所述多個子線程停止工作,而由主節點執行的子線程不被分配,繼續在主節點運行。可選地,可在主節點將每個子線程的線程信息發送到對應的從節點之後,控制所述多個子線程停止工作,或者,也可在主節點確定出多個子線程中的每個子線程所對應的從節點之後,控制所述多個子線程停止工作,在控制所述多個子線程停止工作之後,可將所述多個子線程掛起,移出主節點的執行隊列,進入主節點的待執行隊列中。在步驟S30中,從節點從主節點接收子線程的線程信息,並根據接收的所述線程信息恢復所述子線程。作為示例,接收的子線程的線程信息可包括寄存器狀態和線程描述符,所述線程描述符可包括任務名和內存狀態。優選地,在本發明示例性實施例中,根據接收的所述線程信息恢復所述子線程的步驟可包括:創建一個新的子線程;將所述寄存器狀態、所述任務名和所述內存狀態賦值給所述新的子線程,以將所述新的子線程恢復為所述子線程。在步驟S40中,從節點向主節點發送用於指示所述從節點完成子線程恢復的通知。這裡,當從節點完成恢復子線程的操作之後,可向主節點發送用於指示所述從節點完成子線程恢復的通知。在步驟S50中,主節點判斷是否所有從節點均完成子線程恢復任務,即,主節點可確定是否從所有從節點均接收到用於指示從節點完成子線程恢復任務的通知。如果所有從節點沒有均完成子線程恢復任務,則返回步驟S50,繼續進行判斷。如果所有從節點均完成子線程恢復任務,則執行步驟S60:主節點向從節點發送用於執行恢復的子線程的控制指令。這裡,主節點向所有從節點均發送所述控制指令,作為示例,所述控制指令可指示從節點開始執行對應的子線程。在步驟S70中,從節點從主節點接收控制指令,並響應於所述控制指令來執行恢復的子線程。應理解,在分布式系統中主節點和從節點在執行子線程時,還包括讀取數據和寫數據的操作,下面參照圖2來詳細描述分布式系統中讀取數據步驟的流程。圖2示出根據本發明示例性實施例的分布式系統中讀取數據步驟的流程圖。在步驟S201中,從節點檢測本地是否存儲了在執行子線程過程中所需的數據。如果從節點檢測到本地存儲了所述數據,則執行步驟S202:從節點從本地讀取所述數據。如果從節點沒有檢測到本地存儲了所述數據,則執行步驟S203:從節點向主節點發送用於讀取數據的請求。在步驟S204中,主節點響應於從所述從節點接收的用於讀取數據的請求,確定所述請求所指示的數據的存儲路徑,即,確定所述存儲路徑所指向的節點。在步驟S205中,主節點確定所述請求所指示的數據的存儲路徑是否指向主節點。如果主節點確定所述存儲路徑指向主節點,則執行步驟S206:主節點將所述請求所指示的數據發送給從節點。這裡,可在主節點中存儲了用於執行多個子線程所需的數據,當從節點首次執行與其具有映射關係的子線程時,可從主節點讀取所述數據。如果主節點確定所述存儲路徑不指向主節點,則執行步驟S207:主節點將所述請求所指示的數據的存儲路徑發送給從節點。例如,主節點中可存儲一數據結構表,該數據結構表為數據和所述數據的存儲路徑之間的對應關係表,主節點可根據所述請求所指示的數據從數據結構表中找到與所述數據對應的數據的存儲路徑,並將找到的存儲路徑發送給從節點。這裡,僅在主節點中存儲該數據結構表,各從節點讀取數據時均可向主節點發送用於讀取數據的請求,以由主節點響應於該請求來查找數據結構表,從而保證所有節點讀取數據的內容一致性。在步驟S208中,從節點從所述存儲路徑指示的節點讀取所述數據。應理解,圖2所示為從節點在執行子線程過程中讀取所需數據的過程,主節點在執行子線程過程中讀取所需數據的過程與從節點讀取數據的過程類似,例如,主節點可檢測本地是否存儲了在執行子線程過程中所需的數據,如果主節點檢測到本地存儲了所述數據,則主節點從本地讀取所述數據,如果主節點沒有檢測到本地存儲了所述數據,則主節點通過查找數據結構表確定所述數據的存儲路徑,並從所述存儲路徑指示的節點讀取所述數據。下面參照圖3來詳細描述分布式系統中寫數據步驟的流程。圖3示出根據本發明示例性實施例的分布式系統中寫數據步驟的流程圖。在步驟S301中,當從節點在執行子線程過程中執行了寫數據操作(即,對數據進行了更新,例如,產生了新數據或對數據進行了修改)時,從節點將更新後的數據存儲在從節點的本地。在步驟S302中,從節點向所有節點發送用於指示數據更新的廣播。這裡,所有節點可指主節點和所述至少一個從節點中除所述從節點之外的其他從節點。在步驟S303中,主節點檢測本地是否存儲了所述廣播所指示的數據。例如,所述廣播所指示的數據可指與從節點更新後的數據對應的更新前的數據。如果主節點檢測到本地存儲了所述廣播所指示的數據,則執行步驟S304:主節點刪除主節點本地存儲的所述廣播所指示的數據。這裡,如果主節點沒有檢測到本地存儲了所述廣播所指示的數據,則可直接執行步驟S305。在步驟S305中,主節點更新所述廣播所指示的數據的存儲路徑,即,將將所述廣播所指示的數據的存儲路徑更新為指向所述從節點。例如,主節點可將數據結構表中與所述廣播所指示的數據對應的存儲路徑所指向的節點更新為所述從節點(即,發送所述廣播的從節點)。在步驟S306中,其他從節點接收到所述廣播之後,可檢測本地是否存儲了所述廣播所指示的數據。如果所述其他從節點檢測到本地存儲了所述廣播所指示的數據,則執行步驟S307:所述其他從節點刪除本地存儲的所述廣播所指示的數據。這裡,如果所述其他從節點沒有檢測到本地存儲了所述廣播所指示的數據,則所述其他從節點不對接收到的廣播進行處理。應理解,圖3所示為從節點在執行子線程過程中寫數據的過程,主節點在執行子線程過程中寫數據的過程與從節點寫數據的過程類似,例如,當主節點在執行子線程過程中執行了寫數據操作時,主節點將更新後的數據存儲在主節點的本地,並將數據結構表中與所述更新後的數據對應的數據的存儲路徑更新為指向主節點,此外,主節點還向各從節點發送用於指示數據更新的廣播,各從節點響應於所述廣播來刪除本地存儲的所述廣播所指示的數據。這裡,圖3所示的節點寫數據過程,可確保數據僅存儲在一個節點上,主節點中存儲了最新的數據的存儲路徑,有效確保所有節點讀寫數據的同步。應理解,在分布式系統中主節點和從節點在執行子線程時,節點本地的內核數據結構信息可能發生改動,下面來詳細介紹修改內核數據結構信息的過程。例如,以主節點為例,可檢測主節點本地的內核數據結構信息是否有改動,如果主節點的內核數據結構信息發生改動,則向各從節點發送用於指示節點的內核數據結構信息發生改動的廣播,作為示例,所述內核數據結構信息可包括子線程的內存映射文件、子線程的線程描述符和子線程的信號列表,所述廣播中攜帶了指示內核數據結構信息中包含的哪部分內容被改動的信息,各從節點在接收到所述廣播之後,對所述廣播進行解析,並在節點本地根據從所述廣播中解析出的信息來修改各自的內核數據結構信息,以使得所有節點的內核數據結構信息保持一致。類似地,如果檢測到從節點本地的內核數據結構信息發生改動,則所述從節點可向所有節點(即,分布式系統中除該從節點之外的其他節點)發送用於指示節點的內核數據結構信息發生改動的廣播,所述廣播中攜帶了指示內核數據結構信息中包含的哪部分內容被改動的信息,各節點在接收到所述廣播之後,對所述廣播進行解析,並在節點本地根據從所述廣播中解析出的信息來修改各自的內核數據結構信息,以使得所有節點的內核數據結構信息保持一致。這裡,應理解,傳統的、運行在單一SMP(SymmetricalMulti-Processing)節點的POSIX多線程程序可以充分利用單一節點上多個CPU的計算能力完成並行計算任務。傳統的POSIX多線程程序開發簡單、運行效率高,且已經有很多現成的應用程式,但是它們都無法直接運行在分布式系統上,為使得傳統的POSIX多線程程序可運行在分布式系統上,現有技術中通常需藉助於MPI(信息傳遞接口)。現有的MPI是運行在分布式系統的內核之上,即,通過修改系統上層的應用程式來實現多線程運行,MPI的每個節點都需要建立自身的軟體庫,由軟體工程師通過各種並行處理方案的編程技巧來實現分發和數據同步。根據本發明的示例性實施例的用於分布式系統的主節點和從節點的並行處理方法和設備,通過對現有的分布式系統中各節點的內核數據結構信息的修改可實現在分布式系統上直接運行POSIX多線程程序。圖4示出根據本發明示例性實施例的用於分布式系統的主節點的並行處理設備的框圖。如圖4所示,根據本發明示例性實施例的用於分布式系統的主節點的並行處理設備包括:線程處理單元10、接收單元20和發送單元30。圖5示出根據本發明示例性實施例的用於分布式系統的從節點的並行處理設備的框圖。如圖5所示,根據本發明示例性實施例的用於分布式系統的從節點的並行處理設備包括:信息接收單元100、線程恢復單元200、發送單元300、指令接收單元400和執行單元500。下面結合圖4和圖5來詳細介紹分布式系統中主節點與從節點之間信息交互過程。具體說來,線程處理單元10確定多個子線程中的每個子線程所對應的從節點,並將每個子線程的線程信息發送到對應的從節點,以使所述對應的從節點根據接收到的線程信息來恢復每個子線程。例如,所述多個子線程可首先在主節點上加載並運行,然後線程處理單元10再將每個子線程分配到對應的從節點,以使所有節點共同工作,來達到並行處理的目的。在一個示例中,線程處理單元10可預先設定預定映射關係表,所述預定映射關係表中可包括所述多個子線程與所有從節點之間的映射關係,然後線程處理單元10可根據預定映射關係表,確定每個子線程所對應的從節點(即,每個子線程被分配執行的從節點)。在另一示例中,線程處理單元10可動態為所述多個子線程中的每個子線程分配對應的從節點。例如,所述多個子線程可在主節點上加載並運行,線程處理單元10在各子線程運行過程中,動態的將子線程分配給對應的從節點。這裡,線程處理單元10可還控制所述多個子線程停止工作,而由主節點執行的子線程不被分配,繼續在主節點運行。可選地,可在線程處理單元10將每個子線程的線程信息發送到對應的從節點之後,線程處理單元10控制所述多個子線程停止工作,或者,也可在線程處理單元10確定出多個子線程中的每個子線程所對應的從節點之後,線程處理單元10控制所述多個子線程停止工作,在控制所述多個子線程停止工作之後,可將所述多個子線程掛起,移出主節點的執行隊列,進入主節點的待執行隊列中。信息接收單元100從主節點接收子線程的線程信息。作為示例,接收的子線程的線程信息可包括寄存器狀態和線程描述符,所述線程描述符可包括任務名和內存狀態。線程恢復單元200根據接收的所述線程信息恢復所述子線程。優選地,線程恢復單元200可創建一個新的子線程,將所述寄存器狀態、所述任務名和所述內存狀態賦值給所述新的子線程,以將所述新的子線程恢復為所述子線程。發送單元300向主節點發送用於指示所述從節點完成子線程恢復的通知。這裡,當線程恢復單元200完成恢復子線程的操作之後,發送單元300可向主節點發送用於指示所述從節點完成子線程恢復的通知。接收單元20從所述從節點接收用於指示所述從節點完成子線程恢復的通知。這裡,接收單元20可判斷是否所有從節點均完成子線程恢復任務,即,接收單元20可確定是否從所有從節點均接收到用於指示從節點完成子線程恢復任務的通知。如果所有從節點沒有均完成子線程恢復任務,則接收單元20繼續進行判斷。如果所有從節點均完成子線程恢復任務,則發送單元30向所述從節點發送用於執行恢復的子線程的控制指令。這裡,發送單元30向所有從節點均發送所述控制指令,作為示例,所述控制指令可指示從節點開始執行對應的子線程。指令接收單元400從主節點接收控制指令。執行單元500響應於所述控制指令來執行恢復的子線程。應理解,在分布式系統中主節點和從節點在執行子線程時,還包括讀取數據和寫數據的操作,下面來詳細描述分布式系統中讀取數據的過程。優選地,根據本發明示例性實施例的用於分布式系統的從節點的並行處理設備可還包括第一檢測單元和數據讀取單元(未示出),第一檢測單元檢測從節點本地是否存儲了在執行所述子線程過程中所需的數據。如果第一檢測單元檢測到從節點本地存儲了所述數據,則數據讀取單元從從節點本地讀取所述數據。如果第一檢測單元沒有檢測到從節點本地存儲了所述數據,則發送單元300還向主節點發送用於讀取數據的請求。用於分布式系統的主節點的並行處理設備中的發送單元30響應於從所述從節點接收的用於讀取數據的請求,確定所述請求所指示的數據的存儲路徑,即,確定所述存儲路徑所指向的節點。發送單元30還確定所述請求所指示的數據的存儲路徑是否指向主節點。如果確定所述存儲路徑指向主節點,則發送單元30將所述請求所指示的數據發送給從節點。如果確定所述存儲路徑不指向主節點,則發送單元30將所述請求所指示的數據的存儲路徑發送給從節點。例如,根據本發明示例性實施例的用於分布式系統的主節點的並行處理設備可還包括存儲單元,用於存儲數據結構表,該數據結構表為數據和所述數據的存儲路徑之間的對應關係表,發送單元30可根據所述請求所指示的數據從數據結構表中找到與所述數據對應的數據的存儲路徑,並將找到的存儲路徑發送給從節點。數據讀取單元從所述存儲路徑指示的節點讀取所述數據。這裡,僅在主節點中存儲該數據結構表,各從節點讀取數據時均可向主節點發送用於讀取數據的請求,以由發送單元30響應於該請求來查找數據結構表,從而保證所有節點讀取數據的內容一致性。下面來詳細描述分布式系統中寫數據的過程。根據本發明示例性實施例的用於分布式系統的從節點的並行處理設備可還包括存儲單元,當從節點在執行子線程過程中執行了寫數據操作(即,對數據進行了更新,例如,產生了新數據或對數據進行了修改)時,存儲單元將更新後的數據存儲在從節點的本地。發送單元300向所有節點發送用於指示數據更新的廣播。這裡,所有節點可指主節點和所述至少一個從節點中除所述從節點之外的其他從節點。根據本發明示例性實施例的用於分布式系統的主節點的並行處理設備可還包括第二檢測單元和路徑更新單元,第二檢測單元檢測主節點本地是否存儲了所述廣播所指示的數據。例如,所述廣播所指示的數據可指與從節點更新後的數據對應的更新前的數據。如果第二檢測單元檢測到主節點本地存儲了所述廣播所指示的數據,則路徑更新單元刪除主節點本地存儲的所述廣播所指示的數據。並且,路徑更新單元還更新所述廣播所指示的數據的存儲路徑,即,將所述廣播所指示的數據的存儲路徑更新為指向所述從節點。例如,路徑更新單元可將數據結構表中與所述廣播所指示的數據的存儲路徑所指向的節點更新為所述從節點(即,發送所述廣播的從節點)。這裡,如果第二檢測單元沒有檢測到主節點本地存儲了所述廣播所指示的數據,則可直接更新所述廣播所指示的數據的存儲路徑。這裡,當其他從節點接收到所述廣播時,也可檢測所述其他從節點本地是否存儲了所述廣播所指示的數據,如果檢測到所述其他從節點本地存儲了所述廣播所指示的數據,則刪除本地存儲的所述廣播所指示的數據,如果沒有檢測到所述其他從節點本地存儲了所述廣播所指示的數據,則所述其他從節點不對接收到的廣播進行處理。應理解,在分布式系統中主節點和從節點在執行子線程時,節點本地的內核數據結構信息可能發生改動,下面來詳細介紹修改內核數據結構信息的過程。例如,以主節點為例,根據本發明示例性實施例的用於分布式系統的主節點的並行處理設備可還包括:第三檢測單元和內核數據結構更新單元,第三檢測單元可檢測主節點本地的內核數據結構信息是否有改動,如果主節點的內核數據結構信息發生改動,則發送單元30可向各從節點發送用於指示節點的內核數據結構信息發生改動的廣播,作為示例,所述內核數據結構信息可包括子線程的內存映射文件、子線程的線程描述符和子線程的信號列表,所述廣播中攜帶了指示內核數據結構信息中包含的哪部分內容被改動的信息,各從節點在接收到所述廣播之後,內核數據結構更新單元可對所述廣播進行解析,並在節點本地根據從所述廣播中解析出的信息來修改各自的內核數據結構信息,以使得所有節點的內核數據結構信息保持一致。類似地,根據本發明示例性實施例的用於分布式系統的從節點的並行處理設備可還包括第四檢測單元和內核數據結構更新單元,如果第四檢測單元檢測到從節點本地的內核數據結構信息發生改動,則發送單元300可向所有節點(即,分布式系統中除該從節點之外的其他節點)發送用於指示節點的內核數據結構信息發生改動的廣播,所述廣播中攜帶了指示內核數據結構信息中包含的哪部分內容被改動的信息,各節點在接收到所述廣播之後,內核數據結構更新單元對所述廣播進行解析,並在節點本地根據從所述廣播中解析出的信息來修改各自的內核數據結構信息,以使得所有節點的內核數據結構信息保持一致。採用本發明示例性實施例的用於分布式系統的主節點和從節點的並行處理方法和設備,不僅能夠兼容傳統POSIX多線程程序,且此並行處理架構不需要開發人員掌握複雜的並行處理編程技巧就可以開發出高效的分布式應用程式,用戶無需進行過多的安裝和配置就能夠部署和使用分布式應用程式。此外,根據本發明示例性實施例的用於分布式系統的主節點和從節點的並行處理方法可以被實現為計算機可讀記錄介質中的計算機代碼。本領域技術人員可以根據對上述方法的描述來實現所述計算機代碼。當所述計算機代碼在計算機中被執行時實現本發明的上述方法。此外,根據本發明示例性實施例的用於分布式系統的主節點和從節點的並行處理設備中的各個單元可被實現硬體組件。本領域技術人員根據限定的各個單元所執行的處理,可以例如使用現場可編程門陣列(FPGA)或專用集成電路(ASIC)來實現各個單元。儘管已經參照其示例性實施例具體顯示和描述了本發明,但是本領域的技術人員應該理解,在不脫離權利要求所限定的本發明的精神和範圍的情況下,可以對其進行形式和細節上的各種改變。當前第1頁1&nbsp2&nbsp3&nbsp當前第1頁1&nbsp2&nbsp3&nbsp

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀