Serializer-Based Flow Control for Multi-Producer Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing environments, existing flow control mechanisms fail to effectively manage service request flows between requesters and servers, leading to potential overflow and resource wastage due to unmanaged contention for services, especially when request rates exceed processing capabilities.
Innovation Solution
Implementing a serializer and serializer queue between requesters and service providers, which inhibits requesters when the serializer queue is full and recalculates service provider queue times to synchronize with serializer times, ensuring controlled request rates that match the service provider's processing capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If dynamic flow control methods are used to track congestion in real time, then throughput is optimized, but system complexity increases due to real-time monitoring and regulation mechanisms
Solution Approach 1:
The patent introduces a serializer as an intermediary component between producers and the service provider. This serializer acts as a mediator that manages the flow of service requests by serializing them into a queue, thereby reducing the complexity of real-time congestion tracking while still optimizing throughput through controlled request delivery.
2Device complexity
If static rate control with pre-configured values is used, then system complexity is reduced, but adaptability to changing service rates deteriorates
Solution Approach 1:
The patent implements dynamic rate control by continuously monitoring the service provider's actual service rate and adjusting the serializer's controlled service rate accordingly. This dynamic adjustment mechanism allows the system to adapt to changing service rates without requiring complex real-time congestion tracking, thus maintaining simplicity while improving adaptability.
3Productivity
If the serializer queue is made larger to reduce inhibition frequency, then productivity improves, but the risk of overflow and resource wastage increases
Solution Approach 1:
The patent implements a feedback mechanism where the serializer continuously monitors the service provider's queue status and service rate. When the service provider queue is full or at critical levels, the serializer receives feedback and adjusts its controlled service rate accordingly, dynamically reducing the risk of overflow while maintaining high productivity through efficient request serialization.
4Productivity
If the service provider processes requests faster than the serializer can supply them, then productivity improves, but the service provider queue may empty out causing idle time
Solution Approach 1:
The patent applies preliminary action by having the serializer continuously prepare and serialize service requests in advance, ensuring that the service provider queue is maintained at optimal levels. This preliminary serialization and queuing of requests ensures that when the service provider is ready to process, requests are immediately available, preventing idle time while maintaining high processing speed.
Data Source
AI summary
Provided is a method, computer program and system for controlling the flow of service requests originated by a plurality of requesters. The method includes adding an additional control mechanism, which includes a serializer and a serializer queue, between the requesters and the service provider. The serializer inhibits the requesters when the serializer queue size reaches a threshold for a period proportional to the number of requesters already waiting, the queue length and the serializer service time. When the service provider queue is full or at a critical level, the serializer is inhibited for a period of time that is the approximately the difference between the service times of the serializer and the service provider. In addition, when the service provider queue is full, the service provider service time is recalculated as a function of the serializer service time and of the time required to process requests by the service provider.


