Container Migration via RDMA On-Demand Paging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current container migration technologies face challenges in efficiently transferring processes between devices, leading to high latency and CPU load due to the involvement of the operating system and context switching during data transfer.

Innovation Solution

The implementation of a system using RDMA-enabled network interface controllers with on-demand paging, which allows direct memory access between devices without CPU intervention, enabling zero-copy networking and bypassing CPU utilization during process migration by utilizing RDMA-enabled NICs and on-demand paging to manage virtual memory and transfer data directly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional container migration is used involving operating system and context switching, then process migration can be achieved, but latency and CPU load increase significantly

Engineering Contradiction:
Improveprocess migration capabilityVSAvoidmigration latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the data transfer operation from the traditional CPU-OS controlled path and places it directly into the NIC's RDMA engine. The NIC independently handles memory page copying between source and target devices without CPU intervention, eliminating context switching overhead and reducing migration latency while maintaining process migration capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The RDMA-enabled NIC acts as an intermediary device that directly accesses and transfers memory pages between source and target devices. This intermediary bypasses the CPU and operating system for the actual data transfer operation, enabling efficient container migration without the performance penalty of traditional context-switching-based approaches

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional container migration with CPU involvement is used, then process transfer can be completed, but CPU load increases due to context switching

Engineering Contradiction:
Improveprocess transfer completionVSAvoidCPU load
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the memory page copying function from the CPU's responsibility and assigns it to the RDMA-enabled NIC. The CPU only needs to initiate the migration and manage process state, while the NIC independently handles the expensive memory copying operation, significantly reducing CPU load and energy consumption during migration

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The RDMA-enabled NIC performs self-service by autonomously accessing the source device's memory and copying pages to the target device without requiring continuous CPU intervention. The NIC manages its own data transfer operations, error handling, and memory access, freeing the CPU from the energy-intensive task of direct memory manipulation

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10824466B2Container migration
Publication Date: 2020.11.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10824466B2 patent drawing
  • US10824466B2 patent drawing
  • US10824466B2 patent drawing

AI summary

In some examples, a system for container migration can include a processor to detect a remote direct memory access (RDMA) enabled network interface controller that supports an on-demand paging feature within the system and within the target device. The processor can also detect a container to be migrated to the target device, the container comprising one or more processes being executed by the system. Additionally, the processor can implement migration procedures on the system and detect, via a kernel component of an operating system, a process identifier of each of the one or more processes to be migrated, wherein the operating system is stored in memory of the system. Furthermore, the processor can modify the system to transmit page fault data for each of the one or more processes migrated to the target device.