Cache-Based Partition Allocation in Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing systems face challenges in identifying suitable computing devices to host applications or services due to varying demands and evolving capacity needs, leading to inefficiencies in resource allocation.

Innovation Solution

A distributed database system maintains an in-memory cache representing all available computing nodes, ranks them based on criteria such as storage type, processor speed, and memory, and employs soft-reservation techniques to dynamically allocate and confirm computing capacity, ensuring efficient resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional least-burdened device selection is used, then implementation simplicity is maintained, but resource allocation efficiency deteriorates due to varying computing demands and evolving capacity needs

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidallocation system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by maintaining an in-memory cache that pre-stores computing capacity information for all available computing nodes. This cache is proactively updated with capacity metrics before allocation requests arrive, enabling fast lookup and decision-making without complex real-time analysis when requests come in.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The in-memory cache acts as an intermediary between the allocation request and the actual computing nodes. Instead of directly querying node capacities or using complex distributed coordination, the cache provides a simplified, centralized view of available capacity that the allocation logic can use to make decisions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If comprehensive node criteria evaluation is implemented, then allocation precision is improved, but processing time increases due to ranking and soft-reservation operations

Engineering Contradiction:
Improvenode selection precisionVSAvoidallocation processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system pre-ranks computing nodes in the cache based on their capacity to meet various criteria (storage type, processor speed, memory) before allocation requests arrive. This preliminary ranking ensures that when a request comes in, the system can quickly identify suitable candidates without performing complex evaluations at request time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the allocation process by implementing soft-reservation, where nodes are tentatively selected based on current cache data but the reservation is not finalized until confirmation. This dynamic approach allows the system to adapt to changing node capacities while maintaining efficient processing by only committing to allocations that are confirmed feasible.

Inventive Principle:
Principle #15Dynamics

3Reliability

If soft-reservation and confirmation mechanisms are used, then allocation reliability is improved, but system complexity increases due to additional confirmation steps

Engineering Contradiction:
Improveallocation reliabilityVSAvoidallocation process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs soft-reservation as a preliminary action before final allocation confirmation. Nodes are tentatively marked as reserved based on current cache capacity information, but this reservation is not permanent until the node confirms it can actually fulfill the allocation. This preliminary reservation reduces the risk of over-allocation while maintaining a relatively simple process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10635336B1Cache-based partition allocation
Publication Date: 2020.04.28 AMAZON TECH INC
  • US10635336B1 patent drawing
  • US10635336B1 patent drawing
  • US10635336B1 patent drawing

AI summary

A distributed system may comprise a plurality of computing nodes, each of which may provide computing capacity for operating various computing services. The system may maintain a memory-based store of records representative of capacity available on the computing nodes. A record indicative of a computing node having a requested amount of capacity may be selected. The record may be modified to indicate that the computing node is a candidate for providing the requested amount of capacity. Upon receiving information confirming that the computing node has been configured to provide the requested capacity, the record may be modified to indicate that the computing node has committed to provide the requested capacity.