Abstract

Whenever a set of applications is executed on a multicore or manycore system, it is common that at some moment one or more application threads require to increase their performance during some time, mostly due to performance/timing requirements surges/peaks at runtime. Boosting techniques provide the system with the means to satisfy such runtime performance/timing requirements surges, and have thus been widely adopted in commercial multicore and manycore systems. For example, through Dynamic Voltage and Frequency Scaling (DVFS), boosting techniques (e.g., Intel’s Turbo Boost and AMD’s Turbo CORE) allow the system to execute some cores in the chip at high DVFS levels during short time intervals, even if this implies exceeding standard operating power budgets (e.g., the Thermal Design Power (TDP)). Given that running cores at high DVFS levels increases their power consumption, boosting will generally result in an increment of the chip’s temperature through time. Due to this temperature increase, if the temperature somewhere in the chip reaches a predefined critical threshold value, the system must either return to nominal operation (requiring some cool-down time before another boosting interval is allowed), or use some closed-loop control-based strategy in order to oscillate around the threshold temperature (prolonging the boosting time). In this chapter, we present an efficient and lightweight runtime boosting technique based on transient temperature estimation, called seBoost (from Selective Boosting) , which guarantees that the runtime performance requirements surges are met, by executing the cores requiring boosting at the desired DVFS levels for the entire boosting intervals, while throttling down the non-boosted cores with minimum performance losses for the lower priority applications/threads. In order to minimize these performance losses, the throttling-down levels of the non-boosted cores are selected such that the maximum temperature throughout the chip reaches the critical threshold value at the precise time in which the boosting requirements are expected to expire. Moreover, seBoost is also capable of refining the boosting decisions when, e.g., new applications/threads receive additional (concurrent) boosting requirements in the middle of a boosting interval, or when some application/thread finishes its boosted execution but other applications/threads need to continue operating in boosting mode.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call