Dynamic Storage Allocation for Processor Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for utilizing shared storage space among multiple processors are inefficient, leading to suboptimal performance in workload management and resource allocation.
Innovation Solution
A framework that employs an orchestration service, including a logical volume manager and workload manager, to dynamically allocate storage partitions to groups of processors based on available resources, ensuring each workload has proportional access to storage and processing power, using Kubernetes and a container storage interface to manage storage and workload distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If shared storage space is allocated among multiple processors using existing techniques, then storage capacity is available to multiple workloads, but storage utilization efficiency is poor and resource allocation is suboptimal
Solution Approach 1:
The system dynamically allocates storage partitions to processor groups based on real-time workload demands. The orchestration service continuously monitors resource usage and reallocates storage space dynamically, transforming static storage allocation into a dynamic adaptive system that responds to changing workload requirements, thereby improving storage utilization efficiency while preventing resource waste
Solution Approach 2:
The orchestration service implements a feedback mechanism by monitoring workload performance and resource consumption metrics. Based on this feedback, the system automatically adjusts storage partition allocations to optimize utilization. This closed-loop control ensures that storage resources are efficiently distributed according to actual demand, resolving the contradiction between availability and utilization efficiency
2Adaptability or versatility
If storage space is shared among multiple workloads, then resource availability increases, but resource starvation can occur and system performance deteriorates
Solution Approach 1:
The shared storage space is segmented into multiple dynamic partitions that are allocated to different processor groups. Each partition can be independently sized and adjusted based on workload requirements. This segmentation allows the system to provide adequate resources to each workload while maintaining overall resource availability, preventing resource starvation and performance deterioration
Solution Approach 2:
The system changes the allocation parameters of storage partitions dynamically based on workload demands. When a workload requires more storage resources, the system adjusts the partition size parameters in real-time. This parameter adaptation ensures that resource availability is maintained while preventing any single workload from starving others, thus preserving system performance stability
3Productivity
If fixed storage allocation is used for each processor group, then resource allocation is simple, but storage utilization efficiency is poor and resources cannot be reallocated
Solution Approach 1:
The orchestration service provides universal management capabilities for storage allocation across multiple processor groups. A single centralized service handles allocation, monitoring, and reallocation for all workloads, replacing multiple fixed allocation mechanisms. This universal approach improves storage utilization efficiency while managing complexity through centralization rather than increasing device complexity
Solution Approach 2:
The system implements self-service automation where the orchestration service automatically monitors workload demands and reallocates storage partitions without manual intervention. This automation handles the complexity of dynamic allocation internally, presenting a simple interface to users while achieving high storage utilization efficiency through continuous automatic optimization
Data Source
AI summary
Apparatuses, systems, and techniques to allocate portions of a storage to groups of processors. In at least one embodiment, an amount of storage to store data to be used by one or more computer programs, based at least in part, on an amount of processors to perform one or more portions of the one or more computer programs.


