External Shuffle Service for VM Data Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cloud computing environments face inefficiencies in data processing across multiple virtual machines, particularly in the shuffle phase of map reduce frameworks, where data partitioning and resource allocation are not optimized, leading to suboptimal performance and inflexibility in managing system resources.

Innovation Solution

Implementing a shuffle service that operates externally to virtual machines, providing an interface for data record partitioning and allocation, allowing data records with the same key to be processed by the same virtual machine, and integrating this service with the file system or exposing it via a network interface, enabling efficient data management and resource sharing across multiple clients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data partitioning is performed within virtual machines using existing cloud computing environments, then data processing can be distributed across multiple virtual machines, but data partitioning efficiency and resource utilization are suboptimal due to lack of centralized coordination

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidsystem coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a shuffle service as an intermediary component that operates outside the virtual machine environment. This shuffle service provides centralized coordination for data partitioning and allocation across multiple virtual machines, improving data partitioning efficiency without requiring complex coordination logic within each virtual machine. The shuffle service acts as a mediator that manages the distribution of data records to appropriate virtual machines based on partitioning keys.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If shuffle service is implemented within virtual machines, then data processing can be performed, but flexibility in implementing and modifying the shuffle service is reduced

Engineering Contradiction:
Improveshuffle service implementation flexibilityVSAvoidsoftware modification ease
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent extracts the shuffle service from the virtual machine environment and places it in the host operating system or as a separate external service. This extraction allows the shuffle service to be implemented, modified, and updated independently of the virtual machine software code. The virtual machines interact with the shuffle service through standardized interfaces, enabling flexible implementation changes without altering the underlying virtual machine software.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If data records are not properly partitioned across virtual machines, then data can be processed in parallel, but resource utilization becomes inefficient and performance deteriorates

Engineering Contradiction:
Improveresource utilizationVSAvoiddata partitioning time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary partitioning of data records by the shuffle service before distribution to virtual machines. The shuffle service performs data partitioning based on partitioning keys and allocates records to appropriate virtual machines in advance, ensuring optimal resource utilization before parallel processing begins. This preliminary action eliminates the need for virtual machines to perform complex partitioning operations during processing, reducing data partitioning time and improving overall resource utilization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9535742B1Clustering for parallel processing
Publication Date: 2017.01.03 GOOGLE LLC
  • US9535742B1 patent drawing
  • US9535742B1 patent drawing
  • US9535742B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for clustering for parallel processing. One of the methods includes providing virtual machines with an interface to a shuffle service, the shuffle service executing external of the virtual machines. The method includes receiving data records through the interface, each data record having a key and a value. The method includes partitioning the data records, using the shuffle service, according to the respective keys. The method includes providing a part of the partitioned data records through the interface to the virtual machines, wherein data records having the same key are provided to the same virtual machine. Each of the virtual machines can execute on a host machine and each of the virtual machine is a hardware virtualization of a machine.