Distributed Program Execution Service Manager for Dynamic Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing large-scale distributed computing resources across multiple nodes is complex due to increased scale and scope, with existing solutions struggling to dynamically monitor and modify resource allocation efficiently to prevent bottlenecks and optimize resource usage.
Innovation Solution
A Distributed Program Execution Service System Manager dynamically monitors resource usage across a cluster of computing nodes, allowing for real-time adjustments such as adding or removing nodes, modifying resource allocation, and throttling usage to ensure efficient execution of programs by distributing and managing computing resources effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If virtualization technologies are used to share computing resources among multiple customers, then resource utilization efficiency is improved, but system complexity increases
Solution Approach 1:
The patent introduces a resource manager as an intermediary component that sits between the virtualized computing resources and multiple customers. This resource manager handles allocation, monitoring, and modification of resource clusters, thereby simplifying the interface complexity while maintaining high resource utilization through virtualization. The resource manager abstracts the complex virtualization management tasks into standardized operations for customers.
2Productivity
If the scale and scope of data centers increase to support larger programs, then computing capability is improved, but provisioning and management complexity increases
Solution Approach 1:
The patent implements dynamic resource cluster management where the system can automatically add, remove, or modify computing nodes in response to changing workload demands. The resource manager continuously monitors program execution requirements and dynamically adjusts the cluster configuration, enabling the data center to scale computing capability flexibly without manual provisioning complexity. This dynamic approach allows the system to adapt to varying program sizes and resource demands automatically.
3Device complexity
If static resource allocation is used for distributed program execution, then system simplicity is maintained, but resource utilization efficiency deteriorates due to bottlenecks
Solution Approach 1:
The patent implements a feedback mechanism where the resource manager continuously monitors the execution status of distributed programs and the utilization level of computing resources. Based on this feedback, the system automatically modifies resource cluster configurations to optimize performance. When bottlenecks are detected, the resource manager can add resources or redistribute workloads, thereby maintaining high resource utilization efficiency while managing system complexity through automated control loops.
Data Source
AI summary
Techniques are described for managing distributed execution of programs. In some situations, the techniques include dynamically modifying the distributed program execution in various manners, such as based on monitored status information. The dynamic modifying of the distributed program execution may include adding and/or removing computing nodes from a cluster that is executing the program, modifying the amount of computing resources that are available for the distributed program execution, terminating or temporarily suspending execution of the program (e.g., if an insufficient quantity of computing nodes of the cluster are available to perform execution), etc.


