Memcached Local Caches RDMA Memory Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memcached systems face inefficiencies due to CPU limitations, leading to poor memory bandwidth usage, scalability issues, and high power consumption, especially in large web applications where multiple servers are needed to handle requests, resulting in suboptimal performance and power efficiency.

Innovation Solution

Implementing a memcached system with local caches that map physical memory addresses into the address space, allowing client devices to perform RDMA operations directly, reducing server-side processor involvement and enabling more efficient memory utilization and scalability by using local caches for hit detection and stale value management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple memcached servers are deployed to handle large web applications, then the total memory capacity and request handling capability increase, but the memory bandwidth usage efficiency deteriorates and power consumption increases

Engineering Contradiction:
Improvetotal memory capacityVSAvoidmemory bandwidth usage efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The invention segments the memcached system into client-side local caches and server-side remote caches. Clients maintain local cache memory that stores frequently accessed data locally, eliminating the need to fetch all data from remote servers. This segmentation allows each server to handle fewer requests while maintaining high overall system capacity, thus improving memory bandwidth efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention adds a new dimension to the caching architecture by implementing client-side caching alongside server-side caching. This creates a two-level cache hierarchy (local client cache + remote server cache) that operates in parallel, allowing the system to scale memory capacity without proportionally increasing network traffic and server processing load.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If multiple memcached servers are deployed to achieve load balance, then the request handling capability increases, but the scalability and power efficiency deteriorate due to heavy CPU involvement

Engineering Contradiction:
Improverequest handling capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The invention extracts the caching functionality from the server side and places it at the client side. By taking out the local cache management responsibility from servers and assigning it to clients, the system reduces CPU involvement on servers while maintaining request handling capability. This extraction eliminates redundant data fetching and processing on server CPUs.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The invention implements self-service by enabling clients to manage their own local caches autonomously. Clients independently determine what data to cache locally, when to evict data, and how to access cached data, without requiring server CPU intervention for each cache operation. This self-service approach dramatically reduces server power consumption while maintaining productivity.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If random access patterns are used in memcached, then the flexibility and adaptability increase, but the CPU caching effectiveness deteriorates due to wasted cycles and power

Engineering Contradiction:
Improveaccess pattern flexibilityVSAvoidCPU power efficiency
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The invention applies preliminary action by pre-caching data at the client side before it is actually needed. Clients proactively cache data based on access patterns and predictions, so when random access requests occur, the data is already available locally. This preliminary caching action eliminates the need for CPU-intensive operations during actual access, maintaining flexibility while improving power efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3161669B1Memcached systems having local caches
Publication Date: 2021.02.17 INTEL CORP
  • EP3161669B1 patent drawingFigure 1
  • EP3161669B1 patent drawingFigure 2
  • EP3161669B1 patent drawingFigure 3

AI summary

Apparatuses, methods and storage medium associated with a memcached system are disclosed herewith. In embodiments, a client device of the memcached system may include memory and one or more processors coupled with the memory. Further, the client device may include memcached logic configured to receive a request to Get or Set a value corresponding to a key in the memcached system, determine, in response to the receive, whether the key results in a hit in a local cache maintained in memory by the memcached logic, and service the Get or Set request based at least in part on whether a result of the determine indicates the key results in a hit in the local cache. In embodiments, a server of the memcached system may include complement memcached logic to server a Get, Set or an Update request. Other embodiments may be described and/or claimed.