是否存在试图最大化过程变量的控制回路?

信息处理 控制系统 控制 PID
2022-01-29 00:18:48

我正在处理来自客户端的传入数据流的远程过程调用(RPC)服务器,并寻找一种方法来限制允许的同时流的数量。

系统中存在一些瓶颈(例如 CPU 时间或 NIC 带宽),但很难预先预测需要多少流才能使其饱和,因为每个流可能对有限资源有不同的需求。

我想允许足够的流来饱和瓶颈,所以我很好地利用了我的硬件,但不要太多,因为这样每个单独的流都会得到糟糕的服务。

因为接收缓冲区的 RAM 等每个流的开销最终也会成为瓶颈,我希望吞吐量与实时流数量的关系图可能如下所示。随着流数量的增加,我们的吞吐量或多或少地线性增加,直到我们遇到瓶颈,之后事情最终开始变得更糟。

吞吐量与活动流的图表

我想做的是找到一些控制回路,让我坐在该图的顶部附近。我可以使用时间搜索来随时间改变流计数的限制,并查看服务器吞吐量以测量图表上的点,但我不知道如何收敛到最大值附近,并且即使条件发生变化也要保持在那里。

像 PID 循环这样的控制系统需要一个设定点,但这在这里没有意义,因为我事先不知道服务器能够实现的最大吞吐量是多少,而且这可能会随着时间而改变。这几乎就像我想在曲线的导数上运行一个 PID 循环,设定点为零以找到最大值,但谁知道它的动态是什么。

是否有任何众所周知的控制回路试图最大化过程变量?

0个回答
没有发现任何回复~