[[PageOutline]] = 1.簡介 = [[Image(one.png)]] * ONE官方說 Scheduler 模組負責分配pending的虛擬機器在 Hosts(dom0/實體機器)中,排程模組稱為 __'''''match making scheduler (mm_sched)'''''__(再上圖的左上方塊),排程的演算法為 __'''''Rank Scheduling Policy__''''',藉此可以排出資源的優先順序(針對此 VM 的需求)。mm_sched 可獨立於 oned,當 mm_sched 沒啟動時,管理者必須明確指定 submit VM 到那台主機 * 排程的簡單運作為,當 sumbit VM 時給予__'''''『REQUIREMENTS』__'''''屬性,match making scheduler 藉此排列出順序。   * REQUIREMENTS 描述範例: {{{ ### 偏好將 VM Submit 到主機名稱為 aquila 開頭的 ### REQUIREMENTS = 'HOSTNAME = "aquila*"' ### 偏好將 VM Submit 到主機 CPU Free 狀態 60% 的主機 ### REQUIREMENTS = FREECPU > 0.6 #Only those resources with more than 60% of free CPU }}} * 若是 ONE 提供的 match making scheduler 無法滿足需求,可使用[http://haizea.cs.uchicago.edu/ Haizea] 模組來做到進階的 eservation of resources 和 queuing of best effort requests (似乎是使用 lease 的方式) * >> Rock:看介紹還不是很清楚 Haizea 如何運作 ---- = 2.想法 = * !MatchRanking 似乎只能讓 VM 選到最佳的 Host,(例如當VM需要運算 CUDA 時,在 REQUIREMENTS 可描述需要顯卡資源,當 VM submit 時就會優先考量到有顯卡的機器,但是當每一臺都沒有顯卡時又會怎樣呢@@) * 如果想做到類似 EC2 SQS 的機制,當 Queue 滿檔時,且虛擬機器負載也很重,似乎就無法透過 !MatchRanking 來動態開啟 VM >> Rock:感覺 !MatchRanking 是 VM Placement 的排程(也就是當 VM submit 時才會排程),尚無法做到根據系統的整體動態環境來做到更上層的排程,不知 Haizea 是否可以做到此功能呢 [[BR]] [[BR]]