Multi-tenant Memory Service for Disaggregated Pool Architectures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data center architectures face challenges with scalability, fault tolerance, and energy efficiency, particularly in memory management, leading to inefficiencies such as duplication of data and inefficient memory allocations due to fixed memory structures that hinder performance.

Innovation Solution

A disaggregated server architecture with a memory management service that dynamically allocates memory resources from a memory pool to processors, using optical interconnects for high-bandwidth connectivity, allowing memory components to be reused and shared among tenants, and employing data structure optimization and analytics for performance and memory conservation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If memory is fixed and directly attached to processors, then access speed is improved, but memory utilization and flexibility deteriorate

Engineering Contradiction:
Improvememory access speedVSAvoidmemory allocation flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system segments memory into fixed-size blocks that can be independently allocated and managed. The memory pool is divided into multiple blocks, each of which can be dynamically assigned to different processors or workloads, enabling both fast access and flexible allocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A memory management service acts as an intermediary between processors and the memory pool. This service handles block allocation, tracking, and management, enabling flexible memory distribution while maintaining efficient access patterns through structured organization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If memory blocks are shared among multiple tenants, then resource utilization is improved, but memory management complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory management service provides universal functionality for handling multiple tenants and workloads through a single unified interface. It manages block allocation, tracking, and retrieval across all processors, eliminating the need for separate management mechanisms for each tenant.

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

Solution Approach 2:

The system implements feedback mechanisms where the memory management service continuously monitors block allocation status, processor needs, and memory utilization. This feedback enables dynamic adjustment of memory distribution to optimize resource utilization while maintaining manageable complexity through automated decision-making.

Inventive Principle:
Principle #23Feedback

3Speed

If data is copied from extended memory to processor memory, then access performance is improved, but memory duplication and waste increase

Engineering Contradiction:
Improvedata access performanceVSAvoidmemory duplication
Core Design Contradiction:
SpeedVSLoss of substance

Solution Approach 1:

The system selectively copies data blocks from the memory pool to processor memory only when needed and beneficial. The memory management service determines which blocks should be copied based on access patterns and processor requirements, avoiding unnecessary duplication while maintaining performance for frequently accessed data.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system changes the parameter of memory block state from static to dynamic, allowing blocks to be in different states (available, allocated, copied, etc.). This enables flexible control over when and how data is copied, optimizing the balance between access performance and memory utilization based on changing system conditions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10409509B2Multi-tenant memory service for memory pool architectures
Publication Date: 2019.09.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10409509B2 patent drawing
  • US10409509B2 patent drawing
  • US10409509B2 patent drawing

AI summary

A memory management service occupies a configurable portion of an overall memory system in a disaggregate compute environment. The service provides optimized data organization capabilities over the pool of real memory accessible to the system. The service enables various types of data stores to be implemented in hardware, including at a data structure level. Storage capacity conservation is enabled through the creation and management of high-performance, re-usable data structure implementations across the memory pool, and then using analytics (e.g., multi-tenant similarity and duplicate detection) to determine when data organizations should be used. The service also may re-align memory to different data structures that may be more efficient given data usage and distribution patterns. The service also advantageously manages automated backups efficiently.