4 | | * ONE官方說 Scheduler 模組負責分配pending的虛擬機器在 Hosts(dom0/實體機器)中,排程模組稱為 __'''''match making scheduler (mm_sched)'''''__(再上圖的左上方塊),排程的演算法為 __'''''Rank Scheduling Policy__''''',藉此可以排出資源的優先順序(針對此 VM 的需求)。mm_sched 可獨立於 oned,當 mm_sched 沒啟動時,管理者必須明確指定 submit VM 到那台主機 |
5 | | * 排程的簡單運作為,當 sumbit VM 時給予__'''''『REQUIREMENTS』__'''''屬性,match making scheduler 藉此排列出順序。 |
6 | | * REQUIREMENTS 描述範例: |
| 4 | * ONE官方說 Scheduler 模組負責分配pending的虛擬機器在 Hosts(dom0/實體機器)中,排程模組稱為 __'''''match making scheduler'''''__ (mm_sched,再上圖的左上方塊),排程的演算法為 __'''''Rank Scheduling Policy__''''',藉此可以排出資源的優先順序(針對此 VM 的需求)。mm_sched 可獨立於 oned,當 mm_sched 沒啟動時,管理者必須明確指定 submit VM 到那台主機 |
| 5 | ---- |
| 6 | = 2.運作 = |
| 7 | * __'''''2.1 排程的運作:__''''' 當 sumbit VM 時給予__'''''『REQUIREMENTS』__'''''屬性,若 Hosts 不符合要求時,Scheduler 再根據__'''''『RANK』__'''''排列,排列的第一名則可 submit VM |
| 8 | >>Rock:Rank 的機制是當 Requirment 無法找到最佳 Host 時,退而求次佳的 Host |
| 9 | * VM 設定檔的 REQUIREMENTS 和 RANK 範例: |
| 10 | {{{ |
| 11 | MEMORY= 512 |
| 12 | CPU = 1 |
| 13 | |
| 14 | ### Disks & NICS ### |
| 15 | DISK = [ IMAGE="/local/VM/disk.img",DEVICE="sda" ] |
| 16 | DISK = [ IMAGE="../debian.iso",DEVICE="sdb",BOOT="true" ] |
| 17 | NIC= [ MAC="00:16:3e:01:01:03" ] |
| 18 | |
| 19 | ### Scheduling Attributes for the rank policy (VM 需要 CPU = 1和 Memory = 512 之外,排程時還需考慮 CPUSPEED > 1000 ) ### |
| 20 | REQUIREMENTS= CPUSPEED > 1000 |
| 21 | RANK= FREECPU |
| 22 | }}} |
| 23 | * __'''''2.2 Requirement 語法:__''''' |
| 24 | * Requirement 判斷句(採布林真假值的判斷句 0(假) 或 1(真))用來評估 Host 為 True才考慮 submit VM, |
| 25 | * 支援的邏輯運算有:>(大於) <(小於) &(和) |(或) !(非),也支援shell wildcard pattern matching |
| 26 | * 可使用的 REQUIREMENTS 有 (HOSTNAME, TOTALCPU, TOTALMEMORY, FREEMEMORY, FREECPU, USEDMEMORY, USEDCPU...等) |
| 27 | * 若是想自訂 REQUIREMENTS 可修改 IM driver (因可用的屬性質都是來自於 IM) |
| 28 | * 範例: |
14 | | * 若是 ONE 提供的 match making scheduler 無法滿足需求,可使用[http://haizea.cs.uchicago.edu/ Haizea] 模組來做到進階的 eservation of resources 和 queuing of best effort requests (似乎是使用 lease 的方式) |
15 | | * |
| 36 | >> 比較著重在 CPU 和 Memory 的需求描述 |
| 37 | * __'''''2.2 Rank 語法:__''''' |
| 38 | * Rank 判斷句是用來評估 each Host information,支援算術運算:+ - / * |
| 39 | * Rank 也可使用 REQUIREMENT 的屬性 |
| 40 | * 範例: |
| 41 | {{{ |
| 42 | ### 高 Free CPU 的 Host 優先 ### |
| 43 | RANK = FREECPU |
| 44 | |
| 45 | ### 也考慮到 CPU 的溫度 ### |
| 46 | RANK = FREECPU * 100 - TEMPERATURE |
| 47 | }}} |
| 48 | ---- |
| 49 | = 3.進階排程模組 = |
| 50 | * 若是 ONE 提供的 match making scheduler 無法滿足需求,可使用[http://haizea.cs.uchicago.edu/ Haizea] 模組來做到進階的 eservation of resources 和 queuing of best effort requests (似乎是使用 lease 的方式) |