GPU Offloading for Multithreaded Server Cryptographic Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face significant performance degradation due to the computational intensity of cryptographic operations, which worsens when security mechanisms are integrated, leading to inefficiencies and high costs, especially in multithreaded environments.

Innovation Solution

A system that offloads encryption and decryption tasks from the central processing unit (CPU) to a graphics processing unit (GPU) using batching and scheduling mechanisms, allowing the GPU to handle parallel processing of composite messages, thereby reducing overhead and improving CPU availability for core applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographic algorithms are used for data protection, then security is improved, but CPU performance deteriorates due to computational intensity

Engineering Contradiction:
Improvedata protectionVSAvoidCPU performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts cryptographic operations from the CPU and relocates them to a specialized cryptographic processing unit. This separation allows the CPU to focus on core application logic while the cryptographic unit handles encryption/decryption tasks, resolving the contradiction between security requirements and CPU performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a cryptographic processing unit as an intermediary component between the CPU and data streams. This mediator handles the computationally intensive cryptographic operations, shielding the CPU from performance degradation while maintaining robust data protection capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If dedicated hardware is added for cryptographic support, then CPU availability is improved, but system cost and complexity increase

Engineering Contradiction:
ImproveCPU availabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cryptographic processing unit is designed with a unified architecture that can handle multiple cryptographic algorithms and operations through a single interface. This multi-functional design provides the benefits of dedicated hardware without proportionally increasing system complexity, as one unit serves multiple security functions.

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

3Productivity

If external hardware devices are used for cryptographic functions, then CPU load is reduced, but marshalling overhead and device latency increase

Engineering Contradiction:
ImproveCPU cycle usageVSAvoidcryptographic operation latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The cryptographic processing unit is integrated into the system's memory hierarchy and communication fabric, merging it closely with the CPU architecture. This integration eliminates the need for data marshalling and unmarshalling between separate hardware devices, reducing latency while maintaining CPU availability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP2192518B1System for securing multithreaded server applications
Publication Date: 2016.01.27 ACCENTURE GLOBAL SERVICES LTD
  • EP2192518B1 patent drawingFigure 1
  • EP2192518B1 patent drawingFigure 2
  • EP2192518B1 patent drawingFigure 3

AI summary

A system for securing multithreaded server applications addresses the need for improved application performance. The system implements offloading, batching, and scheduling mechanisms for executing multithreaded applications more efficiently. The system significantly reduces overhead associated with the cooperation of the central processing unit with a graphics processing unit, which may handle, for example, cryptographic processing for threads executing on the central processing unit.