Script Translation for Parallel Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The division of labor between financial analysts and software engineers in parallelizing computationally-intensive tasks creates bottlenecks, as analysts define tasks but require engineers for translation and validation, and the complexity of parallelization frameworks further delays business operations.

Innovation Solution

A system and method for automatically translating and optimizing scripts for execution in a parallelized computing environment, allowing financial analysts to write scripts in languages like Groovy, generating syntax trees, optimizing them, and transforming them into parallel processing frameworks like OpenCL or CUDA, with document binarization to enhance memory usage and execution efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If financial analysts define tasks and software engineers translate them to parallelized computing environments, then task execution can be performed in parallel, but the division of labor creates bottlenecks and delays business operations

Engineering Contradiction:
Improvetask execution speedVSAvoidtranslation and validation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent enables financial analysts to independently translate their task definitions into parallelized code without requiring software engineers. The system provides automated translation tools that convert high-level task specifications directly into executable parallel code, allowing analysts to self-service the translation process and eliminate dependency on engineering resources.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an automated translation system as an intermediary between task definition and parallel execution. This intermediary automatically converts high-level task specifications into optimized parallel code, replacing the manual translation process that previously required software engineers and caused bottlenecks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If complex parallelization frameworks like OpenCL or CUDA are used to enable concurrent execution, then task processing speed improves, but the complexity of the frameworks increases the difficulty of translation and validation

Engineering Contradiction:
Improveconcurrent execution speedVSAvoidparallelization framework complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent employs simplified, disposable translation templates and code generators that convert high-level task definitions into parallelized code without requiring deep knowledge of complex frameworks. These lightweight translation mechanisms eliminate the need for analysts to master complex parallelization frameworks while still achieving efficient concurrent execution.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent replaces the manual mechanical process of writing and validating complex parallelization code with an automated translation system. This system automatically generates optimized parallel code from high-level specifications, substituting the complex manual process with an automated mechanism that handles framework complexity internally.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If software engineers translate and validate task definitions for parallel execution, then execution accuracy is ensured, but the validation process creates additional bottlenecks in business operations

Engineering Contradiction:
Improvetask execution accuracyVSAvoidbusiness operation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent incorporates automated feedback mechanisms that validate task definitions and generated parallel code without requiring software engineers. The system automatically checks for correctness, optimizes performance, and provides feedback to analysts, ensuring execution accuracy while maintaining business operation speed through self-validating processes.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10459703B2Systems and methods for task parallelization
Publication Date: 2019.10.29 TCMI UK LTD
  • US10459703B2 patent drawing
  • US10459703B2 patent drawing
  • US10459703B2 patent drawing

AI summary

Various embodiments of the present disclosure can include systems, methods, and non-transitory computer readable media configured to obtain at least one script and at least one document, wherein the script includes one or more instructions to be translated for execution in a parallelized computing environment, and wherein the document includes data that is referenced by the script. A syntax tree for the script can be determined. At least one approach for optimizing the syntax tree can be applied. Parallelized code for execution in the parallelized computing environment can be generated. A binary representation of the document can be determined. The parallelized code can be processed based at least in part on the binary representation of the document.