XML Parser Parallel Execution on Multi-Unit CPUs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for parsing XML and NVP data in software are inefficient due to their sequential nature, requiring significant CPU cycles and resources, which is problematic in systems with limited resources like handheld devices and servers.

Innovation Solution

The method leverages modern processors with multiple execution units to perform processing loops in parallel, ordering operations to minimize latency and maximize throughput by determining the maximum delay in the most processing-heavy unit and filling corresponding cycles with other operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If XML or NVP data is parsed using sequential processing loops in software, then the parsing can be performed flexibly with software updates, but the processing time and CPU cycle consumption increase significantly

Engineering Contradiction:
Improvesoftware flexibilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent divides the sequential processing loops into multiple independent processing stages (scanning, copying, checking, hashing, table insertion, output) that can be executed simultaneously by different execution units. This segmentation allows parallel processing while maintaining software flexibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from one-dimensional sequential processing to multi-dimensional parallel processing by utilizing multiple execution units operating simultaneously. This dimensional change enables multiple processing loops to execute in parallel, reducing overall processing time while maintaining software-based flexibility.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If multiple processing loops are executed in parallel using multiple execution units, then the processing speed and throughput increase, but the complexity of operation ordering and scheduling increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidoperation ordering complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary analysis to identify the critical path (maximum delay) among processing loops before execution. By determining which execution unit has the most processing to perform in advance, the system can optimize scheduling and fill idle cycles proactively, reducing the complexity of real-time coordination.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuous utilization of all execution units by filling idle cycles with additional operations. This eliminates wasted processing capacity and maintains high throughput without requiring complex dynamic scheduling during execution.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8701119B1Parsing XML in software on CPU with multiple execution units
Publication Date: 2014.04.15 ROSS RICHARD A
  • US8701119B1 patent drawing
  • US8701119B1 patent drawing
  • US8701119B1 patent drawing

AI summary

An improved method for parsing XML data or NVP data in software is disclosed. The method takes advantage of some modern processors' architecture which has multiple execution units. The multiple execution units allow multiple processing loops to occur in parallel. Instructions can be ordered so that the maximum delay in finishing a task is determined by the execution unit with the most processing to perform. Corresponding cycles in the remaining execution units can then be filled to perform other operations in parallel.