Dynamic Parallel Computing Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing complexity of computational tasks in parallel computing systems, characterized by heterogeneous workloads and varying hardware resources, poses challenges in optimizing processing efficiency and scalability, particularly due to limitations imposed by Amdahl's Law and the need for efficient energy use in data centers and supercomputing facilities.
Innovation Solution
A method is introduced to dynamically assign processing elements of different types based on determining parameters indicative of parallelizable code portions, optimizing the utilization of resources by varying the number of processing elements to achieve the best processing speed and cost efficiency, utilizing a generalized form of Amdahl's Law (GAL) that accounts for different concurrencies and compute elements, allowing for optimal resource allocation and modular system design.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the number of CPUs and nodes in a parallel computing system is increased to achieve higher computing power, then processing capability is improved, but power requirements and investment costs proportionally increase
Solution Approach 1:
The system dynamically determines the degree to which expected processing time changes by varying the number of processing elements of different types. This dynamic adjustment allows the system to optimize resource allocation based on actual computational needs rather than always maximizing hardware utilization, thereby improving computing power only when necessary while reducing unnecessary energy consumption.
Solution Approach 2:
The invention changes the parameter of processing element type composition by determining optimal combinations of different processing element types (e.g., CPUs, GPUs, FPGAs) based on the parallelizable portion of application code. This parameter change allows the system to achieve high computing power for specific tasks using a mix of processors rather than uniformly increasing all processor counts, thus improving productivity while controlling energy usage.
2Productivity
If different types of processing elements are used to efficiently carry out various computational tasks, then processing efficiency is improved, but system complexity increases
Solution Approach 1:
The system segments the processing elements into different types (e.g., first type, second type, and potentially third type processors) and determines optimal allocation for each type based on the specific computational task characteristics. This segmentation allows efficient matching of task requirements to appropriate processor types while maintaining manageable system complexity through structured categorization.
Solution Approach 2:
The invention introduces an intermediary optimization layer that determines the degree of processing time change by varying processing element numbers. This intermediary system manages the complexity of heterogeneous processing elements by providing a unified decision-making framework that translates diverse computational requirements into optimal processor allocation, thereby maintaining processing efficiency while controlling system complexity.
3Speed
If the number of processing elements is increased to reduce application processing time, then processing speed is improved, but resource utilization efficiency may deteriorate
Solution Approach 1:
The system determines the degree to which expected processing time changes by varying the number of processing elements, rather than always using the maximum available resources. This partial action approach allows the system to achieve sufficient processing speed by deploying only the necessary number of processing elements for each task, thereby maintaining resource utilization efficiency while still improving processing speed when needed.
Data Source
AI summary
The invention provides a method of optimizing a parallel computing system including a plurality of processing element types by applying a generalized Amdahl law relating a speed-up of the system, numbers of the processing elements of each type and a fraction of a code portion of each concurrency which is parallelizable. The invention can be used to determine a change in accelerator processing elements required to obtain a desired speed-up
