DPA Operating System Module for Job Scheduling and Resource Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data processing accelerators (DPAs) require vendor-specific programs and kernels, leading to inefficient resource management and job scheduling, especially as they evolve into high-performance compute devices, necessitating improved communication and task execution mechanisms.
Innovation Solution
An operating system module for DPAs is introduced that schedules jobs and manages resources by breaking down tasks into kernel-type commands, using a secure channel for communication with the host device, and employing a trusted execution environment to protect against data intrusions and side-channel attacks, thereby enhancing processing throughput and security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If vendor-specific programs and kernels are used for DPAs, then compatibility with host computing devices is maintained, but resource management efficiency and job scheduling performance deteriorate
Solution Approach 1:
The patent introduces a universal operating system module that can manage multiple types of DPAs and communicate with various host computing devices through standardized interfaces. This eliminates the need for vendor-specific programs while maintaining compatibility, thereby improving resource management efficiency and job scheduling performance across different DPA architectures.
Solution Approach 2:
The operating system module acts as an intermediary layer between the host computing device and the DPA. It provides standardized communication protocols and resource management functions that bridge the gap between diverse host systems and DPA hardware, resolving the contradiction between compatibility and efficiency.
2Productivity
If DPAs are configured to communicate with host computing devices for resource management, then job scheduling is enabled, but processing throughput and security are compromised
Solution Approach 1:
The DPA is equipped with an autonomous operating system module that can manage its own resources and execute jobs independently. This self-service capability reduces the need for continuous host device intervention, thereby improving processing throughput while maintaining security through localized control and reduced communication overhead.
Solution Approach 2:
The system divides the computing workload into independent tasks that can be executed separately on different DPAs. Each DPA has its own isolated operating system module that manages its own resources, creating security boundaries that prevent data intrusions while enabling parallel processing to improve throughput.
3Ease of operation
If dedicated programs and kernels are used for each DPA, then hardware compatibility is ensured, but task execution complexity and scheduling overhead increase
Solution Approach 1:
The operating system module dynamically adjusts execution parameters such as priority, resource allocation, and scheduling policies based on the current system state and task requirements. This flexible parameter management simplifies task scheduling while adapting to different DPA configurations, eliminating the need for dedicated programs for each hardware type.
Data Source
AI summary
Embodiments disclose systems and methods of an operating system module for a data processing accelerator (DPA). The operating system module can schedule jobs and manage resources (e.g., computing units, memory, IO bandwidth) of the DPA. For one embodiment, a system receives a request, by a DPA, the request sent by an application to execute a data processing task. The system schedules, by an operating system module of the DPA, one or more commands based on one or more kernels to complete the data processing task. The system generates, by the operating system module of the DPA, a completion signal upon completion of the one or more scheduled commands. The system sends a result back to the application acknowledging completion of the one or more commands for the data processing task based on the completion signal.


