Crypto Card Distribution in Multi-Core Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network systems face inefficiencies in accelerating encryption and decryption processes, particularly in multi-core systems where cryptographic cards are not optimally distributed among packet processing engines, leading to suboptimal performance in secure data transmission.

Innovation Solution

A multi-cryptographic-card/multi-core system that detects available cryptographic cards and packet processing engines, and uses a card distribution manager to allocate these cards across multiple cores, ensuring efficient distribution and operation, thereby optimizing encryption and decryption processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cryptographic cards are not optimally distributed among packet processing engines in multi-core systems, then system complexity is reduced, but encryption and decryption performance deteriorates

Engineering Contradiction:
Improveencryption and decryption performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments cryptographic cards into distinct groups and assigns them to specific packet processing engines based on core topology. Each cryptographic card is allocated to a dedicated engine, creating independent processing units that reduce contention and improve parallel encryption/decryption throughput in multi-core environments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The kernel acts as an intermediary between the configurator and packet processing engines, managing the distribution of cryptographic cards. It detects available cards, receives configuration data, and maps kernel memory to user space memory, facilitating efficient resource allocation without direct engine intervention.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If cryptographic cards are distributed across multiple packet processing engines, then encryption and decryption acceleration is improved, but device complexity increases

Engineering Contradiction:
Improveencryption and decryption accelerationVSAvoiddistribution management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The configurator performs preliminary actions by detecting available cryptographic cards and receiving configuration data before the actual encryption/decryption operations begin. This pre-configuration phase establishes the distribution layout and memory mappings in advance, reducing runtime complexity and enabling parallel processing across multiple cores.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The kernel provides feedback by detecting available cryptographic cards upon boot-up and initializing them. The configurator receives this information and uses it to determine the optimal distribution layout, creating a feedback loop that adapts the system configuration to actual hardware capabilities.

Inventive Principle:
Principle #23Feedback

3Productivity

If cryptographic cards are allocated to packet processing engines, then processing throughput is improved, but memory management complexity increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidmemory mapping complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The kernel serves as an intermediary for memory management, allocating kernel memory to cryptographic cards and mapping it to corresponding user space memory in packet processing engines. This abstraction layer handles the complexity of memory allocation and mapping automatically, enabling efficient data transfer between kernel and user spaces without manual intervention.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8811223B2Systems and methods for distributing crypto cards to multiple cores
Publication Date: 2014.08.19 CITRIX SYSTEMS INC
  • US8811223B2 patent drawing
  • US8811223B2 patent drawing
  • US8811223B2 patent drawing

AI summary

The present invention is directed towards systems and methods for distributed operation of a plurality of cryptographic cards in a multi-core system. In various embodiments, a plurality of cryptographic cards providing encryption/decryption resources are assigned to a plurality of packet processing engines in operation on a multi-core processing system. The packet processing engines can be configured to operate in user space of a system, and can access cryptographic resources via memory allocations mapped from kernel space to user space. A method for use with the multi-card/multi-core system can comprise detecting, by a kernel of the multi-core system, a plurality of cryptographic cards available to the system, identifying, by a configurator of the multi-core system, a plurality of packet processing engines configured to operate in user space on a plurality of cores of the multi-core system, and determining, by a card distribution manager, a distribution layout that identifies an assignment of the plurality of cryptographic cards to the plurality of packet processing engines.