Segmented Device ID Encoding for Multiprocessor Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor computer systems, the large size of device IDs used to identify devices increases the size of communications, which can lead to inefficiencies in communication protocols, particularly in shared memory architectures where cache coherency is maintained.

Innovation Solution

Implementing multiple classes of device IDs, where only a subset of the ID is encoded in packets, allowing devices in the same class to recognize and respond to specific packet characteristics, reducing the need for the full device class ID in messages and enabling more efficient communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the full device ID is encoded in every packet, then device identification accuracy is improved, but communication size increases

Engineering Contradiction:
Improvedevice identification accuracyVSAvoidcommunication size
Core Design Contradiction:
Measurement precisionVSLength of moving object

Solution Approach 1:

The device ID is segmented into two parts: a device class identifier and a device-specific identifier. The device class identifier is omitted from packets when the receiving device can infer it from the packet type and network context, while the device-specific identifier is included to maintain unique identification within the class. This segmentation reduces communication size while preserving necessary identification accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of always encoding the complete device ID (excessive action), the system encodes only the necessary portion of the ID (partial action) based on the packet type and receiving device capabilities. This partial encoding approach reduces communication overhead while maintaining sufficient identification for the specific communication context.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If the device class ID is included in all packets, then routing accuracy is improved, but communication efficiency decreases

Engineering Contradiction:
Improverouting accuracyVSAvoidcommunication efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The packet structure dynamically adapts based on the packet type and communication context. For packets where the receiving device can infer the device class from the packet type (e.g., coherence transactions), the device class ID is omitted. For packets requiring explicit routing based on device class, the ID is included. This dynamic adjustment optimizes communication efficiency without sacrificing routing accuracy when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The receiving device uses its own knowledge of the network topology and packet types to self-determine the device class identifier, eliminating the need for it to be explicitly transmitted. Each receiving device maintains an understanding of which packet types correspond to which device classes, allowing it to infer the missing information without additional communication overhead.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9110853B2Computer system with multiple classes of device IDs
Publication Date: 2015.08.18 SUN MICROSYSTEMS INC
  • US9110853B2 patent drawing
  • US9110853B2 patent drawing
  • US9110853B2 patent drawing

AI summary

Various systems and methods implement multiple classes of device IDs. A computer system may include a network, a sending device, and a receiving device. The sending device is configured to encode less than all of a device ID identifying the sending device in a packet before sending the packet on the network. In response to receiving the packet, the receiving device is configured to send a responsive packet to the sending device. The receiving device is configured to encode the entire device ID identifying the sending device in the responsive packet. A portion of the device ID that the initiating device does not encode in the packet identifies the initiating device as one of the devices in a particular device class. Only devices in that device class are configured to send packets having a characteristic of the packet on the network.