Crypto Card Distribution in Multi-Core Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If cryptographic cards are distributed across multiple packet processing engines, then encryption and decryption acceleration is improved, but device complexity increases
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.
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.
3Productivity
If cryptographic cards are allocated to packet processing engines, then processing throughput is improved, but memory management complexity increases
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.
Data Source
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.


