1 / 22

Dynamic Power-Performance Adaptation of Parallel Computation on Chip Multiprocessors

Dynamic Power-Performance Adaptation of Parallel Computation on Chip Multiprocessors. 陳品杰 Department of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C. Introduction (1/3).

Download Presentation

Dynamic Power-Performance Adaptation of Parallel Computation on Chip Multiprocessors

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dynamic Power-Performance Adaptation of Parallel Computation on Chip Multiprocessors 陳品杰 Department of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C

  2. Introduction (1/3) • In a parallel run(parallel applications), for example, the overall performance ultimately depends on all the processors; however, at any point in time, the critical path may depend on only a few of them. • In that case, slowing down processors not in the critical path to save power may not affect the overall performance at all. • Conversely, slowing down processors in the critical path will negatively impact performance, and the local savings may be easily negated by the extra waste on other processors due to longer execution time. • Furthermore, the available parallelism and parallel efficiency may depend nontrivially on the problem size and execution environment.

  3. Introduction (2/3) • In this work, we target run-time power-performance adaptationof future CMPs that run shared-memory parallel applications. • This run-time adaptation takes place in the two-dimensional space constituted by • (1) changes in the number of active processors • (2) dynamic voltage/frequency scaling (DVFS) • Specifically, in this paper, we explore one typical scenario— • maximizing power savings while delivering a specified level of performance. • This scenario essentially reduces energy cost per application, as energy is the integral of power over execution time.

  4. Introduction (3/3) • In that context, we present simple heuristic mechanisms that are able to quickly converge to a configuration in the search space that achieves near-optimal power consumption and complies with the performance requirement in virtually all the cases that we study. • Our mechanism is implemented at the granularity of parallel regions, with a combination of modest software and hardware support. • It does not change the application semantics, and can be made largely transparent to the application by encapsulating the code in a typical parallelization macro or directive.

  5. Scope (1/6) • This section lays out the scope of our work. • We use an imaginary execution of a parallel code on a CMP with four processors as an example. • The code contains a series of interleaved serial and parallel regions. • Figure 1 shows the execution of a fragment of such code under three different scenarios. • In the figure, regions are not drawn to scale with respect to each other. • In fact, we expect parallel regions to be dominant in many future applications, and thus the focus of our paper.

  6. Scope (2/6) Figure 1: Execution of an imaginary parallel code on a CMP with four processors under three different scenarios: full throttle parallel execution (left), power-aware parallel execution regulated with DVFS exclusively (center), and power-aware parallel execution regulated with DVFS and adaptive parallelism (right). Regions are not drawn to scale with respect to each other.

  7. Scope (3/6) • The left diagram represents a conventional parallel run at full throttle. • The code runs on all four cores during parallel sections, all at nominal voltage/frequency levels—no dynamic voltage/frequency scaling (DVFS) is applied in any case. • The central diagram represents a power-aware execution where power can be regulated using whole-chip DVFS. • In the example, parallel sections are slowed down by applying DVFS to all processors. • This presents us with a power-performance trade-off, which we can exploit, for example, to reducepower consumption and still meeta predetermined performance target.

  8. Scope (4/6) • Unfortunately, this one-dimensional trade-off limits the power-performance optimization options. • Specifically, no matter how relaxed the performance constraint, it is not possible to reduce power consumption in a parallel region below the static power consumption of all four cores at room temperature, since all of them remain active. • Notice that if the chip’s power budget is tight, executing in all cores may result in a very limited number of feasible DVFS levels. • In the worst case, if the application’s parallel efficiency degrades significantly at that degree of parallelism, the chip’s limited power budget may make it simply impossible to meet the performance target.

  9. Scope (5/6) • The right diagram tries to address this limitation, by allowing parallel regions to execute on a variable number of processors. • In this scenario, a parallel region executes on possibly a subset of the available processors, with DVFS properly adjusted to meet the performance target, and unusedprocessors are brought down to sleep mode. • (Naturally, we assume that the application does support execution of parallel regions with different number of processors. We address this assumption later in Section 3.3.)

  10. Scope (6/6) • On the one hand, this scenario is highly desirable, as it allows much greater flexibility in trading off power and performance. • On the other hand, such a two-dimensional space can be quite large, especially as CMPs incorporate more cores, making the task of finding the optimal operating point a challenging one, particularly if the number of instances of a parallel region at run-time is such that a brute-force search could not be amortized easily. • This motivates the need to explore whether a reasonably quick and easy procedure exists that can find an acceptable operating point at run time, such that power consumption is reduced significantly but the performance target is still met. • Our work shows that this is feasible.

  11. Power-Performance Characterization (1/8) • In this section, we build a case study around BSOM, the parallel data mining application (Section 4.3), to illustrate the power-performance trade-offs of parallel computation on a CMP. • Fig. 2 shows the power consumption and execution time of an iteration of the main (parallel) loop, or epoch. • Each point in the plot represents one CMP configuration, using a certain number of processors N (shown in the legend), and a particular DVFS level (not indicated directly in the plot).

  12. Power-Performance Characterization (2/8) performance-oriented • Figure 2: Power consumption and execution time of CMP configurations with varying number of processors N and voltage/frequency levels for an instance of BSOM’s parallel region (a parallel data mining application). • Target execution time and power are 40ms and 30W, respectively. power-oriented

  13. Power-Performance Characterization (3/8) • In general, as expected, points for a fixed N move right and down as we apply DVFS, as it takes more time to execute one epoch, but on the other hand the power consumption is lower. • The plot shows two well differentiated operating areas: • On the one hand, operating points toward the upper-left corner lie in a performance-oriented (or power sensitive) area. • In this area, power consumption is generally high, but small reductions in voltage/frequency levels translate into significant savings in power consumption, at a relatively small performance cost. • On the other hand, operating points toward the lower-right corner lie in a power-oriented or (performance-sensitive) area. • In this area, while performance is generally low, small voltage/frequency increases result in large performance gains, at a relatively small power cost.

  14. Power-Performance Characterization (4/8) • If we try to make sense of the curves depending on the performance target that we impose, we can again find two well differentiated areas. • As we move left (strict performance target), configurations with a small number of processorsneed to operate at high DVFS levels to meet the performance target, thus consuming significant power. • If, as it is the case in BSOM, parallel efficiency is generally high, a higher number of processors allows the CMP to meet the performance target while achieving significant power savings, by aggressively throttling voltage and frequency. • On the other hand, toward the right end of the plot (relaxed performance target), most configurations can meet or exceed the performance target with very low voltage and frequency levels. • In that case, the static power consumption of configurations with a high number of processorsputs them at a disadvantage with respect to smaller configurations.

  15. Power-Performance Characterization (5/8) • Assume the target • execution time for one epoch is 40ms (vertical line) • 30W as the maximum allowable power dissipation (horizontal line) 30W 40ms

  16. Power-Performance Characterization (6/8) • One difference between these operating points lies in the number of processors required by each case, which varies widely—between five (configuration A) and ten (configuration C) in our experiment. • If the application is also expected to minimize the number of allocated processors (for example, in a multiprogrammedenvironment), configuration C may prove too costly at N = 10. • On the other hand, configuration A, which uses half as many processors, may constitute an attractive choice in this case, even as it consumes slightly more power.

  17. Power-Performance Characterization (7/8) • Finally, if we define our performance target as a rate (e.g., frames per second in MPEG decoder/encoder), and allow epochs to borrow leftover time from previous “fast” instances to execute slower and save more power while still meeting the target rate, further power savings opportunities may be possible. • For example, we can alternate runs with N = 6 for one epoch, and N = 7 for the following epoch (configurations D1 and D2 in the plot, respectively).

  18. Power-Performance Characterization (8/8) • These configurations result, as the plot shows, in per-epoch execution times that are slightly under and over target, respectively. • However, alternating between these two states is likely to meet or exceed the target rate (with D2 borrowing time from the slack created by D1). • And the combination D1-D2 consumes, on average, less power than any other valid configuration by itself. • Therefore, it can be argued that configuration D1 controls execution time as configuration D2 lowers power consumption, resulting in a favorable net balance.

  19. Dynamic Power Optimization (1/2) • If the number of instances of the parallel region is large enough that an exhaustive search is feasible, an easy way to construct such lower envelope at run-time is to try all possible number of processors and DVFS levels: • For each number of processors, starting with the maximum DVFS level allowable by the chip’s power budget(which we assume known), we gradually decrease DVFS levels (one step per instance of the parallel region) until the desired performance is no longer met. • The cost of an exhaustive search is L · N steps • with L being the number of DVFS levels and N the number of processors on the CMP.

  20. Dynamic Power Optimization (2/2) • Often times, however, an exhaustive search may not be possible, or its overhead prove prohibitive, because the parallel region is not invoked enough times as to amortize the search phase. • In that case, search heuristics that can converge toward the global optimum much faster are highly desirable.

  21. Reducing Search Space: Processor Dimension (1/2) • We propose to use a combination of binary searchand hill-climbingoptimization to prune the search space along the processor dimension. • We conduct the hill-climbing optimization using a binary search along the dimension of the number of processors. • Generally speaking, the hill-climbing algorithm starts at some mid-point number of processors p, and gradually decreases DVFS levels until the performance target is missed

  22. Reducing Search Space: Processor Dimension (2/2) • The DVFS level immediately above is the optimum for that p. • Then, another p’ half-way between the current configuration and either of the active endpoints is chosen, and the process is repeated. • If the optimum for that p’ is better, the other side is disregarded, and the binary search continues on that side. • Otherwise, the algorithm switches to the other side, disregarding further attempts on the first side. • When neither side is better, or we run out of options, the search ends. • In any case, the cost of this heuristic is L · logNsteps—a significant improvement.

More Related