[ https://issues.apache.org/jira/browse/STORM-886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14714448#comment-14714448 ]
Zhuo Liu edited comment on STORM-886 at 8/27/15 11:50 PM: ---------------------------------------------------------- Our ABP scheme implements a light-weight yet efficient back pressure scheme. It monitors certain queues in executors and exploits the callback schemes on ZooKeeper and disruptor queue for a fast-responding (in a push manner) flow control. Please check the attached figures for more details about the implementation. https://issues.apache.org/jira/secure/attachment/12752518/an%20simple%20example%20for%20backpressure.png https://issues.apache.org/jira/secure/attachment/12752521/backpressure.png was (Author: zhuoliu): Our ABP scheme implements a light-weight yet efficient back pressure scheme. It monitors certain queues in executors and exploits the callback schemes on ZooKeeper and disruptor queue for a fast-responding (in a push manner) flow control. Please check the attached figures for more details about the implementation. https://issues.apache.org/jira/secure/attachment/12752518/an%20simple%20example%20for%20backpressure.png ![image](https://issues.apache.org/jira/secure/attachment/12752521/backpressure.png) > Automatic Back Pressure > ----------------------- > > Key: STORM-886 > URL: https://issues.apache.org/jira/browse/STORM-886 > Project: Apache Storm > Issue Type: Improvement > Reporter: Robert Joseph Evans > Assignee: Zhuo Liu > Attachments: an simple example for backpressure.png, backpressure.png > > > This new feature is aimed for automatic flow control through the topology DAG > since different components may have unmatched tuple processing speed. > Currently, the tuples may get dropped if the downstream components can not > process as quickly, thereby causing a waste of network bandwidth and > processing capability. In addition, it is difficult to tune the > max.spout.pending parameter for best backpressure performance. Therefore, an > automatic back pressure scheme is highly desirable. > Heron proposed a form of back pressure that does not rely on acking or max > spout pending. Instead spouts throttle not only when max.spout.pending is > hit, but also if any bolt has gone over a high water mark in their input > queue, and has not yet gone below a low water mark again. There is a lot of > room for potential improvement here around control theory and having spouts > only respond to downstream bolts backing up, but a simple bang-bang > controller like this is a great start. -- This message was sent by Atlassian JIRA (v6.3.4#6332)