Workload Distribution Manager for Heterogeneous Manycore Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing OpenCL applications are limited to single nodes and require additional programming to distribute workload across a cluster environment, increasing complexity and reducing productivity and portability due to differences in compute devices within a manycore cluster system.
Innovation Solution
A method that uses a machine learning model to predict data throughput of each compute device in a manycore cluster system, allowing automatic workload distribution without modifying source codes, by sampling workload portions, extracting hardware performance values, and predicting execution times to optimize workload allocation across heterogeneous nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If MPI is added to OpenCL application for communication between devices and nodes, then workload distribution capability is improved, but coding complexity increases
Solution Approach 1:
A workload distribution manager is introduced as an intermediary component between the OpenCL application and the compute devices. This manager automatically handles workload distribution across nodes and devices, eliminating the need for developers to manually implement MPI-based communication and distribution logic, thus reducing coding complexity while maintaining workload distribution capability
Solution Approach 2:
The workload distribution manager performs self-service by automatically predicting data throughput of compute devices and distributing workloads without requiring explicit programming instructions from developers. The system autonomously manages communication and workload allocation, transforming a complex manual process into an automated one
2Adaptability or versatility
If workload is manually distributed across heterogeneous nodes, then workload distribution is achieved, but programming time and productivity decrease
Solution Approach 1:
The workload distribution manager automatically predicts data throughput for each compute device and distributes workloads without requiring manual programming intervention. This self-service approach eliminates time-consuming manual workload distribution tasks, significantly improving programming productivity while adapting to heterogeneous node configurations
Solution Approach 2:
The system changes the parameter of workload distribution from manual configuration to automated prediction-based allocation. By using machine learning models to predict data throughput and automatically adjust workload distribution parameters, the system eliminates manual programming efforts and improves developer productivity
3Quantity of substance
If OpenCL application is extended to cluster environment, then workload capacity is improved, but source code modification is required
Solution Approach 1:
The workload distribution manager serves as an intermediary layer that enables OpenCL applications to operate in cluster environments without modifying the original source code. The manager handles cluster-specific functionalities such as node discovery, device registration, and workload distribution, allowing existing OpenCL applications to maintain their simplicity while gaining cluster scalability
Solution Approach 2:
The workload distribution manager provides universal functionality that works across different cluster configurations and hardware platforms. It abstracts the complexity of heterogeneous systems, enabling a single OpenCL application to run on diverse cluster environments without requiring platform-specific code modifications
Data Source
AI summary
Provided are a method of executing parallel programming on a manycore cluster system and the manycore cluster system, both of which may make a parallel application targeting on one compute device operate on a heterogeneous manycore cluster system configured of a plurality of compute devices, without modifying source codes. Up to now, programmers have had to manually distribute an appropriate workload amount to the compute devices according to a throughput of each compute device. However, since the method and the manycore cluster system can reduce the complexity of programming and provide an heterogeneous manycore cluster environment that allows programmers to develop easily.


