System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機,尤其涉及一種基于時延感知的serverless請求調度裝置及系統。
技術介紹
1、隨著近幾年云計算產業的發展,越來越多的一線工程師將他們的應用程序部署到serverless平臺上,因為serverless可以為業務團隊節省大量底層資源的運維開銷,開發者可以更加專注業務的代碼邏輯,而不需要擔心底層資源的復雜配置。
2、伯克利在2019年2月發表的論文中提到,serverless將會是云計算下一個十年的發展方向,近幾年越來越多的開源serverless平臺開始出現,比如knative,openwhisk等(由于k8s的普及和特性,大部分開源serverless平臺都是以k8s(kubernetes)為集群管理底座)。伴隨著依附于serverless平臺的業務越來越多,這也對serverless平臺提出了新的要求和挑戰,特別是針對于短時運行的時延敏感型請求(用戶請求為同步請求且帶有slo目標),相關技術中的serverless平臺還不能解決違反slo情況的問題,如何解決這一技術問題,是研究的重中之重。
技術實現思路
1、有鑒于此,提出了一種基于時延感知的serverless請求調度裝置、系統及方法。
2、一方面,本申請的實施例提供了一種基于時延感知的serverless請求調度裝置,所述裝置包括:第一調度模塊和第二調度模塊,
3、所述第一調度模塊,用于將確定出的當前的請求隊列隊首的用戶請求確定為目標用戶請求,在確定不存在滿足執行條件的
4、所述第二調度模塊,用于在接收到所述pod創建請求的情況下,在基于所述pod創建請求確定新建pod滿足節點創建條件的情況下,從多個節點中選擇出目標節點并在所述目標節點中新建pod,以及將新建pod的信息發送至所述第一調度模塊;
5、所述第一調度模塊,還用于根據接收到的所述新建pod的信息納管所述新建pod,將所述新建pod確定為目標pod,并將根據所述目標用戶請求發送至所述目標pod,以使所述目標pod執行接收到的目標用戶請求。
6、通過上述裝置,可以在沒有滿足執行條件的目標pod的情況下,選擇滿足節點創建條件的目標節點進行新pod的創建,并將新建pod確定為執行目標用戶請求的目標pod。可以優化節點選擇策略,在當前處理能力最強的目標節點上復用/創建pod,以此降低平臺請求調度時延,更有效利用節點資源,降低slo違反比例。
7、在一種可能的實現方式中,所述執行條件為:處理所述目標用戶請求的預估時長、網絡通信總時長與pod處理完當前任務隊列的全部用戶請求的總時長之和小于當前距離違反所述目標用戶請求的slo的剩余時長。這樣,可以根據slo、目標用戶請求選擇出最適合執行目標用戶請求的目標pod,降低用戶請求的排隊時長,降低slp違反比例。
8、在一種可能的實現方式中,所述節點創建條件為:pod的冷啟動時長、第一調度模塊納管所述新建pod所需時長、處理所述目標用戶請求的預估時長之和小于當前距距離違反所述目標用戶請求的slo的剩余時長。這樣,可以感知節點處理能力,基于歷史請求處理時間、歷史slo違反率、當前節點硬件資源剩余量等指標選擇目標節點,降低slp違反比例。
9、在一種可能的實現方式中,所述第一調度模塊,還用于接收新的用戶請求,在確定所述用戶請求滿足接收條件的情況下,根據所述用戶請求的slo截止時間將所述用戶請求加入當前請求隊列。這樣,可以在接收新的用戶請求時,就進行集群能否在不違反slo的前提下執行用戶請求的確定,降低違反slo的比例。
10、在一種可能的實現方式中,所述第一調度模塊,還用于在確定所述用戶請求不滿足接收條件的情況下,確定無法執行所述用戶請求,返回請求失敗報告。
11、在一種可能的實現方式中,所述接收條件為:集群處理所述用戶請求的平均時延、所述用戶請求在當前請求隊列中的排隊時延、所述集群內網絡傳輸時延之和小于當前距離違反所述用戶請求的剩余時長。這樣,可以綜合考量整個裝置以及集群處理用戶請求的能力,進而確定能否在不違反slo的前提下執行用戶請求。
12、在一種可能的實現方式中,所述第一調度模塊,還用于在確定所述存在滿足執行條件的執行所述目標用戶請求的目標pod的情況下,將滿足執行條件的pod確定為目標pod,并將所述目標用戶請求發送至所述目標pod。這樣,在有滿足執行條件的目標pod的情況下,就可以直接將目標用戶請求發送至目標pod執行,提高用戶請求的執行效率、降低排隊時延,降低違反slo的比例。
13、在一種可能的實現方式中,將滿足執行條件的pod確定為目標pod,包括:
14、利用slo模型和每個pod的任務隊列信息,從當前納管的多個pod中選擇出負載最低的pod作為待選pod;
15、在所述待選pod滿足執行條件的情況下,將所述待選pod確定為所述目標pod。
16、這樣,可以基于預先設置的slo模型選擇待選pod,提高選擇目標pod的效率、速度和準確性。
17、在一種可能的實現方式中,所述第二調度模塊,還用于在基于所述pod創建請求確定新建pod無法滿足節點創建條件的情況下,確定無法執行所述目標用戶請求,返回請求失敗報告。這樣,可以及時通知用戶目標用戶請求的執行情況,以使得用戶可以及時響應、處理。
18、在一種可能的實現方式中,從多個節點中選擇出目標節點并在所述目標節點中新建pod,包括:
19、利用utility模型和集群狀態信息,從集群的多個節點中的滿足節點條件的節點中確定出目標節點;
20、在所述目標節點上新建pod;
21、其中,所述集群狀態信息包括各所述節點的資源用量,所述節點條件為節點層面處理所述目標用戶請求的p95時延小于當前距離違反所述目標用戶請求的slo的剩余時長。
22、這樣,利用模型選擇目標節點,可以提高目標節點的選擇速度和效率。
23、另一方面,本申請的實施例提供了一種基于時延感知的serverless請求調度系統,包括:如基于時延感知的serverless請求調度裝置和serverless計算資源集群,所述裝置包括第一調度模塊和第二調度模塊,所述serverless計算資源集群包括多個節點,每個節點包括至少一個pod,
24、所述第一調度模塊,用于將確定出的當前的請求隊列隊首的用戶請求確定為目標用戶請求,在確定不存在滿足執行條件的執行所述目標用戶請求的目標pod的情況下,向所述第二調度模塊發送pod創建請求;
25、所述第二調度模塊,用于在接收到所述pod創建請求的情況下,在基于所述pod創建請求確定新建pod滿足節點創建條件的情況下,從多個節點中選擇出目標節點并在所述目標節點中新建pod,以及將新建pod的信息發送至所述第一調度模塊;
...
【技術保護點】
1.一種基于時延感知的Serverless請求調度裝置,其特征在于,所述裝置包括:第一調度模塊和第二調度模塊,
2.根據權利要求1所述的裝置,其特征在于,所述執行條件為:處理所述目標用戶請求的預估時長、網絡通信總時長與pod處理完當前任務隊列的全部用戶請求的總時長之和小于當前距離違反所述目標用戶請求的SLO的剩余時長;并且/或者
3.根據權利要求1所述的裝置,其特征在于,
4.根據權利要求2所述的裝置,其特征在于,
5.根據權利要求4所述的裝置,其特征在于,將滿足執行條件的pod確定為目標pod,包括:
6.根據權利要求1所述的裝置,其特征在于,
7.根據權利要求1所述的裝置,其特征在于,從多個節點中選擇出目標節點并在所述目標節點中新建pod,包括:
8.一種基于時延感知的Serverless請求調度系統,其特征在于,包括基于時延感知的Serverless請求調度裝置和Serverless計算資源集群,所述裝置包括第一調度模塊和第二調度模塊,所述Serverless計算資源集群包括多個節點,每個節
9.根據權利要求8所述的系統,其特征在于,所述執行條件為:處理所述目標用戶請求的預估時長、網絡通信總時長與pod處理完當前任務隊列的全部用戶請求的總時長之和小于當前距離違反所述目標用戶請求的SLO的剩余時長;并且/或者
10.根據權利要求8所述的系統,其特征在于,
11.根據權利要求9所述的系統,其特征在于,
12.根據權利要求11所述的系統,其特征在于,將滿足執行條件的pod確定為目標pod,包括:
13.根據權利要求8所述的系統,其特征在于,
14.根據權利要求8所述的系統,其特征在于,從多個節點中選擇出目標節點并在所述目標節點中新建pod,包括:
15.一種基于時延感知的Serverless請求調度方法,其特征在于,所述方法包括:
16.根據權利要求15所述的方法,其特征在于,所述執行條件為:處理所述目標用戶請求的預估時長、網絡通信總時長與pod處理完當前任務隊列的全部用戶請求的總時長之和小于當前距離違反所述目標用戶請求的SLO的剩余時長;并且/或者
17.根據權利要求15所述的方法,其特征在于,所述方法還包括:
18.根據權利要求16所述的方法,其特征在于,所述方法還包括:
19.根據權利要求18所述的方法,其特征在于,將滿足執行條件的pod確定為目標pod,包括:
20.根據權利要求15所述的方法,其特征在于,所述方法還包括:
21.根據權利要求14所述的方法,其特征在于,從多個節點中選擇出目標節點并在所述目標節點中新建pod,包括:
22.一種基于時延感知的Serverless請求調度裝置,其特征在于,包括:
23.一種非易失性計算機可讀存儲介質,其上存儲有計算機程序指令,其特征在于,所述計算機程序指令被處理器執行時實現權利要求15-21任意一項所述的方法。
24.一種計算機程序產品,包括計算機可讀代碼,或者承載有計算機可讀代碼的非易失性計算機可讀存儲介質,其特征在于,當所述計算機可讀代碼在電子設備中運行時,所述電子設備中的處理器執行權利要求15-21任意一項所述的方法。
...【技術特征摘要】
1.一種基于時延感知的serverless請求調度裝置,其特征在于,所述裝置包括:第一調度模塊和第二調度模塊,
2.根據權利要求1所述的裝置,其特征在于,所述執行條件為:處理所述目標用戶請求的預估時長、網絡通信總時長與pod處理完當前任務隊列的全部用戶請求的總時長之和小于當前距離違反所述目標用戶請求的slo的剩余時長;并且/或者
3.根據權利要求1所述的裝置,其特征在于,
4.根據權利要求2所述的裝置,其特征在于,
5.根據權利要求4所述的裝置,其特征在于,將滿足執行條件的pod確定為目標pod,包括:
6.根據權利要求1所述的裝置,其特征在于,
7.根據權利要求1所述的裝置,其特征在于,從多個節點中選擇出目標節點并在所述目標節點中新建pod,包括:
8.一種基于時延感知的serverless請求調度系統,其特征在于,包括基于時延感知的serverless請求調度裝置和serverless計算資源集群,所述裝置包括第一調度模塊和第二調度模塊,所述serverless計算資源集群包括多個節點,每個節點包括至少一個pod,
9.根據權利要求8所述的系統,其特征在于,所述執行條件為:處理所述目標用戶請求的預估時長、網絡通信總時長與pod處理完當前任務隊列的全部用戶請求的總時長之和小于當前距離違反所述目標用戶請求的slo的剩余時長;并且/或者
10.根據權利要求8所述的系統,其特征在于,
11.根據權利要求9所述的系統,其特征在于,
12.根據權利要求11所述的系統,其特征在于,將滿足執行條件的pod確定為目標pod...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。