Presentation is loading. Please wait.

Presentation is loading. Please wait.

IIS Progress Report 2016/01/11. Goal Propose an energy-efficient scheduler that minimize the power consumption while providing sufficient computing resources.

Similar presentations


Presentation on theme: "IIS Progress Report 2016/01/11. Goal Propose an energy-efficient scheduler that minimize the power consumption while providing sufficient computing resources."— Presentation transcript:

1 IIS Progress Report 2016/01/11

2 Goal Propose an energy-efficient scheduler that minimize the power consumption while providing sufficient computing resources in order to meet the expected throughput of each virtual core. ◦ Amount of workloads in a time period.

3 Model - Cores Assume n virtual cores, m physical cores. For every time period ◦ Virtual core i has expected throughput/ workload w i, w i ∈ W. ◦ Physical core j with frequency f j, f j ∈ F  F: a set of available frequencies on the core.

4 Model – Power Consumption The power consumption P of core j is a function of f j and its load L j. ◦ L j = (the amount of workload on j) / f j. ◦ With given f j, P is linear to L j. We write P as the following: ◦ m(f j ): the gradient. ◦ c j : idle power

5 Objective Generate f j and a set of a i,j that where Constraints:

6 Finding A Solution Cannot apply simplex method to find a i,j and f i. ◦ The objective function is not in the form of where c i is given. Our objective function

7 Deciding the Frequency Assume f n = α f n-1. Two scenarios ◦ 1. evenly distribute the workloads to two cores with the same frequency f n. ◦ 2. uneven distribution, one with f n+1 and the other with frequency f n-1.

8 Deciding the Frequency(Cont.) if m(f n ) = α m(f n-1 ), P’-P = 0 ◦ However, in most real world cases, m(f n ) > α m(f n-1 ). ◦ “Choose the frequencies evenly among every cores (with the same type) is more energy- efficient.”

9 Selecting Frequencies “Choose the frequencies evenly among every cores (with the same type) is more energy- efficient.” However, doesn’t works. ◦ Some w i may be larger than f.

10 Our Method Decide the f j, j = 0 ~ m-1 ◦ First sort w i in descending order, and set f 0 ~ f m-1 as w 0 ~ w m-1. ◦ While ∑ w i > ∑ f j, increase the smallest f j by one level until the condition is violated.

11 Assigning Cores Start from the largest w i, assign it to the core with largest frequency f j with spare resource s j. ◦ s j : spare resource on core j If w i > s j, assign (w i - s j ) to core j+1, which is the core with second largest frequency f j+1 with spare resource.

12 Scheduling vCPUs Theoretically we can apply Open-Shop Scheduling Problem (OSSP) with preemption to generate a scheduling plan. However, scheduling plans generated this way may not be practical in real world. ◦ Do not consider interrupts, I/O delay … etc.

13 Energy Credit We transform a i,j into energy-credit of each virtual core i on physical core j. ◦ Executing a vCPU on a physical core consumes credits. ◦ Credits are re-filled every period of time. Schedule vCPUs according to their energy-credit.

14 Objective Each vCPU has a credit vector. ◦ Each entry is the amount of remaining credits to a physical core. Minimize the remaining credits of all vCPU before the credit refilling.

15 Selecting vCPU for Execution Each time a physical core becomes available, pick a vCPU with remaining credit for execution. ◦ Global run-queue v.s. per-core run-queue. ◦ Per-core run-queue  Each core has a run-queue.  A vCPU can only exist in one of the run-queue simultaneously.  FIFO

16 Algorithm #1 For each core, keeps executing a vCPU until  1. An interrupt occurs  2. wait for I/O  3. the vCPU has no credit remains ◦ If 1.:  Resume the vCPU after handling the interrupt. ◦ Else:  Select the next vCPU with credit from the run-queue.  If no available vCPU in run-queue:  If 2:  Idle  else:  Migrate a vCPU that has remaining credits of this core back.

17 Algorithm #2 For each core, keeps executing a vCPU until  1. An interrupt occurs  2. wait for I/O  3. the consecutive execution time of the vCPU exceeds t ms. ◦ If 1.:  Resume the vCPU after handling the interrupt. ◦ Elif 2:  Select the next vCPU with credit from the run-queue.  If no available vCPU in run-queue:  idle ◦ Else:  Compute the expected waitng time.

18 Expected Waiting Time For each non-zero entry i of the credit vector of the vCPU: ◦ Compute the expected waiting time of the vCPU on core i.  Simple way: n * t  n: # of vCPUs with remaining credits in the run-queue. Migrate the vCPU to the core with least expected waiting time.

19 Observation ◦ Since a vCPU can have credits on at most two cores using our assigning method, the overhead of finding which core to migrate is small. Core 1 Core 2 Core 3 Core 4 … vCPU 1 0.9000 vCPU 2 0.10.700 vCPU 3 00.30.40 vCPU 4 000.50 vCPU 5 000.10.3 …

20 Simulation Generate workloads with I/O and interrupts. ◦ The frequency and length follows some distributions. Compare the utilization, remaining credits and power consumption with other scheduling algorithms.

21 Some Comparing Algorithms Credit-based OSSP with preemption Most Remaining Credit First …

22 Discussion


Download ppt "IIS Progress Report 2016/01/11. Goal Propose an energy-efficient scheduler that minimize the power consumption while providing sufficient computing resources."

Similar presentations


Ads by Google