I/O Steering Engine for Dynamic Resource Allocation on SoC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing systems with fixed computing and I/O resources are limited in performance and efficiency, leading to underutilization of I/O resources when subsystems are not functional, resulting in reduced throughput and bandwidth.
Innovation Solution
Implementing an I/O steering engine on a System-on-Chip (SoC) to dynamically steer I/O resources and accelerators between multiple compute subsystems, such as server and network compute subsystems, based on configuration and resource allocation, allowing for flexible allocation of resources to match performance requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fixed computing and I/O resources are allocated to each subsystem, then each subsystem can perform its intended function reliably, but the I/O bandwidth and system throughput are limited and I/O resources are underutilized when subsystems are not functional
Solution Approach 1:
The patent implements dynamic resource allocation by introducing an I/O steering engine that can reconfigure I/O resource allocation between compute subsystems based on operational status and workload demands. The system transitions from static fixed allocation to dynamic flexible allocation, allowing I/O resources to be redirected to active subsystems when others are inactive, thereby improving both reliability and throughput simultaneously
2Reliability
If fixed I/O resources are allocated to each subsystem, then each subsystem has dedicated bandwidth, but the overall I/O utilization efficiency decreases when subsystems are not functional
Solution Approach 1:
The patent makes I/O resources universal by enabling them to serve multiple compute subsystems dynamically. The I/O steering engine allows the same I/O resources to be allocated to different subsystems based on current operational needs, transforming dedicated single-function I/O allocation into multi-functional shared allocation, thus improving utilization efficiency while maintaining bandwidth guarantees for active subsystems
3Ease of operation
If dedicated I/O resources are assigned to each compute subsystem, then each subsystem can operate independently, but the system cannot adapt to changing workload demands and resource allocation becomes inefficient
Solution Approach 1:
The patent introduces an I/O steering engine as an intermediary component between compute subsystems and I/O resources. This mediator manages the allocation and redirection of I/O resources dynamically, allowing subsystems to maintain operational independence while the steering engine provides system-wide adaptability to changing workload demands, resolving the contradiction between independence and flexibility
Data Source
AI summary
Embodiments of the technology can provide steering of one or more I/O resources to compute subsystems on a system-on chip (SoC). The SoC may include a first I/O subsystem comprising a plurality of first I/O resources and a second I/O subsystem comprising a plurality of second I/O resources. A steering engine may steer at least one of the first I/O resources to either a network compute subsystem or to a server compute subsystem and may steer at least one of the second I/O resources to either the network compute subsystem or to the server compute subsystem.


