Dynamic Intelligent Kernel Assignment in Heterogeneous MultiGPU Systems
Transcription
Dynamic Intelligent Kernel Assignment in Heterogeneous MultiGPU Systems
Category: Clusters & GPU Management - CG02 Poster P4200 contact Name Joao Gazolla: [email protected] Dynamic Intelligent Kernel Assignment in Heterogeneous MultiGPU Systems Joao Gazolla, Esteban Clua Universidade Federal Fluminense, Niteroi, Rio de Janeiro, Brazil. [email protected] Basic Preliminary Idea What is this poster about ? The poster illustrates and present an initial concept of a research about Dynamic Intelligent Kernel Assignment in Heterogenous MultiGPU Systems, where given one application using the StarPU framework, our scheduler will select custom scheduling policies and execute the kernels in an intelligent way, being responsible for the mapping of kernels to the correspondent devices in a seamless way, minimizing the execution time. Motivation Graphics Processing Units (GPUs) have been evolving at a rapid speed on the last decade, becoming faster, with more cores and sophisticated unified architecture. Every year many different GPU models with distinct specifications are released in the market. Despite this rapid evolution, there’s still a gap in using and taking advantage of this huge computing power, predominantly when there’s a grid of computers with heterogeneous devices on each node. It’s simply difficult for an application to detect the grid architecture and use all these devices resources intelligently. Another consideration is that depending on how you assign and map kernels to each device, this can make a huge difference on execution time of the kernel, depending on the settings of each device, and if the device is busy or not, minimizing the idle time of the devices. Introduction In order to reach our objective, a third party library, an unified runtime system for heterogeneous multicore architectures (StarPU) is being used, giving support for heterogeneous multicore architectures and a unified view of the computational resources, CPUs and GPUs, simultaneously. It also takes care of efficiently mapping and executing tasks while transparently handling low-level issues such as data transfers. The core of StarPU is its run-time support library, which is responsible for scheduling application-provided tasks on heterogeneous machines. www.ic.uff.br Objective StarPU's run-time and programming language extensions support a task-based programming model and it allows developers, to implement custom scheduling policies in a portable fashion. Many scheduling policies will be tested and determined which ones are more efficient. Kernel 10 Kernel 09 Future Work Kernel 08 We are currently testing simple proofs of concepts to confirm the viability to build this system. Our next step is to build this concept to a solo machine with multiple devices and after this expand the idea to a grid of computers. StarPU A.I. Load Balancing Conclusion Scheduling Policies Kernel 01 Kernel 06 Given a software that has multiple kernels, these kernels are going to be added to an universal queue, where each of them will be mapped to a device. On the fly information will be used from the NVIDIA Management Library (NVML) in order to establish the schedule. There will be also a calibration phase, where the kernels are going to be tested and an initial correspondence among kernels and devices created. In this work the programmer does not need to know how many nodes or devices are on the grid. This will be transparent and a complete responsability of this middleware in development. It is expected that this system is going to optimize speedups, since the appropriated kernel will be assigned to the right GPU, reducing idle time and making executions faster. Kernel 07 Kernel 02 Kernel 04 Kernel 05 Kernel 03 There is a lot of room for improvement on this research area, but we need to carefully investigate issues like: memory consistency, scheduling policies and communications. If we are able to build it and reduce execution time, we will have plenty of room for big speedups with very little porting effort, with potential to be a next level of unified architectures. Acknowledgements This project it is being financially supported by the CAPES-Brazil and CNPq-Brazil. Computer 01 Computer 02 Computer 03 One Device Two Devices Four Devices Memory Consistency Some References… C. Augonnet, S. Thibault, R. Namyst, and P.A. Wacrenier. StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures. In Proceedings of the 15th Euro-Par Conference, Delft, The Netherlands, August 2009. M. Joselli, M. Z., E. C., A. M., A. C., R. L., L. V., B. F., M. d. O., and C. P. Automatic Dynamic Task Distribution between CPU and GPU for Real-Time Systems. In CSE’08, pages 48–55, 2008. ...