Cluster System Virtual Host Nodes for Communication Load Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cluster systems using OpenCL experience performance bottlenecks due to increased communication load as the number of nodes increases, as they rely on a centralized host node for data exchange and computation, which is not effectively addressed by existing data distribution and communication methods.
Innovation Solution
Implementing a cluster system where each node operates as a host node based on a virtual computation device, allowing for distributed computation and communication management through a virtualization module, which generates and manages virtual computation devices, thereby reducing the communication burden on a single node and enabling efficient data exchange and synchronization across nodes without relying on libraries like MPI.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a centralized host node is used to manage computation and communication in a cluster system, then the system structure is simple and easy to manage, but the communication performance deteriorates as the number of nodes increases due to bottleneck phenomena
Solution Approach 1:
The patent divides the centralized host node functionality into multiple distributed host nodes. Each node can independently execute OpenCL programs and manage its own computation devices, eliminating the single-point bottleneck. The segmentation transforms the monolithic host node architecture into a distributed peer-to-peer network where multiple nodes share the computational workload and communication responsibilities.
Solution Approach 2:
The patent introduces a new dimension of parallelism by enabling multiple host nodes to operate simultaneously rather than sequentially through a single host. This dimensional expansion from single-host to multi-host architecture allows computations to be distributed across multiple processing planes, thereby increasing overall system throughput and communication efficiency.
2Ease of operation
If multiple nodes communicate through a single host node, then communication management is centralized and simple, but the communication load on the host node increases with the number of nodes
Solution Approach 1:
The communication management function is segmented and distributed across multiple host nodes. Instead of one host handling all communication, each node manages its own communication with computation devices and coordinates with other host nodes as needed. This segmentation of communication responsibilities reduces the load on any single node and distributes the energy consumption across the cluster.
Solution Approach 2:
Each host node is empowered to manage its own communication and computation resources independently. Nodes can autonomously execute OpenCL programs, manage their local computation devices, and handle data transfers without requiring all communications to route through a central controller. This self-service capability reduces overall communication overhead and energy consumption.
3Device complexity
If a single host node executes OpenCL programs, then the programming model is simple and unified, but the system scalability is limited due to communication bottlenecks
Solution Approach 1:
The patent makes each host node universal by enabling every node to function as an OpenCL host. Rather than designating one specialized host node, any node in the cluster can execute OpenCL programs and manage computation devices. This multi-functionality approach allows the system to scale dynamically by adding more nodes without changing the fundamental programming model, as each new node automatically gains full host capabilities.
Data Source
AI summary
A cluster system and a communication method in the cluster system are disclosed herein. The cluster system includes one or more nodes. Each of the one or more nodes includes at least one physical computation device and a virtualization module. The virtualization module manages at least one computation device. The each of the one or more nodes operates as a host node based on the virtual computation device.


