Event Hub Notifications for SoC Task Queue Polling Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems with System on a Chip (SoC) architectures face challenges in managing tasks and handling interrupts, leading to delays, inefficient resource utilization, and high power consumption due to continuous checking of event queues.
Innovation Solution
Implementing an event hub engine that manages subscriptions, notifications, and congestion control, including congestion detection, load balancing, event prioritization, reliability mechanisms, and event logging to efficiently distribute tasks among components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If components continuously check event queues for tasks, then task retrieval is ensured, but power consumption increases and processor resources are wasted
Solution Approach 1:
The system implements a notification mechanism where the event hub engine sends feedback signals to components when tasks are available. Components subscribe to event queues and receive asynchronous notifications instead of continuously polling, eliminating wasted processor cycles while maintaining reliable task retrieval through the feedback loop established by the event hub engine.
Solution Approach 2:
The event hub engine manages the event queue autonomously, handling task distribution, congestion control, and component coordination without requiring components to actively monitor or poll the queue. Each component serves itself by listening for notifications and acting when tasks become available, rather than continuously checking the queue status.
2Reliability
If components continuously monitor event queues, then task availability is detected, but processor use increases unnecessarily
Solution Approach 1:
The event hub engine establishes a feedback mechanism where task availability information is pushed to subscribed components through notifications. This eliminates the need for components to continuously monitor queue status, as the system automatically detects and communicates availability, thereby improving processor utilization efficiency while maintaining reliable task availability detection.
Solution Approach 2:
The event hub engine acts as an intermediary between task sources and processing components. It manages the event queue and communicates task availability to components through standardized notifications, decoupling components from continuous monitoring requirements and improving overall system productivity by eliminating unnecessary processor activity.
3Productivity
If the system implements comprehensive event management features, then task distribution efficiency improves, but device complexity increases
Solution Approach 1:
The event hub engine is designed as a universal component that handles multiple functions including event queue management, task distribution, congestion control, load balancing, and component coordination. By consolidating these diverse functions into a single multi-functional engine, the system achieves efficient task distribution without proportionally increasing overall device complexity.
Solution Approach 2:
The event hub engine serves as a centralized intermediary that manages complex event routing and component coordination. It abstracts the complexity of multi-component communication behind a unified interface, providing efficient task distribution to components while hiding the underlying complexity from the rest of the system.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Embodiments of the present disclosure are directed to a processing device comprising: a first component; a second component; and a processing circuit coupled to the first component and the second component. The processing circuit may be configured to: receive a first request from the first component for receiving a first notification; receive a second request from the second component for receiving a second notification; transmit the first notification to the first component based on detecting a criterion, wherein the first component is configured to generate a message based on the first notification; and transmit the second notification to the second component based on detecting the message, wherein the second component is configured to take an action based on the second notification.