Download presentation
Presentation is loading. Please wait.
Published byEmil Elliott Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.