Pull-Based Inner-Loop Code Deployment for Serverless HPC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional high performance computing architectures face challenges in rapid code deployment due to complexity, requiring extensive steps and expertise, leading to increased development turnaround time and costs, especially in serverless environments where scaling to zero and accessing multiple container instances is difficult.

Innovation Solution

A central repository for pull-based inner-loop code deployment, where code updates are pushed to a central location, and processing logic in each instance detects and retrieves updates, allowing for hot reloads without restarting containers, while monitoring performance and rolling back if regressions occur.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional deployment methods are used in high performance computing architectures, then code can be deployed to multiple parallel services, but the deployment process becomes complex with many steps and increased development turnaround time

Engineering Contradiction:
Improvecode deployment reliabilityVSAvoiddeployment process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A central repository is introduced as an intermediary component that manages code updates for multiple service instances. The repository stores code updates and provides them to instances on demand, simplifying the deployment process by centralizing update management rather than requiring direct distribution to each instance

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Service instances automatically check the central repository for code updates and perform self-upgrades without requiring manual intervention or complex deployment orchestration. The instances poll the repository, retrieve updates when available, and apply them autonomously, reducing deployment complexity and turnaround time

Inventive Principle:
Principle #25Self-service

2Productivity

If code updates are pushed to each running instance in conventional methods, then all instances can be updated, but the process requires tracking each instance location and restarting them individually

Engineering Contradiction:
Improvedeployment speedVSAvoiddeployment operation ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

Instead of the conventional approach where the deployment system pushes code to each instance, the invention inverts the flow by having instances pull code updates from a central repository. Instances automatically check for and retrieve updates, eliminating the need for the deployment system to track and access each instance's location and state

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

Each service instance autonomously monitors the central repository for updates, retrieves them when available, and performs self-upgrades. This self-service mechanism eliminates manual tracking and coordination of instance updates, significantly improving both deployment speed and operational ease

Inventive Principle:
Principle #25Self-service

3Reliability

If full production-grade deployment is performed, then code changes are deployed to all instances, but the process is costly and time-consuming

Engineering Contradiction:
Improvedeployment completenessVSAvoiddevelopment turnaround time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements a lightweight update mechanism that performs only the necessary actions for code updates without the overhead of full production-grade deployment. Instances pull updates from the central repository and apply them through hot reload or simple restarts, avoiding the complex, time-consuming processes of complete production deployments while still achieving comprehensive code distribution

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Service instances autonomously retrieve and apply code updates from the central repository without requiring full deployment cycles. The self-service update mechanism reduces development turnaround time by eliminating redundant deployment steps while ensuring all instances receive code changes through automatic polling and retrieval

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230350668A1Pull based inner-loop code deployment
Publication Date: 2023.11.02 RED HAT INC
  • US20230350668A1 patent drawing
  • US20230350668A1 patent drawing
  • US20230350668A1 patent drawing

AI summary

A method includes determining whether a code update for the service is available at a central repository of the computing environment and, in response to determining that the code update is available, retrieving the code update from the central repository. The method further includes performing a modification of the service in view of the code update.