Cluster Memory Management via Supervising Device
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing environments, managing memory consumption and fragmentation across a cluster of processing devices is challenging due to increasing application memory demands and the operational speed limitations of Hard Disk Drives (HDDs) used for memory virtualization, leading to performance degradation.
Innovation Solution
A system and method that involves a supervising device receiving memory consumption information from processing devices, identifying insufficient memory conditions, and either terminating a new or existing process to redirect it to a device with sufficient memory, allowing for efficient resource utilization and horizontal scaling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory virtualization using HDDs is implemented to overcome memory fragmentation, then memory availability is improved, but operational speed deteriorates significantly
Solution Approach 1:
The patent transitions from single-device memory management to multi-device cluster memory management. By distributing processes across multiple processing devices in a cluster, the system pools together RAM resources from multiple devices, providing both increased memory availability and maintained operational speed through parallel processing capabilities.
Solution Approach 2:
The patent introduces a supervising device as an intermediary that manages memory allocation across the cluster. This supervising device receives memory consumption information from processing devices, monitors memory availability, and makes intelligent decisions about process placement and memory allocation, thereby optimizing both memory utilization and operational speed without relying on HDD-based virtualization.
2Quantity of substance
If memory virtualization is used to extend primary memory, then memory capacity is increased, but system performance deteriorates due to slower HDD operations
Solution Approach 1:
The patent merges the RAM resources of multiple processing devices into a unified memory pool accessible to all devices in the cluster. By combining fast volatile memory from multiple sources rather than using a single device's RAM or HDD-based virtualization, the system achieves both increased memory capacity and maintained high-speed access for all processes.
Solution Approach 2:
The system moves from vertical memory expansion (using slower HDDs to extend single-device memory) to horizontal memory expansion (pooling RAM resources across multiple devices). This dimensional shift provides both increased capacity and preserved performance by leveraging the collective fast memory resources of the cluster.
3Device complexity
If a single processing device is used to execute processes, then device simplicity is maintained, but memory resource utilization efficiency deteriorates
Solution Approach 1:
Each processing device in the cluster maintains its individual simplicity while gaining access to the collective memory resources of the entire cluster through the supervising device. The system achieves multi-functionality where each device can execute any process that fits within the pooled memory capacity, optimizing memory resource utilization without increasing individual device complexity.
Solution Approach 2:
Processing devices autonomously monitor their own memory consumption and report to the supervising device, which then makes intelligent allocation decisions. This self-service approach allows individual simple devices to participate in a sophisticated resource management system without requiring complex local decision-making logic.
Data Source
AI summary
Disclosed is a method and system for managing execution of processes on a cluster of processing devices by a supervising device. The method comprises receiving memory consumption information from each of a processing devices executing a plurality of processes. The method further comprises receiving information related to swapping of a new process from at least one processing device of the processing devices while memory available on the at least one processing device is insufficient to execute the new process. The method further comprises terminating either the new process being swapped or a process executing on the at least one processing device. The method further comprises instructing another processing device having sufficient memory available for execution of the new process being swapped or the process executing on the at least one processing device, whichever is terminated on the at least one processing device.

