Abstract

Multiple multi-threaded tasks constitute a modern many-core application. An accompanying generic Directed Acyclic Graph (DAG) represents the execution precedence relationship between the tasks. The application comes with a hard deadline and high peak power consumption. Parallel execution of multiple tasks on multiple cores results in a quicker execution, but higher peak power. Peak power single-handedly determines the involved cooling costs in many-cores, while its violations could induce performance-crippling execution uncertainties. Less task parallelization, on the other hand, results in lower peak power, but a more prolonged deadline violating execution. The problem of peak power minimization in many-cores is to determine task-to-core mapping configuration in the spatio-temporal domain that minimizes the peak power consumption of an application, but ensures application still meets the deadline. All previous works on peak power minimization for many-core applications (with or without DAG) assume only single-threaded tasks. We are the first to propose a framework, called PkMin, which minimizes the peak power of many-core applications with DAG that have multi-threaded tasks. PkMin leverages the inherent convexity in the execution characteristics of multi-threaded tasks to find a configuration that satisfies the deadline, as well as minimizes peak power. Evaluation on hundreds of applications shows PkMin on average results in 49.2% lower peak power than a similar state-of-the-art framework.

Highlights

  • A many-core application is made up of tens of tasks

  • Most works on peak power minimization for many-core applications only assume single-threaded tasks

  • All of the works that target the peak power minimization problem directly assume the tasks with Directed Acyclic Graph (DAG) within the many-core application to be single-threaded and thereby individually schedulable only on a single core

Read more

Summary

Introduction

A many-core application is made up of tens of tasks. All of the tasks are inherently multi-threaded. These two observations open up the possibility of employing convex optimization in order to solve this problem. Most works on peak power minimization for many-core applications only assume single-threaded tasks They have no hope for the exploitation of execution characteristics that are shown, which are specific to multi-threaded tasks. Empirical evaluations show that PkMin results in on average 48% lower peak power than the state-of-the-art

Motivational Example
Related Work
Convex Optimization Sub-Routine for Solving Serialized DAG
Peak Power Minimization with PkMin
Experimental Evaluation
Findings
Conclusions
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