Hardware MPI Header Matching for Cluster Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current implementations of Message Passing Interface (MPI) perform header matching in software, leading to reduced message rates due to cache misses and multiple payload copies, especially in large clusters with thousands of nodes, where overhead and latency become significant.

Innovation Solution

A scalable interface with hardware-based matcher units that perform parallel header matching in the compute node interface device, using shared SRAM to store posted receive and unexpected queues, allowing concurrent searches and reducing the need for software intervention, thereby offloading CPU operations and minimizing cache misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software-based header matching is used, then implementation flexibility is maintained, but message rate decreases due to cache misses and CPU overhead

Engineering Contradiction:
Improvemessage rateVSAvoidheader matching latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces the software-based header matching mechanism with a hardware-based matching unit. The matching unit directly compares incoming message headers against posted receive headers in hardware, eliminating the need for software execution and associated cache misses. This substitution of mechanical/software operations with hardware operations resolves the contradiction by simultaneously improving message rate and reducing latency.

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

Solution Approach 2:

The patent introduces a hardware matching unit as an intermediary component between the network interface and the CPU. This intermediary performs header matching operations in parallel using dedicated hardware resources, preventing the CPU from being bottlenecked by sequential software-based matching. The matching unit acts as a mediator that offloads the time-consuming header comparison task, thereby improving both message rate and reducing latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware-based parallel matching is implemented, then header matching efficiency improves, but device complexity increases

Engineering Contradiction:
Improveheader matching throughputVSAvoidinterface device structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the header matching function into dedicated hardware matching units that operate independently in parallel. Each matching unit can compare headers simultaneously, dividing the overall matching task across multiple hardware components. This segmentation enables high-throughput parallel processing while keeping each individual matching unit relatively simple in structure, thus improving throughput without excessive complexity increase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware matching unit is designed to be a universal component that can handle multiple header comparison operations simultaneously. Rather than creating specialized circuits for each specific matching scenario, the patent implements a general-purpose hardware matcher that can process any header format and comparison logic, reducing overall device complexity while maintaining high matching throughput through parallel operation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP2406723B1Scalable interface for connecting multiple computer systems which performs parallel MPI header matching
Publication Date: 2019.12.11 ORACLE INT CORP
  • EP2406723B1 patent drawingFigure 1
  • EP2406723B1 patent drawingFigure 2
  • EP2406723B1 patent drawingFigure 3

AI summary

An interface device for a compute node in a computer cluster which performs Message Passing Interface (MPI) header matching using parallel matching units. The interface device comprises a memory that stores posted receive queues and unexpected queues. The posted receive queues store receive requests from a process executing on the compute node. The unexpected queues store headers of send requests (e.g., from other compute nodes) that do not have a matching receive request in the posted receive queues. The interface device also comprises a plurality of hardware pipelined matcher units. The matcher units perform header matching to determine if a header in the send request matches any headers in any of the plurality of posted receive queues. Matcher units perform the header matching in parallel. In other words, the plural matching units are configured to search the memory concurrently to perform header matching.