Overlay File System for HPC Job Environment Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-performance computing systems, users face significant burdens in manually configuring and managing execution environments for jobs, leading to inefficiencies and potential interference among users, especially with traditional methods and container-dependent approaches which incur high overhead and compromise user privacy.

Innovation Solution

A method utilizing an overlay file system to provide isolated, lightweight execution environments that are automatically deployed, allowing users to customize their environments independently without affecting others, with the job management system synchronizing user-defined dependencies to compute nodes, reducing user burden and maintaining low performance overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If users manually configure execution environments by copying libraries and dependencies to compute nodes, then the job can be executed with required dependencies, but the user burden increases significantly and system configuration chaos occurs

Engineering Contradiction:
Improvejob execution reliabilityVSAvoiduser operation burden
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent uses copying by creating a copy of the user's execution environment (including libraries, dependencies, and configuration files) and deploying it to the compute node. This allows the user to maintain a clean, consistent environment without manually copying individual files, thereby reducing operation burden while ensuring reliable job execution.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements preliminary action by pre-configuring the execution environment on the login node before job submission. The environment is prepared in advance with all necessary libraries and dependencies, and then automatically deployed to the compute node when the job is submitted, eliminating the need for manual configuration during job execution.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If users configure execution environments manually on compute nodes, then the job can run with required dependencies, but other users' access to the node is affected and user privacy cannot be protected

Engineering Contradiction:
Improveenvironment configuration reliabilityVSAvoidinterference between users
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies segmentation by separating the execution environment into an isolated user space on the login node and a corresponding copied space on the compute node. This segmentation ensures that each user's environment configuration is independent and does not interfere with other users, while still providing reliable environment setup for job execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses copying to create an independent replica of the user's execution environment on the compute node. This copy is specific to each user and does not affect other users' environments, thereby protecting user privacy and preventing interference while ensuring reliable job execution.

Inventive Principle:
Principle #26Copying

3Productivity

If users encapsulate execution environment into container images, then deployment becomes faster and easier, but the user burden increases due to manual maintenance of container content and deployment operations

Engineering Contradiction:
Improvedeployment efficiencyVSAvoiduser operation burden
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent uses copying to automatically replicate the user's execution environment from the login node to the compute node without requiring container image encapsulation. This copying mechanism achieves fast deployment while eliminating the need for users to manually maintain container content, thereby improving productivity without increasing operation burden.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent extracts the environment configuration management from the user's manual operations and transfers it to the system's automatic copying mechanism. This extraction eliminates the need for users to manually maintain container images and perform deployment operations, while still achieving fast and efficient deployment.

Inventive Principle:
Principle #2Taking out (Extraction)

4Object-affected harmful factors

If traditional container isolation technology is used, then user environments are isolated, but high performance overhead is incurred for running the job

Engineering Contradiction:
Improveuser environment isolationVSAvoidperformance overhead
Core Design Contradiction:
Object-affected harmful factorsVSLoss of energy

Solution Approach 1:

The patent uses copying to create a lightweight replica of the user's execution environment on the compute node without employing heavy container isolation technologies. This copying approach provides necessary environment isolation while minimizing performance overhead, as it avoids the resource consumption associated with traditional containerization isolation mechanisms.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11809303B2High-performance computing-oriented method for automatically deploying execution environment along with job
Publication Date: 2023.11.07 NAT UNIV OF DEFENSE TECH
  • US11809303B2 patent drawing
  • US11809303B2 patent drawing
  • US11809303B2 patent drawing

AI summary

A high-performance computing-oriented method for automatically deploying an execution environment along with a job, including: presetting isolated execution environments at nodes of a high-performance computing system; logging in an isolated execution environment of a login node; carrying out development and debugging on the job and configuration on a job execution environment at the login node, and issuing a job running request to a job management system; assigning compute nodes from the nodes of the high-performance computing system to the job of the user by the job management system, automatically deploying an file system of the user synchronously to the assigned compute nodes along with the job when the job is loaded, and running the job of the user by the corresponding compute nodes; and feeding results back to the login node of the user after running the job is completed, then clearing file systems.