[發明專利]一種VCPU調度方法、裝置及控制設備在審
| 申請號: | 202210199969.0 | 申請日: | 2022-03-01 |
| 公開(公告)號: | CN114840331A | 公開(公告)日: | 2022-08-02 |
| 發明(設計)人: | 徐云 | 申請(專利權)人: | 阿里巴巴(中國)有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/455 |
| 代理公司: | 北京辰權知識產權代理有限公司 11619 | 代理人: | 鞠永帥 |
| 地址: | 311121 浙江省杭州市余杭*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 vcpu 調度 方法 裝置 控制 設備 | ||
本申請提供了一種VCPU調度方法、裝置及控制設備,所述方法包括:創建與物理CPU一一綁定的Kthread線程,每個所述Kthread線程具有獨立的調度隊列;基于eBPF技術實現不同Kthread線程的調度隊列之間和/或各個Kthread線程的調度隊列內的VCPU的調度。開發者無需考慮調度邏輯對內核可能產生的影響,也無需考慮內核調度程序的邏輯問題;只需要考慮VCPU調度邏輯即可。這樣,將調度的具體方式與Kernel解耦,開發靈活且大大降低開發需要的技術門檻。
技術領域
本申請涉及虛擬化技術領域,具體而言,涉及一種VCPU調度方法、裝置及控制設備。
背景技術
虛擬化技術越來越成熟,用戶對于云計算的接受度和使用度都在逐步提升,也產生了更多的使用方式,為適應這些使用方式,就需要對VCPU的調度進行改造。
Kernel(內核)自身的調度程序難以滿足這些需求,并且調度程序作為kernel的核心模塊,關鍵數據結構并不對外暴露,導致額外開發調度程序具有一定的技術門檻以及與kernel緊耦合,維護成本高。
發明內容
本申請解決的問題是現有的VCPU調度方法的靈活性不高,。
為解決上述問題,本申請首先提供一種VCPU調度方法,包括:
創建與物理CPU一一綁定的Kthread線程,每個所述Kthread線程具有獨立的調度隊列;
基于eBPF技術實現不同Kthread線程的調度隊列之間和/或各個Kthread線程的調度隊列內的VCPU的調度。
在一種實施方式中,基于eBPF技術實現不同Kthread線程的調度隊列之間和/或各個Kthread線程的調度隊列內的VCPU的調度之前,所述方法還包括:
構建eBPF框架,所述eBPF框架上設置有用于采集數據的觀察點位置和用于加載決策邏輯的決策點位置。
在一種實施方式中,所述調度隊列中的所述VCPU的狀態為可運行狀態、睡眠等待狀態以及正在運行狀態中的一個,通過對所述調度隊列中的所述VCPU的狀態切換來實現對所述調度隊列中的該VCPU的調度。
在一種實施方式中,所述基于eBPF技術實現不同Kthread線程的調度隊列之間和/或各個Kthread線程的調度隊列內的VCPU的調度,包括:
創建新的所述VCPU;
基于eBPF,將創建的所述VCPU分配給其中一個調度隊列,分配后的所述VCPU為睡眠等待狀態。
在一種實施方式中,所述基于eBPF技術實現不同Kthread線程的調度隊列之間和/或各個Kthread線程的調度隊列內的VCPU的調度,包括:
處于睡眠等待狀態的所述VCPU被喚醒后,檢查是否需要銷毀,若需要銷毀則將所述VCPU從所述調度隊列上移除;
若不需要銷毀,則在首次被喚醒后切換為可運行狀態并發送新增信號;在非首次被喚醒后,基于eBPF,選擇是否更換調度隊列;
若需要更換所述調度隊列,則將狀態切換為可運行狀態,從當前的所述調度隊列中移除,移入更換的所述調度隊列,并發送新增信號;
若不需要更換所述調度隊列,則將狀態切換為可運行狀態并發送新增信號。
在一種實施方式中,所述基于eBPF技術實現不同Kthread線程的調度隊列之間和/或各個Kthread線程的調度隊列內的VCPU的調度,還包括:
接收到所述新增信號的所述Kthread線程,將所述調度隊列中當前的正在運行狀態的所述VCPU切換為可運行狀態;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴(中國)有限公司,未經阿里巴巴(中國)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210199969.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于觸摸屏的3D模型高效拾取方法和裝置
- 下一篇:內存訪問方法和裝置





