Cluster Defragmentation for Cloud Resource Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing environments, heterogeneous placement of Service-Level-Objectives (SLOs) on servers leads to underutilization and increased costs due to unallocated resources, as new tenants cannot be accommodated on servers with existing 'holes' in resource allocation, necessitating additional server provisioning.
Innovation Solution
A method for defragmenting clusters by determining the resources needed for new or upgraded deployments and relocating replicas of other deployments to free up server capacity, using an offline software tool to optimize resource allocation and reduce search time through bounded search and cost-based pruning.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If heterogeneous placement of SLOs is used on servers, then service flexibility and customer choice are improved, but resource utilization deteriorates due to unallocated resources and 'holes' in resource allocation
Solution Approach 1:
The patent segments the cluster into multiple servers and further segments resources on each server into allocated and unallocated portions. By segmenting the placement strategy into homogeneous groups (servers with similar SLO compositions), the system maintains service flexibility while improving resource utilization. The segmentation allows independent optimization of each server group without affecting the entire cluster.
Solution Approach 2:
The patent changes the placement parameter from heterogeneous (diverse SLO combinations on each server) to homogeneous (similar SLO compositions on each server). This parameter change transforms the resource allocation pattern, eliminating fragmentation and improving utilization while still allowing customers to choose from various SLO types across the cluster.
2Loss of energy
If homogeneous placement of SLOs is used on servers, then resource utilization is improved by eliminating fragmentation, but service flexibility deteriorates as new tenants with specific SLO requirements cannot be accommodated on servers with existing allocations
Solution Approach 1:
The patent adds a temporal dimension to the placement strategy by implementing periodic reevaluation and dynamic adjustment. Instead of static homogeneous placement, the system periodically reassesses SLO placement opportunities and performs migrations when beneficial. This transforms the problem from a spatial-only constraint to a spatio-temporal solution, maintaining both utilization and flexibility.
Solution Approach 2:
The patent introduces dynamic adjustment mechanisms that allow the system to transition from static homogeneous placement to adaptive placement. The system continuously monitors resource allocation patterns and dynamically performs SLO migrations to optimize utilization while accommodating new tenants. This dynamic approach resolves the contradiction by making the placement strategy responsive to changing conditions.
3Reliability
If servers are overprovisioned to accommodate new tenants, then service availability is improved, but cost increases due to provisioning more servers than necessary
Solution Approach 1:
The patent performs preliminary actions by proactively identifying and consolidating unallocated resources before new tenants arrive. The system continuously monitors and rebalances resource allocation, preparing capacity in advance rather than reacting to demand. This preliminary optimization eliminates the need for overprovisioning while maintaining service availability.
Solution Approach 2:
The patent implements self-service mechanisms where the system automatically performs resource optimization and SLO migration without manual intervention or overprovisioning. The automated resource management system dynamically adjusts allocations to meet demand, eliminating the need for excessive server provisioning while ensuring service availability through intelligent resource orchestration.
Data Source
AI summary
Defragmenting a cluster service to service additional capacity requests on the service. A method includes determining an amount of server resources needed for an additional deployment reservation request for a new deployment or increasing reservation of resources of an existing deployment. The method further includes determining a server that currently does not have capacity to service the additional deployment reservation request. The method further includes determining how resources on the server can be freed up by moving other replicas of other deployments on the server to other servers to allow the server to service the additional deployment reservation request.


