二通用寄存器的第二數(shù)量和第二位數(shù); 所述主終端解析待執(zhí)行的應用程序得到并行線程條數(shù); 所述主終端判斷所述并行線程條數(shù)是否超過所述第一內核數(shù); 若超過,所述主終端判斷是否存在符合兼容條件且符合分配條件的所述從終端;所述兼容條件為所述第二數(shù)量大于等于所述第一數(shù)量且所述第二位數(shù)大于等于所述第一位數(shù);所述分配條件為所述從終端CPU占用率低于第一預設值; 若存在,所述主終端將符合所述兼容條件和所述分配條件的所述從終端作為目標終端; 所述主終端執(zhí)行所述第一內核數(shù)條的并行線程得到第一運算結果,且分別分配所述第二內核數(shù)條的并行線程至所述目標終端,以供所述目標終端執(zhí)行得到第二運算結果;所述主終端接收每一個所述目標終端發(fā)送的第二運算結果; 所述主終端判斷所有的并行線程是否執(zhí)行完成; 若是,所述主終端規(guī)整所有的所述第一運算結果和所述第二運算結果得到最終運算結果O2.根據(jù)權利要求1所述的多終端共同處理多并行線程程序的方法,其特征在于,所述主終端執(zhí)行所述第一內核數(shù)條的并行線程得到第一運算結果,且分別分配所述第二內核數(shù)條的并行線程至所述目標終端,以供所述目標終端執(zhí)行得到第二運算結果的步驟,包括: 所述第一內核數(shù)條的并行線程構成第一運行棧,每一條所述并行線程包括代碼和數(shù)據(jù)信息,所述主終端調用所述數(shù)據(jù)信息執(zhí)行所述代碼,以執(zhí)行所述并行線程,所述主終端根據(jù)所述第一運行棧按序執(zhí)行所述并行線程,所述主終端執(zhí)行完所述第一運行棧后得到第一運算結果; 所述第二內核數(shù)條的并行線程構成第二運行棧,所述目標終端調用所述數(shù)據(jù)信息執(zhí)行所述代碼,以執(zhí)行所述并行線程,所述目標終端根據(jù)所述第二運行棧按序執(zhí)行所述并行線程,所述目標終端執(zhí)行完成所述第二運行棧得到第二運算結果。3.根據(jù)權利要求1或2所述的多終端共同處理多并行線程程序的方法,其特征在于,所述主終端判斷所有的并行線程是否執(zhí)行完成的步驟之后,還包括: 若否,所述主終端在余下的并行線程中再執(zhí)行所述第一內核數(shù)條的并行線程,且在余下的并行線程中分別分配所述第二內核數(shù)條的并行線程至所述目標終端,以供所述目標終端執(zhí)行,直至所有的并行線程執(zhí)行完成。4.根據(jù)權利要求1所述的多終端共同處理多并行線程程序的方法,其特征在于,所述主終端判斷所述并行線程條數(shù)是否超過所述第一內核數(shù)的步驟之后,還包括: 若未超過,所述主終端獲取主終端CPU占用率; 所述主終端判斷所述主終端CPU占用率是否超過第二預設值,所述第二預設值大于所述第一預設值; 若超過,所述主終端判斷是否存在符合所述兼容條件和所述分配條件的所述從終端; 若存在,所述主終端將符合所述兼容條件和所述分配條件的所述從終端作為目標終端; 所述主終端分別分配所述第二內核數(shù)條的并行線程至所述目標終端,以供所述目標終端執(zhí)行得到第二運算結果; 所述主終端接收每一個所述目標終端發(fā)送的第二運算結果; 所述主終端判斷所有的并行線程是否執(zhí)行完成; 若是,所述主終端規(guī)整所有的所述第二運算結果得到最終運算結果。5.根據(jù)權利要求1或4所述的多終端共同處理多并行線程程序的方法,其特征在于,所述主終端判斷是否存在符合兼容條件且符合分配條件的所述從終端的步驟之后,還包括: 若不存在,所述主終端執(zhí)行所述待執(zhí)行的應用程序得到最終運算結果。6.一種多并行線程程序的處理系統(tǒng),其特征在于,所述處理系統(tǒng)包括主終端和多個從終端,所述主終端分別電性連接所述從終端;所述主終端包括獲取模塊、解析模塊、判斷模塊、確定模塊、第一運行模塊、規(guī)整模塊、第一發(fā)送模塊和第一接收模塊,所述從終端包括第二接收模塊、第二運行模塊和第二發(fā)送模塊;所述獲取模塊,用于獲取自身的第一內核數(shù)、第一通用寄存器的第一數(shù)量和第一位數(shù),以及還用于獲取每一個所述從終端的第二內核數(shù)、第二通用寄存器的第二數(shù)量和第二位數(shù);所述解析模塊,用于解析待執(zhí)行的應用程序得到并行線程條數(shù);所述判斷模塊,用于判斷所述并行線程條數(shù)是否超過所述第一內核數(shù),以及還用于所述并行線程條數(shù)超過所述第一內核數(shù)時,判斷是否存在符合兼容條件且符合分配條件的所述從終端,所述兼容條件為所述第二數(shù)量大于等于所述第一數(shù)量且所述第二位數(shù)大于等于所述第一位數(shù),所述分配條件為所述從終端CPU占用率低于第一預設值;所述確定模塊,用于確定符合所述兼容條件和所述分配條件的所述從終端為目標終端;所述第一運行模塊,用于執(zhí)行所述第一內核數(shù)條的并行線程得到第一運算結果;所述第一發(fā)送模塊,用于分別分配所述第二內核數(shù)條的并行線程至所述目標終端;所述第二接收模塊,用于接收所述第二內核數(shù)條的并行線程;所述第二運行模塊,用于執(zhí)行所述第二內核數(shù)條的并行線程得到第二運算結果;所述第二發(fā)送模塊,用于發(fā)送所述第二運算結果至所述主終端;所述第一接收模塊,用于接收所述第二運算結果;所述判斷模塊,還用于判斷所有的并行線程是否執(zhí)行完成;所述規(guī)整模塊,用于判定所有的并行線程執(zhí)行完成時,規(guī)整所有的所述第一運算結果和所述第二運算結果得到最終運算結果。7.根據(jù)權利要求6所述的多并行線程程序的處理系統(tǒng),其特征在于,所述第一內核數(shù)條的并行線程構成第一運行棧,每一條所述并行線程包括代碼和數(shù)據(jù)信息,所述第一運行模塊,用于調用所述數(shù)據(jù)信息執(zhí)行所述代碼,以執(zhí)行所述并行線程,以及還用于根據(jù)所述第一運行棧按序執(zhí)行所述并行線程,以致執(zhí)行完所述第一運行棧后得到第一運算結果;所述第二內核數(shù)條的并行線程構成第二運行棧,所述第二運行模塊,用于調用所述數(shù)據(jù)信息執(zhí)行所述代碼,以執(zhí)行所述并行線程,以及還用于根據(jù)所述第二運行棧按序執(zhí)行所述并行線程,以致執(zhí)行完成所述第二運行棧得到第二運算結果。8.根據(jù)權利要求6或7所述的多并行線程程序的處理系統(tǒng),其特征在于,所述第一運行模塊,還用于所有的并行線程未執(zhí)行完成時,在余下的并行線程中再執(zhí)行所述第一內核數(shù)條的并行線程,且所述第一發(fā)送模塊,還用于在余下的并行線程中分別分配所述第二內核數(shù)條的并行線程至所述目標終端,以供所述目標終端執(zhí)行,直至所有的并行線程執(zhí)行完成。9.根據(jù)權利要求6所述的多并行線程程序的處理系統(tǒng),其特征在于,所述獲取模塊,還用于所述并行線程條數(shù)未超過所述第一內核數(shù)時,獲取主終端CPU占用率;所述判斷模塊,還用于判斷所述主終端CPU占用率是否超過第二預設值,所述第二預設值大于所述第一預設值,以及還用于所述主終端CPU占用率超過第二預設值時,判斷是否存在符合所述兼容條件和所述分配條件的所述從終端;所述確定模塊,還用于將符合所述兼容條件和所述分配條件的所述從終端作為目標終端;所述第一發(fā)送模塊,還用于分別分配所述第二內核數(shù)條的并行線程至所述目標終端;所述第二接收模塊,還用于接收所述第二內核數(shù)條的并行線程;所述第二運行模塊,用于執(zhí)行所述第二內核數(shù)條的并行線程得到第二運算結果;所述第二發(fā)送模塊,用于發(fā)送所述第二運算結果至所述主終端;所述第一接收模塊,用于接收所述第二運算結果;所述判斷模塊,還用于判斷所有的并行線程是否執(zhí)行完成;所述規(guī)整模塊,用于判定所有的并行線程執(zhí)行完成時,規(guī)整所有的所述第二運算結果得到最終運算結果。10.根據(jù)權利要求6或9所述的多并行線程程序的處理系統(tǒng),其特征在于,所述第一運行模塊,還用于不存在符合兼容條件且符合分配條件的所述從終端時,執(zhí)行所述待執(zhí)行的應用程序得到最終運算結果。
【專利摘要】本發(fā)明公開了一種多終端共同處理多并行線程程序的方法,其包括如下步驟:主終端獲取自身的第一內核數(shù)、第一通用寄存器的第一數(shù)量和第一位數(shù),以及獲取每一個從終端的第二內核數(shù)、從終端CPU占用率、第二通用寄存器的第二數(shù)量和第二位數(shù)。主終端解析待執(zhí)行的應用程序得到并行線程條數(shù)。主終端判定并行線程條數(shù)超過第一內核數(shù),且判定存在第二數(shù)量大于等于第一數(shù)量、第二位數(shù)大于等于第一位數(shù)且從終端CPU占用率低于第一預設值的一個或多個從終端時,主終端與該一個從終端或多個從終端共同處理待執(zhí)行的應用程序。本發(fā)明還公開一種實現(xiàn)該方法的處理系統(tǒng)。本發(fā)明通過多終端處理待執(zhí)行的應用程序,提升了多并行線程程序的處理速度。
【IPC分類】G06F9/46, G06F9/50
【公開號】CN105045652
【申請?zhí)枴緾N201510394708
【發(fā)明人】代豪, 劉曉寧, 包健
【申請人】深圳市云舒網絡技術有限公司
【公開日】2015年11月11日
【申請日】2015年7月7日