Multi-tenant Hadoop Platform Resource Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional distributed computing platforms, such as Hadoop, face challenges in providing quality of service (QoS) guarantees across tenants due to lack of resource constraint enforcement and tradeoffs between over-commitment of resources and low resource utilization when deploying distributed computing and database applications on the same system.
Innovation Solution
The method involves instantiating virtual machines (VMs) to form separate distributed filesystems for compute and database applications, allowing compute VMs to scale elastically and isolate resources, while using a shared or separate distributed filesystem to manage data storage across tenants, ensuring differentiated quality of service through resource controls and prioritization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If distributed computing and database applications are deployed on the same system, then resource utilization is improved, but quality of service guarantees deteriorate due to lack of resource constraint enforcement
Solution Approach 1:
The system segments computing resources by creating separate virtual machine clusters - a first cluster for distributed computing applications and a second cluster for distributed database applications. Each cluster has dedicated resources with enforced constraints, preventing one application type from consuming resources needed by the other, thus maintaining QoS guarantees while achieving multi-tenancy.
Solution Approach 2:
A virtualization layer acts as an intermediary between physical computing resources and applications. This layer enforces resource constraints and isolation policies, allowing multiple tenants to share the underlying infrastructure while guaranteeing service quality through virtual resource boundaries and control mechanisms.
2Productivity
If resources are over-committed to increase utilization, then productivity is improved, but system reliability deteriorates due to resource contention
Solution Approach 1:
The system implements dynamic resource allocation where resource constraints can be adjusted based on actual workload demands. Resource limits for each virtual machine cluster are not fixed but can be modified to match changing requirements, allowing the system to optimize utilization while preventing overload and maintaining stability.
3Reliability
If separate systems are used for computing and database applications, then quality of service is maintained, but resource utilization deteriorates due to duplication
Solution Approach 1:
The system merges distributed computing and database applications into a single multi-tenant platform while maintaining logical separation through virtual machines. This consolidation allows shared infrastructure resources to be utilized by both application types simultaneously, improving overall resource utilization while QoS is preserved through virtualization-based isolation and constraint enforcement.
Data Source
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. Deployments of a distributed computing application, such as Hadoop, may be executed concurrently with a distributed database application, such as HBase, using a shared instance of a distributed filesystem, or in other cases, multiple instances of the distributed filesystem. Computing resources allocated to region server nodes executing as VMs may be isolated from compute VMs of the distributed computing application, as well as from data nodes executing as VMs of the distributed filesystem.


