Multiple-tasks on multiple-devices (MTMD): exploiting concurrency in heterogeneous managed runtimes
Saved in:
| Title: | Multiple-tasks on multiple-devices (MTMD): exploiting concurrency in heterogeneous managed runtimes |
|---|---|
| Authors: | Michail Papadimitriou, Eleni Markou, Juan Fumero, Athanasios Stratikopoulos, Florin Blanaru, Christos Kotselidis |
| Publisher Information: | Zenodo |
| Publication Year: | 2021 |
| Collection: | Zenodo |
| Subject Terms: | Software engineering, Software organisation and properties, Contextual software domains, Software infrastructure, Virtual machines |
| Description: | Modern commodity devices are nowadays equipped with a plethora of heterogeneous devices serving different purposes. Being able to exploit such heterogeneous hardware accelerators to their full potential is of paramount importance in the pursuit of higher performance and energy efficiency. Towards these objectives, the reduction of idle time of each device as well as the concurrent program execution across different accelerators can lead to better scalability within the computing platform. In this work, we propose a novel approach for enabling a Java-based heterogeneous managed runtime to automatically and efficiently deploy multiple tasks on multiple devices. We extend TornadoVM with parallel execution of bytecode interpreters to dynamically and concurrently manage and execute arbitrary tasks across multiple OpenCL-compatible devices. In addition, in order to achieve an efficient device-task allocation, we employ a machine learning approach with a multiple-classification architecture of Extra-Trees-Classifiers. Our proposed solution has been evaluated over a suite of 12 applications split into three different groups. Our experimental results showcase performance improvements up 83% compared to all tasks running on the single best device, while reaching up to 91% of the oracle performance. |
| Document Type: | conference object |
| Language: | unknown |
| Relation: | https://zenodo.org/communities/eu/; https://zenodo.org/records/7574514; oai:zenodo.org:7574514; https://doi.org/10.1145/3453933.3454019 |
| DOI: | 10.1145/3453933.3454019 |
| Availability: | https://doi.org/10.1145/3453933.3454019 https://zenodo.org/records/7574514 |
| Rights: | Creative Commons Attribution 4.0 International ; cc-by-4.0 ; https://creativecommons.org/licenses/by/4.0/legalcode |
| Accession Number: | edsbas.C021D3DC |
| Database: | BASE |
| Abstract: | Modern commodity devices are nowadays equipped with a plethora of heterogeneous devices serving different purposes. Being able to exploit such heterogeneous hardware accelerators to their full potential is of paramount importance in the pursuit of higher performance and energy efficiency. Towards these objectives, the reduction of idle time of each device as well as the concurrent program execution across different accelerators can lead to better scalability within the computing platform. In this work, we propose a novel approach for enabling a Java-based heterogeneous managed runtime to automatically and efficiently deploy multiple tasks on multiple devices. We extend TornadoVM with parallel execution of bytecode interpreters to dynamically and concurrently manage and execute arbitrary tasks across multiple OpenCL-compatible devices. In addition, in order to achieve an efficient device-task allocation, we employ a machine learning approach with a multiple-classification architecture of Extra-Trees-Classifiers. Our proposed solution has been evaluated over a suite of 12 applications split into three different groups. Our experimental results showcase performance improvements up 83% compared to all tasks running on the single best device, while reaching up to 91% of the oracle performance. |
|---|---|
| DOI: | 10.1145/3453933.3454019 |
Nájsť tento článok vo Web of Science