Partitioning Secure Computation Circuits for Multi-Processor Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Sequential secure computation code, such as fully homomorphic encryption (FHE) code, is slow to execute and difficult to parallelize, making it inefficient on multiple processors, especially when manual parallelization is error-prone and costly.

Innovation Solution

A system that obtains a circuit describing operations of sequential secure computation code, modifies it based on a cost function, partitions it into sub-circuits, and assigns these sub-circuits to different processors for concurrent execution, using techniques like gradient descent algorithms and constrained optimization to minimize running time and data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential secure computation code is executed on multiple processors, then execution speed can be improved, but the code is difficult to parallelize and requires manual parallelization which is error-prone and costly

Engineering Contradiction:
Improveexecution speedVSAvoidparallelization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the sequential secure computation code into discrete circuit operations that can be independently executed. By representing the computation as a circuit with distinct gates and operations, the code is divided into parallelizable units that can be assigned to multiple processors without manual intervention.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary compilation process that automatically transforms sequential code into a circuit representation and generates parallel execution plans. This intermediary layer handles the complexity of parallelization, shielding developers from errors while enabling multi-processor execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If manual parallelization is performed to speed up execution, then running time is reduced, but it requires time and money and is error prone

Engineering Contradiction:
Improverunning timeVSAvoidparallelization effort
Core Design Contradiction:
Loss of timeVSEase of manufacture

Solution Approach 1:

The patent implements self-service parallelization where the compilation system automatically analyzes the circuit representation of secure computation code and generates optimal parallel execution strategies without human intervention. The system serves itself by identifying parallelizable operations and distributing them across processors.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the representation parameters of the code from sequential instructions to circuit-based operations with explicit data dependencies. This parameter change enables automatic analysis of parallelization opportunities and facilitates efficient distribution across multiple processors.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If sequential secure computation code is used, then implementation is straightforward, but execution is slow and inefficient

Engineering Contradiction:
Improveimplementation easeVSAvoidexecution efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces dynamic parallelization where the system adapts the execution strategy based on the circuit structure and available processors. The compilation process dynamically determines the optimal parallel execution plan, maintaining ease of implementation while achieving high execution efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11841982B2Partitioning circuits for execution of sequential secure computation code on multiple processors
Publication Date: 2023.12.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11841982B2 patent drawing
  • US11841982B2 patent drawing
  • US11841982B2 patent drawing

AI summary

An example system includes a processor that can obtain a circuit describing operations of sequential secure computation code. The processor can modify the circuit based on a cost function. The processor can partition the circuit into a number of sub-circuits. The processor can assign the number of the sub-circuits to different processors for execution.