Automatic Load Balancing in the NORMA Language Compiler for Hybrid Architectures
摘要
The issues of the automatic computations distributing in the translation of the NORMA language programs are considered in this paper. The load balancing between the nodes in multi node computer system is out of scope in this paper, the main focus is the load balancing inside a single node of a hybrid computing system between CPU and GPU(s). There are two methods proposed: a method for static distribution of computations and a method for automatic balancing of the computational load during program execution, which is based on periodic analysis of the CPU load by the program which is being executed at the moment and making decision whether redistribution of computational load is needed. The proposed methods are tested using applied program written in the NORMA language that solves a gas dynamic problem using the computing resources of the multicore central processor and graphics accelerators. The results of program execution with various data distributions were obtained and analyzed, both with and without the mechanism for automatic balancing of the computational load.