User-Level Container Pools for I/O Performance Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing containerized systems face challenges in performance isolation between containers, resource allocation fairness, and kernel involvement complexities, leading to inefficiencies and potential performance bottlenecks in multi-tenant environments.
Innovation Solution
A shared computing system with user-level container pools, where applications and filesystem services run at the user level, utilizing a shared memory for interprocess communication, and a queue system for efficient data transfer, along with a Polytropon toolkit that provides user-level filesystem services and interprocess communication components to manage resources and isolate I/O operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If containers share the host operating system to reduce overhead, then resource overhead is reduced and startup time is shortened, but performance isolation between containers is not guaranteed
Solution Approach 1:
The patent segments the monolithic kernel into multiple virtual kernels, each serving a container pool. This segmentation allows each virtual kernel to provide isolated system call handling and resource management for its containers, ensuring performance isolation while maintaining the lightweight container architecture. The virtual kernels are implemented as user-space processes that emulate kernel functionality for their respective container pools.
Solution Approach 2:
The patent introduces virtual kernels as intermediary layers between containers and the host operating system. These virtual kernels act as mediators that handle system calls from containers in their pool, providing isolated resource management and preventing noisy neighbor effects while avoiding the overhead of full hardware virtualization.
2Ease of operation
If kernel services are used to manage system resources, then resource management is centralized, but resource allocation fairness is compromised due to inaccurate accounting
Solution Approach 1:
The patent segments resource management responsibilities from the monolithic kernel to individual virtual kernels, each responsible for their container pool. This allows accurate accounting of resources at the container level since each virtual kernel directly manages the system calls and resources of its containers without interference from other containers.
Solution Approach 2:
The patent changes the operational parameters of resource management by implementing it in user-space virtual kernels rather than kernel-space. This allows for more flexible and precise resource tracking, as virtual kernels can implement custom accounting mechanisms that accurately reflect container-specific resource consumption patterns.
3Adaptability or versatility
If kernel involvement is increased to handle I/O activities, then I/O functionality is provided, but hardware costs increase due to mode switches and cache pollution
Solution Approach 1:
The patent introduces virtual kernels as intermediary layers that handle I/O system calls from containers in user-space. This intermediary approach provides full I/O functionality while reducing hardware costs by minimizing kernel-mode transitions and cache pollution, as the virtual kernels manage I/O operations more efficiently at the user-space boundary.
Solution Approach 2:
The patent implements virtual kernels that copy essential kernel functionality to user-space, creating lightweight replicas that handle system calls without requiring frequent transitions to the host kernel. This copying approach maintains I/O functionality while reducing the overhead of mode switches and cache management.
4Device complexity
If the monolithic kernel structure is used, then system simplicity is maintained, but customization of system parameters for different tenants is complicated
Solution Approach 1:
The patent segments the monolithic kernel into multiple independent virtual kernels, each capable of being customized for its container pool. This segmentation maintains overall system simplicity while enabling tenant-specific parameter customization, as each virtual kernel can be configured independently without affecting others.
Solution Approach 2:
The patent makes the kernel structure dynamic by allowing virtual kernels to be created, configured, and destroyed as needed for different container pools. This dynamic approach enables flexible customization of system parameters for different tenants while maintaining the simplicity of the underlying host operating system.
Data Source
AI summary
A shared computing system for serving a plurality of tenants using container pools. Each container pool has a filesystem service configured to service one or more applications within the container pool. A shared memory is used to facilitate interprocess communication between the application and the filesystem service, both of which along with the interprocess communication itself are run at user level.


