Software-Hardware Benchmarking for Real-Time Processor Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing benchmarks are inadequate for accurately estimating the real-time performance of specific software applications on particular hardware systems, as they are generally designed to measure hardware performance rather than software-specific requirements, making it difficult to determine the optimal hardware processor for real-time systems.

Innovation Solution

A system and method that generates unique performance benchmarks for specific computer object code running on designated hardware microprocessors, allowing for the identification of optimal hardware processors for code modules and selecting the best software modules for deployment by analyzing instruction execution patterns and processor-specific timing data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If generalized hardware benchmarks are used to measure processor performance, then hardware performance can be characterized, but software-specific real-time performance requirements cannot be accurately assessed

Engineering Contradiction:
Improvesoftware performance measurement accuracyVSAvoidbenchmark applicability to different software applications
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent segments the benchmarking process into distinct components: instruction mix analysis, timing data collection, and performance calculation. By breaking down the monolithic benchmark into measurable segments (instruction frequency, cycle counts, memory access patterns), the system achieves precise software-specific performance measurement while maintaining adaptability across different applications

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameters being measured from general hardware metrics (raw processing speed) to software-specific parameters (instruction mix distribution, actual execution timing, memory access patterns). This parameter transformation enables accurate assessment of real-time software performance while adapting to diverse application requirements through customizable measurement sets

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If custom performance benchmarks are generated for specific software-hardware combinations, then accurate real-time performance estimation is achieved, but the complexity of the benchmarking system increases

Engineering Contradiction:
Improvereal-time performance estimation accuracyVSAvoidbenchmarking system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The benchmarking system performs self-service by automatically collecting timing data from the actual hardware platform, analyzing the software's instruction mix, and generating performance metrics without requiring manual configuration. The system services itself by using the target hardware to benchmark the target software, reducing external complexity while maintaining high measurement precision

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary benchmarking layer that sits between the software and hardware, collecting timing data and instruction information without requiring direct modification of either. This intermediary approach simplifies the overall system by providing a standardized interface that translates complex hardware-software interactions into measurable performance metrics

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If generalized benchmarks measure only hardware performance, then processor capabilities can be characterized, but the interaction between software and hardware cannot be evaluated

Engineering Contradiction:
Improvesoftware execution speedVSAvoidsoftware-hardware interaction data
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent performs preliminary analysis of the software's instruction mix and execution patterns before conducting the actual performance measurement. By pre-identifying critical instruction sequences, memory access patterns, and timing characteristics, the system captures complete software-hardware interaction data that would otherwise be lost in generic benchmarks, enabling accurate productivity assessment

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3923142B1Performance benchmarking for real-time software and hardware
Publication Date: 2023.07.19 GENERAL ELECTRIC CO
  • EP3923142B1 patent drawingFigure 1
  • EP3923142B1 patent drawingFigure 2A~2B
  • EP3923142B1 patent drawingFigure 3~4

AI summary

A system and method determines a unique performance benchmark for specific computer object code for a particular microprocessor. By generating multiple unique benchmarks for a single, same code module on multiple different processors, the method determines which processor is optimal for the code module. By generating for a single designated processor a performance benchmark for each code modules of multiple modules, where the multiple modules have a same/similar functionality but variations in detailed code or algorithms, the system and method identifies code variation(s) which is/are optimal for the single designated processor. The system and method may entail first extracting selected features of object code (as actually executed) into a code profile, and then generating the performance benchmark based on the code profile and in machine-level timing data for the selected microprocessor. In this way, code security is achieved by fire-walling the object code from the second stage of the method.