Hadoop Compute VM Segmentation for Multi-tenant Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing platforms like Hadoop face challenges in efficiently managing and scaling compute resources, leading to underutilization and inefficiencies in multi-tenancy due to the combination of data and compute nodes within a single host, which affects performance and security isolation.

Innovation Solution

The solution involves separating data nodes and compute nodes into different virtual machines (VMs) within a virtualized environment, allowing for elastic scaling and efficient resource allocation through a resource container model, where compute VMs can be powered on or off dynamically, and using a network filesystem for shared access, enabling true multi-tenancy and improved resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If data nodes and compute nodes are combined within a single host, then device complexity is reduced, but resource utilization efficiency deteriorates and security isolation between tenants is compromised

Engineering Contradiction:
Improvesystem complexityVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments data nodes and compute nodes into separate virtual machines within the same host. Data nodes are isolated in dedicated VMs while compute nodes run in separate VMs, enabling independent management and allocation of storage and computing resources. This segmentation resolves the contradiction by maintaining low device complexity through virtualization while achieving high resource utilization through flexible allocation and multi-tenancy support.

Inventive Principle:
Principle #1Segmentation

2Productivity

If compute resources are dynamically scaled, then productivity and adaptability improve, but system stability and security isolation may deteriorate

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsecurity isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting compute nodes into separate virtual machines, the patent enables dynamic scaling of compute resources while maintaining security isolation through VM boundaries. Each tenant's compute VMs are isolated from others, ensuring security even as resources are dynamically allocated and scaled.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a node manager as an intermediary that handles resource allocation, VM lifecycle management, and security policies. This intermediary ensures that dynamic scaling operations maintain security isolation by enforcing access controls and proper resource provisioning, thus resolving the contradiction between productivity improvement and reliability maintenance.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple tenants share the same host, then resource utilization efficiency improves, but performance isolation between tenants deteriorates

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidperformance isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments each tenant's data nodes and compute nodes into separate virtual machines on the same host. This segmentation enables multiple tenants to share host resources efficiently while maintaining performance isolation through VM boundaries, resolving the contradiction between improved resource utilization and maintained performance isolation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10193963B2Container virtual machines for hadoop
Publication Date: 2019.01.29 VMWARE INC
  • US10193963B2 patent drawing
  • US10193963B2 patent drawing
  • US10193963B2 patent drawing

AI summary

A distributed computing application is described that provides a highly elastic and multi-tenant platform for Hadoop applications and other workloads running in a virtualized environment. Data and compute nodes are separated into different virtual machines (VM). Compute VMs are used to launch containers from different tenants. Compute VMs are organized in pools of hot spare VMs that are immediately available for launching a container and executing a task, and pools of cold spare VMs. Each compute VM may include a mounted network filesystem provided by a node manager to share intermediate outputs across VMs executing on the same host.