Virtualization-Aware Data Locality in Distributed Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed computing platforms, such as Hadoop, face challenges in virtualized environments due to the lack of consideration for virtualization levels in replica placement and task scheduling policies, leading to inefficiencies and potential data loss from shared physical host failures.
Innovation Solution
Implementing a virtualization-aware approach that takes into account the network topology of virtual machines and host computers to optimize data block replica placement, replica choosing, and task scheduling, ensuring data locality and fault tolerance by using node groups and racks to manage data and compute nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data replicas are stored on virtual machines without considering virtualization topology, then storage capacity is utilized, but data reliability deteriorates due to shared physical host failures
Solution Approach 1:
The system segments the virtualization topology into hierarchical levels (virtual machine level, host level, rack level) and applies different replication strategies at each level. By dividing the storage topology into manageable segments with distinct failure domains, the system achieves reliable data storage without overwhelming complexity
Solution Approach 2:
The patent introduces a new dimension of awareness by making the distributed file system virtualization-aware. It adds topology information (host, rack, VM relationships) to the traditional data placement decisions, transforming the storage system from topology-agnostic to topology-aware, thereby improving reliability while managing complexity through structured dimensional organization
2Productivity
If data blocks are accessed across different physical hosts, then distributed processing is achieved, but network bandwidth consumption increases
Solution Approach 1:
The system applies local quality by prioritizing data placement and task scheduling within the same or nearby physical hosts. By making data locally available to computing tasks whenever possible (same host or same rack), the system reduces network bandwidth consumption while maintaining distributed processing capabilities across the cluster
3Reliability
If replica placement ignores node group relationships, then placement simplicity is maintained, but fault tolerance deteriorates
Solution Approach 1:
The system segments the cluster into node groups based on virtualization topology (VMs on the same host form a node group). By creating these logical segments, the patent enables fault-tolerant replica placement where replicas are distributed across different node groups, ensuring that a single host failure cannot compromise all replicas of a data block
Solution Approach 2:
The patent enhances the traditional flat replica placement by introducing the node group dimension. Instead of considering only individual nodes, the system now operates in an expanded topology space that includes host-level and rack-level groupings, enabling more sophisticated fault tolerance without excessive complexity through structured hierarchical organization
4Productivity
If tasks are scheduled without virtualization awareness, then scheduling simplicity is maintained, but data locality deteriorates
Solution Approach 1:
The system applies local quality by prioritizing task scheduling on virtual machines that have local or nearby data. By considering virtualization topology (which VMs run on which hosts, and which hosts are in which racks), the scheduler can place computing tasks close to their data sources, improving data locality and reducing network traffic while maintaining scheduling manageability
Data Source
AI summary
A virtualized computing system for executing a distributed computing application, such as Hadoop, is discussed. The virtualized computing system stores data in a distributed filesystem, such as Hadoop Distributed File System, and processes data using a topology awareness that takes into account the virtualization layer of the virtualized computing system. The virtualized computing system employs locality-related policies, including replica placement policies, replica choosing policies, balancer policies, and task scheduling policies that take advantage of the awareness of the virtualization topology.


