TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

What Toasters and Distributed Systems Might Have in Common

41 点作者 twakefield超过 6 年前

4 条评论

pwnna超过 6 年前
This article described something I&#x27;ve wanted to do for a bit: using PID (and possibly other control algorithms) to control software systems. I&#x27;ve thought about this for a bit and I have some reservations (perhaps unfounded because I&#x27;m just not that knowledgeable) actually trying to implement it in live systems:<p>1. PID tuning is somewhat non-trivial. It&#x27;s interesting to see that the author was able to tune their PID using a simulation. This is something I&#x27;ve thought about doing for a while but I don&#x27;t know how I can effectively validate that the simulation approximates reality to an reasonable extent. Sure I could build the simulator and validate it against the live system, but the resource spent doing that might be better off just improving the live system. It would be nice to have some theoretical arguments over why the simulation would be correct. Now this shows my lack of knowledge, so perhaps someone else knows how to deal with this more effectively.<p>2. Software systems these days are always changing, especially when these things are running on your servers that you&#x27;re constantly updating. Tuned PID constants are only valid for a particular system configuration (the &quot;plant&quot;). If the plant changes too much, the controller performance can degrade, or worse: it can become unstable and blow up. This makes any system controlled by the PID difficult to change: you want to avoid changes to the system because that means you have to retune the PID, which may be difficult to perform. This effectively becomes a technical debt, especially if the original author of the PID no longer works on that project (and assuming only a few knows how it works to begin with).<p>There are some other thoughts about non-linearity of software systems. Although these are routinely dealt with in the real world, it makes a topic that&#x27;s already somewhat complex even more complicated, which further adds to the non-maintainable status of the controller.<p>This all makes me feel like PID may not be the best choice in software systems, but I don&#x27;t have concrete proof either.<p>Sorry if this felt a little bit rambling. It&#x27;s something that has been on my mind for a bit but I haven&#x27;t had a chance to formalize.
评论 #18297219 未加载
评论 #18296970 未加载
评论 #18296370 未加载
aidenn0超过 6 年前
<a href="http:&#x2F;&#x2F;nikital.github.io&#x2F;pid&#x2F;" rel="nofollow">http:&#x2F;&#x2F;nikital.github.io&#x2F;pid&#x2F;</a> is really neat.<p>I do wish it either had an option for a saturated integral, or had an option for &quot;wind&quot; blowing in a particular direction as any significant change to the setpoint will make large integrals useless and small values have little use absent a force for them to counteract.
评论 #18286926 未加载
ddebernardy超过 6 年前
Wasteland? [0] [1]<p>[0]: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Wasteland_(video_game)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Wasteland_(video_game)</a><p>[1]: <a href="http:&#x2F;&#x2F;wasteland.wikia.com&#x2F;wiki&#x2F;Broken_toaster" rel="nofollow">http:&#x2F;&#x2F;wasteland.wikia.com&#x2F;wiki&#x2F;Broken_toaster</a>
stiglitz超过 6 年前
“IP warmup.” Is this an algorithm to send broadcast emails at the maximum rate that avoids ISP spam detection? I find this concept disturbing. Morals of spam aside, we have two systems clearly working at odds rather than doing productive work.