Hybrid Concurrency Control for Cloud Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed resource management solutions for cloud computing, such as Mesos and Omega, either lead to under-utilization of resources due to pessimistic resource allocation or wastage of scheduling work due to optimistic resource allocation, particularly in scenarios with varying workloads and frequent conflicts.

Innovation Solution

A hybrid resource allocation module that dynamically categorizes applications into optimistic or pessimistic clusters based on historical conflict data, using machine learning to determine which applications are likely to induce conflicts, thereby allowing concurrent access to resources while minimizing conflicts and optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If pessimistic resource allocation is used, then resource conflicts are avoided by locking resources to one application at a time, but resource utilization decreases due to under-utilization

Engineering Contradiction:
Improveconflict avoidanceVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts the resource allocation policy for each application based on its conflict behavior characteristics. Applications are classified into optimistic or pessimistic clusters using machine learning, and the system transitions between pessimistic and optimistic allocation strategies dynamically, rather than using a static approach. This allows the system to adapt to varying workload conditions and maximize resource utilization while maintaining conflict avoidance where necessary.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different resource allocation policies are applied to different applications based on their individual characteristics. Instead of using a uniform pessimistic or optimistic approach system-wide, the system categorizes each application into a cluster and applies the appropriate policy locally to each application, allowing high-utilization optimistic allocation for conflict-free applications while maintaining safe pessimistic allocation for applications prone to conflicts.

Inventive Principle:
Principle #3Local quality

2Productivity

If optimistic resource allocation is used, then resource utilization increases by allowing concurrent access, but scheduling work is wasted due to frequent conflicts

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling work waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary classification of applications into optimistic or pessimistic clusters using machine learning based on historical conflict data before resource allocation. This preliminary action identifies which applications are likely to induce conflicts, allowing the system to prevent wasteful optimistic allocation attempts for those applications by assigning them pessimistic policies from the start, thereby avoiding unnecessary scheduling work waste.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses historical conflict data and machine learning to continuously improve its classification of applications. By analyzing past conflict patterns and feedback from resource allocation outcomes, the system refines its understanding of which applications are conflict-prone, enabling more accurate policy assignment and reducing scheduling work waste over time through learned insights.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If static partitioning is used, then resource allocation is simple with dedicated clusters for each application, but resource utilization decreases due to inability to share resources dynamically

Engineering Contradiction:
Improveallocation simplicityVSAvoidresource utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system replaces static partitioning with dynamic resource allocation where applications can access a shared resource pool. The hybrid policy system automatically manages resource allocation dynamically based on real-time application behavior and cluster classification, enabling flexible sharing of resources across multiple applications while maintaining operational simplicity through automated policy management.

Inventive Principle:
Principle #15Dynamics

4Device complexity

If a single resource allocation policy is used for all applications, then system design is simplified, but performance decreases due to inability to adapt to different application characteristics

Engineering Contradiction:
Improvesystem design complexityVSAvoidperformance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system implements a universal hybrid resource allocation framework that can serve both optimistic and pessimistic allocation needs through a single unified system. The machine learning-based classification mechanism provides multi-functionality by automatically determining the appropriate policy for each application, eliminating the need for separate allocation systems while maintaining both simplicity and performance through adaptive policy selection.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10574545B2Techniques for analytics-driven hybrid concurrency control in clouds
Publication Date: 2020.02.25 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US10574545B2 patent drawing
  • US10574545B2 patent drawing
  • US10574545B2 patent drawing

AI summary

Exemplary techniques for analytics-driven hybrid concurrency control in clouds are disclosed that include a hybrid resource allocation module that can concurrently utilize an optimistic allocation scheme alongside a pessimistic allocation scheme. Machine learning techniques utilizing previous activity history of applications can be used to train a cluster model that is integrated by a hybrid resource allocation module to classify applications in either a pessimistic cluster or an optimistic cluster that identifies under which scheme requests from the applications will be processed.