Due to the rapid development of image data and the necessity to analyze it to extract meaningful information, heterogeneous systems have gained prominence. One of the most critical aspects of distributed systems is load balancing. When it comes to the distribution of workload in a balanced manner in a cluster, some heterogeneous systems are used for image processing. When workloads are allocated in these systems, the computational power of the processors is not considered. As a result, in these heterogeneous systems for image processing applications, an uneven workload distribution issue is found. A workload distribution programming framework is presented and discussed in this paper. The proposed strategy consists of two parts. As a first step, image data is split into optimal split sizes and distributed across nodes, then the image data is distributed across CPU and GPU in a second step for processing. A heterogeneous environment is created by combining the CPU and GPU. The OpenCL Java bindings are used to set up both the CPU and GPU to run the program. To assess the performance of the suggested technique, certain tests are carried out and compared to current platforms. For image processing applications in heterogeneous clusters, the proposed workload distribution approach distributed image data efficiently. The results of the proposed solution (Hadoop + GPU) show that using an effective workload allocation mechanism in heterogeneous systems reduces average execution time while improving overall application performance.
Read full abstract