Improving tasks throughput on accelerators using OpenCL command concurrency

06/26/2018
by   A. J. Lázaro-Muñoz, et al.
0

A heterogeneous architecture composed by a host and an accelerator must frequently deal with situations where several independent tasks are available to be offloaded onto the accelerator. These tasks can be generated by concurrent applications executing in the host or, in case the host is a node of a computer cluster, by applications running on other cluster nodes that are willing to offload tasks in the accelerator connected to the host. In this work we show that a runtime scheduler that selects the best execution order of a group of tasks on the accelerator can significantly reduce the total execution time of the tasks and, consequently, increase the accelerator use. Our solution is based on a temporal execution model that is able to predict with high accuracy the execution time of a set of concurrent tasks launched on the accelerator. The execution model has been validated in AMD, NVIDIA, and Xeon Phi devices using synthetic benchmarks. Moreover, employing the temporal execution model, a heuristic is proposed which is able to establish a near-optimal tasks execution ordering that significantly reduces the total execution time, including data transfers.The heuristic has been evaluated with five different benchmarks composed of dominant kernel and dominant transfer real tasks. Experiments indicate the heuristic is able to find always an ordering with a better execution time than the average of every possible execution order and, most times, it achieves a near-optimal ordering (very close to the execution time of the best execution order) with a negligible overhead. Concretely, our heuristic obtains, on average for all the devices, between 84% and 96% of the improvement achieved by the best execution order.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/13/2020

Detecting Straggler MapReduce Tasks in Big Data Processing Infrastructure by Neural Network

Straggler task detection is one of the main challenges in applying MapRe...
research
07/27/2022

POSET-RL: Phase ordering for Optimizing Size and Execution Time using Reinforcement Learning

The ever increasing memory requirements of several applications has led ...
research
05/05/2022

Greedy Clustering-Based Algorithm for Improving Multi-point Robotic Manipulation Sequencing

The problem of optimizing a sequence of tasks for a robot, also known as...
research
10/02/2018

Platform-Agnostic Steal-Time Measurement in a Guest Operating System

Steal time is a key performance metric for applications executed in a vi...
research
04/25/2018

On Optimizing Distributed Tucker Decomposition for Sparse Tensors

The Tucker decomposition generalizes the notion of Singular Value Decomp...
research
10/07/2021

MAPA: Multi-Accelerator Pattern Allocation Policy for Multi-Tenant GPU Servers

Multi-accelerator servers are increasingly being deployed in shared mult...
research
05/15/2020

HeCSON: Heuristic for Configuration Selectionin Optical Network Planning

We present a transceiver configuration selection heuristic combining Enh...

Please sign up or login with your details

Forgot password? Click here to reset