System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及仿真,特別是涉及一種基于自適應任務解鎖的異步保守時間管理方法和裝置。
技術介紹
1、在并行分布仿真研究中,待研究的目標系統被表示為一組仿真實體,實體之間通過傳遞帶時戳的仿真事件(或稱消息)相互影響,從而驅動仿真系統按時間演進。仿真實體被分配到不同分組,稱為邏輯進程。將邏輯進程分配到多個計算單元同時執行,可有效減低仿真運行時間。然而,由于不同邏輯進程處理事件速率可能不一致,需要通過時間管理機制調度和協調邏輯進程執行以確保全局的邏輯一致性,這也是并行分布仿真要解決的核心問題。
2、一般而言,時間管理算法可分為有保守和樂觀兩類。保守時間管理算法只有在確保邏輯進程不會違反時戳序時才能執行事件;樂觀時間管理算法則放松了“完全不會違反時戳序”的限制,邏輯進程按當前“可見的”時戳順序執行事件,只在時戳亂序確實發生后,通過回滾等方法來修復錯誤。對于那些前瞻性較好的仿真應用,保守算法能夠很好的工作。根據是否需要進行全局同步,保守時間管理算法還可進一步分為同步保守算法和異步保守算法。同步保守時間管理基于統一的時間窗口,只有所有邏輯進程完成當前窗口的仿真任務后才能開始下一階段的任務;異步保守時間管理算法則通過“空消息”機制更新各個邏輯進程的時間約束,邏輯進程可以根據自己的時間窗口獨立推進。
3、然而,由于社交網絡具有小世界特性,智能體之間距離較短,導致個體之間存在較強的依賴關系,使用異步時間管理方法會有較大的時間窗口更新開銷,而使用樂觀時間管理控制輿論動力模型會產生大量回滾,嚴重浪費計算資源。因此亟待提出基于一種時間
技術實現思路
1、基于此,有必要針對上述技術問題,提供一種基于自適應任務解鎖的異步保守時間管理方法和裝置。
2、一種基于自適應任務解鎖的異步保守時間管理方法,所述方法包括:
3、將參與仿真的多智能體進行分組,得到n個智能體分組;
4、初始化預先設置的就緒隊列和等待隊列,初始化的就緒隊列包括n個智能體分組,初始化的等待隊列為空集;
5、當第步存在線程空閑時,若就緒隊列不為空,則按照干擾指數優先級從就緒隊列中依次取出智能體分組并執行,若當前智能體分組不滿足在第步的執行依賴條件,則將當前智能體在第步的消息依賴分組加入等待隊列中;
6、若就緒隊列為空,則按照依賴指數優先級從等待隊列中依次取出智能體分組,若當前智能體分組的消息依賴分組均完成第步的仿真任務,則執行當前智能體分組在第步的仿真任務,并生成后續時間步的新的消息依賴,根據新的消息依賴更新等待隊列,迭代初始化后的步驟,直至n個智能體分組的任務執行完成。
7、一種基于自適應任務解鎖的異步保守時間管理裝置,所述裝置包括:
8、分組模塊,用于將參與仿真的多智能體進行分組,得到n個智能體分組;
9、初始化模塊,用于初始化預先設置的就緒隊列和等待隊列,初始化的就緒隊列包括n個智能體分組,初始化的等待隊列為空集;
10、就緒操作模塊,用于當第步存在線程空閑時,若就緒隊列不為空,則按照干擾指數優先級從就緒隊列中依次取出智能體分組并執行,若當前智能體分組不滿足在第步的執行依賴條件,則將當前智能體在第步的消息依賴分組加入等待隊列中;
11、等待操作模塊,用于若就緒隊列為空,則按照依賴指數優先級從等待隊列中依次取出智能體分組,若當前智能體分組的消息依賴分組均完成第步的仿真任務,則執行當前智能體分組在第步的仿真任務,并生成后續時間步的新的消息依賴,根據新的消息依賴更新等待隊列,迭代初始化后的步驟,直至n個智能體分組的任務執行完成。
12、一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現以下步驟:
13、將參與仿真的多智能體進行分組,得到n個智能體分組;
14、初始化預先設置的就緒隊列和等待隊列,初始化的就緒隊列包括n個智能體分組,初始化的等待隊列為空集;
15、當第步存在線程空閑時,若就緒隊列不為空,則按照干擾指數優先級從就緒隊列中依次取出智能體分組并執行,若當前智能體分組不滿足在第步的執行依賴條件,則將當前智能體在第步的消息依賴分組加入等待隊列中;
16、若就緒隊列為空,則按照依賴指數優先級從等待隊列中依次取出智能體分組,若當前智能體分組的消息依賴分組均完成第步的仿真任務,則執行當前智能體分組在第步的仿真任務,并生成后續時間步的新的消息依賴,根據新的消息依賴更新等待隊列,迭代初始化后的步驟,直至n個智能體分組的任務執行完成。
17、一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現以下步驟:
18、將參與仿真的多智能體進行分組,得到n個智能體分組;
19、初始化預先設置的就緒隊列和等待隊列,初始化的就緒隊列包括n個智能體分組,初始化的等待隊列為空集;
20、當第步存在線程空閑時,若就緒隊列不為空,則按照干擾指數優先級從就緒隊列中依次取出智能體分組并執行,若當前智能體分組不滿足在第步的執行依賴條件,則將當前智能體在第步的消息依賴分組加入等待隊列中;
21、若就緒隊列為空,則按照依賴指數優先級從等待隊列中依次取出智能體分組,若當前智能體分組的消息依賴分組均完成第步的仿真任務,則執行當前智能體分組在第步的仿真任務,并生成后續時間步的新的消息依賴,根據新的消息依賴更新等待隊列,迭代初始化后的步驟,直至n個智能體分組的任務執行完成。
22、上述基于自適應任務解鎖的異步保守時間管理方法和裝置,通過將智能體分為若干組,并以組為單位進行任務調度,降低調度開銷并優化cache訪問效率,初始化預先設置的就緒隊列和等待隊列,當第步存在線程空閑時,若就緒隊列不為空,則按照干擾指數優先級從就緒隊列中依次取出智能體分組并執行,若當前智能體分組不滿足在第步的執行依賴條件,則將當前智能體在第步的消息依賴分組加入等待隊列中,若就緒隊列為空,則按照依賴指數優先級從等待隊列中依次取出智能體分組,若當前智能體分組的消息依賴分組均完成第步的仿真任務,則執行當前智能體分組在第步的仿真任務,并生成后續時間步的新的消息依賴,根據新的消息依賴更新等待隊列,能夠在運行過程中根據約束條件變化動態解鎖計算任務。本專利技術實施例,能夠高效利用計算資源,提升仿真運行效率。
本文檔來自技高網...【技術保護點】
1.一種基于自適應任務解鎖的異步保守時間管理方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述就緒隊列包括按照干擾指數從小到大排列的智能體分組;所述等待隊列包括不同仿真時間步層級,每一層級包括對應時間步下按照依賴指數從小到大排列的智能體分組。
3.根據權利要求2所述的方法,其特征在于,所述依賴指數是通過每一智能體分組在時刻作為消息輸出目標的分組數得到的。
4.根據權利要求2所述的方法,其特征在于,得到干擾指數的步驟,包括:
5.根據權利要求1所述的方法,其特征在于,所述方法還包括:
6.根據權利要求5所述的方法,其特征在于,所述方法還包括:
7.根據權利要求1所述的方法,其特征在于,所述方法還包括:
8.一種基于自適應任務解鎖的異步保守時間管理裝置,其特征在于,所述裝置包括:
【技術特征摘要】
1.一種基于自適應任務解鎖的異步保守時間管理方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述就緒隊列包括按照干擾指數從小到大排列的智能體分組;所述等待隊列包括不同仿真時間步層級,每一層級包括對應時間步下按照依賴指數從小到大排列的智能體分組。
3.根據權利要求2所述的方法,其特征在于,所述依賴指數是通過每一智能體分組在時刻作為消息輸出目標的分組...
【專利技術屬性】
技術研發人員:唐文杰,朱峰,姚益平,陳凱,湯曜坤,曲慶軍,
申請(專利權)人:中國人民解放軍國防科技大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。