<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Dave,<br class=""><div apple-content-edited="true" class="">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div class=""><br class=""></div></span></div><div><blockquote type="cite" class=""><div class="">On Mar 5, 2015, at 8:58 AM, Dave Taht <<a href="mailto:dave.taht@gmail.com" class="">dave.taht@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">I let the data take me where it may. I (not) always have, but reformed</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">about 15 years ago. [1] I hope that you and your students also,  do</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">some experiments on the successors to PI and RED and DRR - and also</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">follow the data where-ever it leads you.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></blockquote></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">In 2003 we had published a paper on STPI (Self-Tuning PI). The self-tuning design accounted for variations in link capacity, presence of cross traffic (i.e. unregulated UDP flows) and variations in the number of flows being controlled. We also proved the (local, exponential) stability of our self-tuning mechanism.</div><div class=""><br class=""></div><div class="">The paper is available at <a href="http://dna-pubs.cs.columbia.edu/citation/paperfile/79/GLOBECOM_2003_STAQM.pdf" class="">http://dna-pubs.cs.columbia.edu/citation/paperfile/79/GLOBECOM_2003_STAQM.pdf</a></div><div class=""><br class=""></div><div class="">This was an evolution over our first PI design where we introduced the concept of linear controllers for AQM.</div><div class=""><br class=""></div><div class="">BTW STPI is not PIE, the differences as I see them are</div><div class=""><br class=""></div><div class="">(1) STPI explicitly accounts for cross traffic.</div><div class="">(2) STPI tunes the parameters continuously, over the entire range of loss (marking) rates unlike PIE which seems to be doing it for 3 specific values chosen ahead of time.</div><div class="">(3) The stability of the adaptive mechanism of STPI was rigorously proven in a linearized setting. </div><div class="">(4) The tradeoff between stability and responsiveness for the time constant of adaptation was made explicit.</div><div class="">(5) STPI does not, as the author of PIE stated recently "control the offset to the reference level and second moment of the latency independently”. STPI simply controls the latency, I don’t know of any way to control the second moment of any reference signal by a linear controller like PI(E), but then I do not know the details of PIE. It was a very deliberate design choice by us to introduce a linear controller like PI for AQM because of ease of implementation. We could’ve gone the route of optimal and/or non-linear controllers but we didn’t.</div><div class=""><br class=""></div><div class="">As a side note, we also designed a self-tuning version of RED that we called STRED (different from ARED) but RED suffers from some fundamental limitations so exploring that won’t be of interest.</div><div class=""><br class=""></div><div class="">So I am getting STPI and PI implemented as part of cerowrt and will release the code for anyone to play with/evaluate.</div><div class=""><br class=""></div><div class="">More than anything, it is the increased deployment of ECN that has revived an interest in AQM for me.</div><div class=""><br class=""></div><div class="">-Vishal</div><div class=""><div class=""><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class="">--</div><div class=""><a href="http://www.cs.columbia.edu/~misra/" class="">http://www.cs.columbia.edu/~misra/</a></div><br class="Apple-interchange-newline"></span></div><div class=""><br class="webkit-block-placeholder"></div></div><div class=""><br class=""></div></body></html>