Hardware Engine Accelerates Object Communication in Multi-Processor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multi-processor systems experience slow communications between objects, which hampers performance due to inefficient message handling and processing.

Innovation Solution

The introduction of a hardware engine capable of formatting and communicating messages between client and server objects, including a command decoder, data compactor, network request generator, network response decoder, and acknowledgement generator, to accelerate object-oriented communications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional software-based message handling is used in multi-processor systems, then system complexity is reduced and ease of implementation is improved, but communication speed and processing efficiency deteriorate

Engineering Contradiction:
Improvecommunication speedVSAvoidhardware complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces a hardware engine as an intermediary component between processors executing client objects and processors executing server objects. This hardware engine专门 handles message formatting and communication tasks, acting as a mediator that offloads these operations from the general-purpose processors. The engine includes specialized components like command decoders, data compactors, and network request generators that efficiently handle communication protocols, thereby improving communication speed without requiring fundamental changes to the processor architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces software-based message handling mechanisms with hardware-based mechanisms. Specifically, it substitutes software interpretation and processing of communication protocols with dedicated hardware circuits that can process messages in parallel and at higher speeds. This substitution of mechanical/software systems with hardware systems directly addresses the speed limitation while managing complexity through specialized design.

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

2Productivity

If more processing resources are added to improve parallel execution, then productivity is improved, but communication overhead and system complexity increase

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidcommunication time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the communication handling function from the general-purpose processing function by introducing a dedicated hardware engine. This segmentation allows multiple processors to execute client and server objects in parallel while the hardware engine independently and efficiently manages message formatting and transmission. The segmentation prevents communication overhead from becoming a bottleneck in parallel processing operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware engine enables continuous message formatting and communication handling without interrupting the parallel execution of client and server objects. By maintaining continuous operation of communication tasks in the hardware engine while processors continuously execute object methods, the system achieves sustained high productivity without communication delays interrupting the parallel processing flow.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8176117B2Accelerator for object-oriented communications and method
Publication Date: 2012.05.08 STMICROELECTRONICS INT NV
  • US8176117B2 patent drawing
  • US8176117B2 patent drawing
  • US8176117B2 patent drawing

AI summary

A processing system includes a plurality of processing resources capable of executing a plurality of objects. The objects include a client object and one or more server objects. The client object is capable of requesting a service provided by at least one of the one or more server objects. The processing system also includes at least one hardware engine capable of receiving a request for the service from the processing resource executing the client object, formatting one or more messages associated with the requested service, and communicating the one or more messages to the processing resource executing at least one of the one or more server objects that provides the requested service.