Disaggregated Compute System Resource Allocation for Resiliency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data center architectures face challenges in scalability, fault tolerance, and energy efficiency, particularly in achieving component-level resiliency and failover, leading to downtime and data loss due to hardware limitations and high costs associated with pre-built resilient systems.

Innovation Solution

A disaggregated compute system with shared resource pools for CPUs, memory, and accelerators, utilizing optical interconnects and a resiliency manager to dynamically allocate resources based on workload demands and service level agreements, allowing for on-demand resiliency and efficient resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If traditional prepackaged hardware systems with pre-defined CPUs and memory are used, then system stability is improved, but adaptability deteriorates because extensions require adding additional hardware and cannot dynamically adjust to workload changes

Engineering Contradiction:
Improvesystem stabilityVSAvoidadaptability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The system divides hardware resources into separate pools (CPU pool, memory pool, storage pool, accelerator pool) that can be independently managed and dynamically allocated to different virtual machines based on workload demands, enabling both stability through standardized interfaces and adaptability through flexible resource distribution

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system enables dynamic resource allocation where virtual machines can be created, modified, or terminated on-demand by allocating or deallocating resources from the pools without physical hardware changes, allowing the system to adapt to changing workload requirements while maintaining stable operation through automated management

Inventive Principle:
Principle #15Dynamics

2Reliability

If high availability clusters with multiple physical servers are deployed to provide resilient solutions, then reliability is improved, but device complexity increases due to the need for multiple servers organized in clusters across different racks and buildings

Engineering Contradiction:
ImproveresilienceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system creates virtual machines that can be migrated across multiple physical hosts, allowing a single virtual machine to benefit from the resilience of multiple physical servers without requiring complex cluster configurations. The virtualization layer provides universal access to hardware resources and abstracts the complexity of physical distribution

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

Solution Approach 2:

The virtualization platform acts as an intermediary between physical hardware and applications, managing resource allocation, failover, and migration automatically. This intermediary layer handles the complexity of maintaining resilience across multiple physical servers while presenting a simplified interface to users and applications

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If active-passive server configurations are used for failure resistance, then reliability is improved, but loss of time increases due to the passive server being in stand-by state and requiring takeover time when active server fails

Engineering Contradiction:
Improvefailure resistanceVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables dynamic failover where virtual machines can be rapidly migrated between physical hosts based on real-time health monitoring and workload demands. Instead of static active-passive configurations, the system continuously optimizes resource allocation and can activate standby capacity immediately when failures occur, minimizing downtime while maintaining reliability

Inventive Principle:
Principle #15Dynamics

4Reliability

If component-level resiliency is implemented in traditional bare-metal server environments, then reliability is improved, but device complexity increases and resources become bound to physical boxes reducing flexibility

Engineering Contradiction:
Improvecomponent-level resiliencyVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments hardware resources into discrete pools that can be independently managed at the component level. Individual CPUs, memory modules, storage devices, and accelerators can be monitored, replaced, or upgraded without affecting the entire system, enabling component-level resiliency while maintaining flexibility through virtualized resource allocation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates virtual copies of hardware resources through virtual machines that can be rapidly deployed and migrated. Instead of physically binding resources to specific hardware components, the virtualization layer creates abstracted copies that can be allocated to any available physical resource, simplifying component management while maintaining reliability through redundancy

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10129169B2Specifying a highly-resilient system in a disaggregated compute environment
Publication Date: 2018.11.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10129169B2 patent drawing
  • US10129169B2 patent drawing
  • US10129169B2 patent drawing

AI summary

Server resources in a data center are disaggregated into shared server resource pools. Servers are constructed dynamically, on-demand and based on workload requirements and a tenant's resiliency requirements (e.g., as specified in an SLA), by allocating from these resource pools. A disaggregated compute system of this type keeps track of resources that are available in the shared server resource pools, and it manages those resources based on that information and the health of the resources. As a workload is processed by the server entity and component resources fail, the server entity composition is changed, e.g. by allocating other resources to the server entity, or by transitioning to other server entities, to ensure that a resiliency requirement is maintained.